|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Franck Inscription : mars 2011 Messages : 27 ![]() |
Bonjour,
J'ai une question, peut-être un peu naïve, depuis l'introduction des bibliothèques TBB pour les processeurs à coeurs multiples. Elle pourrait s'appliquer à tous les languages basés sur une machine virtuelle qui se veut compatible entre systèmes informatiques, donc aussi à Java, C# ou OCaml. Pour OCaml, ou F#, elle me semble à nouveau plus critique du fait de l'intéret pour le calcul scientifique de ces langages. Voilà : si les TBB apportent, d'après le site d'Intel, un plus par rapport aux threads pour les traitements massifs, ils impliquent de faire remonter les spécificités de l'architecture du processeur au niveau de l'application elle-même, et plus seulement dans l'optimisation de la machine virtuelle. Ce que j'ai vu dans un téléchargement gratuit de la bibliothèque TBB d'Intel m'a donné l'impression que faire remonter cette forme de parallélisme au niveau de l'application, en "masquant" les détails d'implémentation liés à l'architecture Intel, en tuait beaucoup le potentiel. Pensez-vous que les coeurs multiples peuvent bloquer l'évolution des langages à base de machine virtuelle, qui ne pourront bénéficier de cette nouvelle puissance de calcul (pour autant que mon impression soit fondée) ? Merci. |
|
|
00
|
|
|
#2 | |
|
Membre Expert
![]() Inscription : mars 2002 Messages : 944 ![]() |
Je connais mal les TBB. Je lis dans leur FAQ :
Citation:
Il y a déjà ça en F#, en standard. Il existe un bon support pour la programmation parallèle, facile d'utilisation. C'est .NET qui gère la thread-pool et je pense qu'on peut leur faire confiance sur les performances. F# fournit des fonctions comme Array.Parallel.iter, Array.Parallel.collect, etc. Le parallélisme se combine aussi bien avec du code asynchrone (voir l'objet async). J'attends de voir leur version de TBB pour .NET pour me faire une idée plus précise et voir ce que ça apporte exactement (l'intérêt pour le C++ me semble évident). En attendant, je pense que F# répond suffisamment bien aux besoins dans ce domaine. |
|
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Franck Inscription : mars 2011 Messages : 27 ![]() |
Merci beaucoup. J'avais téléchargé F# juste avant de poser ma question, et dans la mesure où on reste sur .NET 4.0 et les machines récentes sous Windows, ça a l'air en effet très intéressant et plus accessible que la bibliothèque TBB.
J'ai l'impression à lire la description de la nouvelle TBB 3.0 qu'elle est maintenant accessible aux autres plate-formes et compilateurs (dont gcc), grâce à (ce que je crois comprendre être) une nouvelle norme C++ 0x qui inclut le lambda calcul. J'imagine qu'OCaml emboîtera le pas sous peu... si ce n'est déjà fait. La couche "traitements", c'est quand même le terrain de jeu privilégié de ces langages et des nouveaux processeurs multi-coeurs.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com