Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Les processeurs massivement parallèles ont-ils un avenir ?
Selon Linus Torvalds, « le parallélisme est une grosse perte de temps »

Le , par Amine Horseman

0PARTAGES

2  2 
Linus Torvalds, créateur du noyau Linux, déclare dans un forum de discussion que « le parallélisme est un énorme gaspillage de temps », ceci en réponse à la question de Jouni Osmala sur le parallélisme et la lenteur de certains programmes.

Selon Torvalds, il y aurait une idée reçue selon laquelle « le parallélisme est en quelque sorte plus efficace ». En effet, il explique que les processeurs avec des cores faibles et sans caches sont « horribles » et « stupides » à moins qu’on ait un flux de données massivement régulier, en faisant allusion au flux graphique.

« Les grands caches sont efficaces » continue-t-il, « et parler d’une mise à l’échelle allant jusqu’à une centaine de cores est juste de la folie […] Les utilisateurs n’ont généralement pas besoin de plus de quatre cores, et vous ne pouvez pas en ajouter plus sans utiliser beaucoup trop d’énergie ».

Pour lui, seuls le domaine graphique et les applications serveur ont réellement besoin du parallélisme, ce qui ne représente « qu’une petite partie du marché » ajoute-t-il dans le fil des commentaires, et encore ceci ne dépasserait pas les « 16 cores ». Il défend son avis en expliquant qu’aucune personne sensée ne va créer des processeurs avec des cores plus petits et plus faibles juste pour en mettre plus ; « la seule raison de mettre des cores plus petits et plus faibles c’est que vous voulez diminuer la consommation en énergie, et par conséquent, vous n’allez pas en mettre beaucoup de ces cores »

Il conclut son argumentation en disant que les développeurs n’ont pas vraiment besoin de paralléliser leur code, et que ceux qui disent que « le calcul parallèle est le futur » se trompent.

Source : Real Worl Tech Forum

Et vous ?

Êtes-vous d’accord avec l’avis de Linus Torvalds ?

Que pensez-vous du futur du calcul massivement parallèle ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de santana2006
Membre régulier https://www.developpez.com
Le 06/01/2015 à 13:00
En lisant bien ce qu'il a cité, je pense que c'est pas con, c'est logique.

Il ne généralise pas. L'idée transmise est que le parallélisme est utilisé dans certains cas de figure, et que pour un usage standard (bureautique ou traitements usuels) une machine standard et raisonnable en terme de capacités matérielles (entre autres les caractéristiques de(s) processeur(s)) est suffisante.

En d'autres mots : Pas besoin d'avoir une Ferrari pour rouler en ville.
15  2 
Avatar de laerne
Membre éprouvé https://www.developpez.com
Le 06/01/2015 à 12:40
Ca devient la presse people ici. Linus écrit un post de forum, oh le monde s'effondre, linus a émit un avis négatif contre l'avis de la majorité, ... mais rendez-vous compte, ma p'tite dame ? La seule différence, c'est qu'au lieu d'avoir des sordides histoires de fesses, on a de sordides histoire de "X a dit que la technologie Y était de la merde !!!"
13  2 
Avatar de kolodz
Modérateur https://www.developpez.com
Le 06/01/2015 à 13:32
Citation Envoyé par laerne Voir le message
Ca devient la presse people ici. Linus écrit un post de forum, oh le monde s'effondre, linus a émit un avis négatif contre l'avis de la majorité, ... mais rendez-vous compte, ma p'tite dame ? La seule différence, c'est qu'au lieu d'avoir des sordides histoires de fesses, on a de sordides histoire de "X a dit que la technologie Y était de la merde !!!"
J'approuve l'idée que cité une personne hors contexte et la posant comme une vérité absolu pour cette personne est une idiotie.

Citation Envoyé par TheLastShot Voir le message
Monsieur Torvalds devrait peut-être arrêter de croire que lui seul a les bonnes réponses à tout et n'importe quoi. Il y a bien d'autres domaines que le "graphisme" (qui en soit est déjà assez vague car on a l'infographie, le traitement d'image/vidéo, modélisation/rendu, tout ce qui touche au cinéma et au jeu vidéo...) et les applications "serveurs" (là encore assez vague car derrière ce nom peut se cacher beaucoup de sous domaines (serveurs de jeu, traitement de requête, serveurs web, tout le délire autour du cloud). Et à côté de ça il en reste bien d'autre comme, pour n'en citer que quelques uns qui me viennent de suite à l'esprit : l'intelligence artificielle, statistiques, calculs mathématiques de grande envergures (comme les simulations physiques).

BREF ! Peut-être que mon seigneur Torvald ne se préoccupe que de ceux pour qui l'informatique c'est savoir ouvrir un terminal pour taper 2-3 grep, mais ça ne veut pas dire que le reste est un gaspillage de temps.
Je trouve ta réaction primaire par rapport à ce sujet. Tu ne prends absolument pas compte du fait que Torvalds écris un post dans un forum qui se trouve être la réponse à l'argumentation d'une autre personne qui exprime son point de vue à une 3ième personne ... Dans une discutions de plus de 10 messages !

Par exemple tu rétorque qu'il y a les applications "serveurs", sauf que dans la conversation cité :

Citation Envoyé par anon (anon.delete@this.anon.com), December 8, 2014 5:44 am
Assuming we're talking about client computing here (Linus already ruled out HPC and databases).
Les IA, statistique et calcul complexe ne sont juste pas dans le sujet de la discutions. D’ailleurs, Torvald dans l'un de ces messages précise justement l'utilité du parallélisme dans ces cas.

Sachant que la discutions ne se finit pas au poste cité, vous devriez lire la suite. La discutions est beaucoup plus nuancé que ce qui est cité ici :

Citation Envoyé par Jouni Osmala
My point was you cannot really do much more powerful x86 core , and if you want more performance the parallerism is only direction to go, and scaling trends give us enough to go for 16 cores on client.
Citation Envoyé par Linus Torvalds
Given the choice between 16 cores and 4, I suspect most people will take 4, and prefer more cache, graphics, and integrated networking etc.
Et ça continue... Avec d'autres personnes et d'autres points de vue... (il y a 30 messages sur la discutions... Pas mon sujet... Je vais pas plus loin )

Torvald dit ce qu'il veux à qui il veux. Si tu as des arguments contre tu peux totalement aller répondre à cette discutions et exprimer ton point de vue directement à Torvald.

Si le sujet de developpez.com ne te plait pas, il faut te rendre compte que ce n'est pas M. Torvald qui est venu étalé son point de vue sur developpez.com. Il t'est possible de crié au scandale sur la citation "hors contexte" ou de l'inutilité de sujet sur des discutions "en cours" dans la communauté. Le sujet date de septembre, ce n'est pas non plus une actualité brulante...

Sinon je peux cité les dernières propos du thread :
Citation Envoyé par Patrick Chase (patrickjchase.delete@this.gmail.com), December 9, 2014 2:08 pm
Yes. People touting new SW methodologies tend to underestimate (at best) or trivialize (more often) the costs associated with porting huge legacy codebases of this sort. Mozilla isn't even all that old as such things go.
Ceci étant sur le fait qu'on a des milliers d'applications qui ne sont juste pas penser pour le parallélisme et que même si demain on sort une machine qui tue sa race en parallélisme, il faudrait 20 ans pour en voir les effets... (Mon interprétation de la discutions)

Cordialement,
Patrick Kolodziejczyk.

source :
http://www.realworldtech.com/forum/?...rpostid=146704
8  0 
Avatar de 23JFK
Membre expérimenté https://www.developpez.com
Le 06/01/2015 à 13:51
Il dit seulement que tout n'est pas parallélisable ; et que rien ne l'est à l'infini. Ce sont plutôt des évidences.
6  0 
Avatar de Juda-Priest
Membre actif https://www.developpez.com
Le 06/01/2015 à 14:26
Citation Envoyé par TheLastShot Voir le message
Et à côté de ça il en reste bien d'autre comme, pour n'en citer que quelques uns qui me viennent de suite à l'esprit : l'intelligence artificielle, statistiques, calculs mathématiques de grande envergures (comme les simulations physiques).
Hmmm Pour moi tes exemples s'effectuent justement sur des serveurs dédié à cela... En principe... Non ? Je me trompe ?

Citation Envoyé par Dasoft Voir le message
Le calcul parallèle est un monde que Linus ne connaît pas apparemment. Bien sûr il ne faut pas en abuser mais dans certains cas le gain est énorme.
Le calcul parallèle permet d'utiliser la puissance des cores intelligemment, à moins que Linus souhaite rester dans l'aberration actuelle qui est que presque aucun programme ne sait gérer la puissance de nos processeurs...
C'est justement ce que avance Torvald, beaucoup de machine ont 4 coeurs alors qu'elles en font pas grand chose à part consommer de l'énergie. Donc maintenant si on rajoute des coeurs en plus, on consomme beaucoup. Donc on peut soit les réduire pour garder le même nombre de coeurs (Ce qui complément stupide) ou repasser sur 4 coeurs... Enfin il y-a plus d'une vingtaine de message avec des arguments et différents point de vue, c'est carrément indigeste après 5 postes, donc difficile de vraiment juger.

Citation Envoyé par tpericard Voir le message
Bonjour,

En quoi M. Torvald est il qualifié pour émettre ce genre de jugement ?

Pour ma part et mon utilisation d'un ordinateur, j'aurais bien besoin d'avoir au moins 8 cores sur ma machine. Pourquoi ? Pour mes besoins de tests logiciels, je suis "adepte" (si l'on peut dire) des machines virtuelles. Et si 4 cores suffisent déjà pour en utiliser au moins 1 (avec 2 cores et le reste sur la machine hôte), j'aurais une utilisation bien plus confortable, avec 1 machine virtuelle 4 core tournant sur une machine hôte 4 core.
Encore un exemple d'applications auquel M. Torvald n'avait pas pensé Il est vrai que le domaine du test a souvent été (et demeure encore trop souvent) le parent pauvre de l'informatique
Faut pas déconner non plus... Tu es quand même un cas particulier alors qu'il parle de généralités... Et puis je peux te garantir que pour tester les noyaux linux, les machines qui supporte plusieurs VM c'est presque leur quotidien...

Citation Envoyé par benjani13 Voir le message
Il faudrait peut être arrêter de relever le moindre troll de Linus Torvalds.
Et arrêter de croire que chaque phrase qu'ils postent sur internet est un troll... Bien qu'il ne s'en cache pas d'être quelqu'un qui n'a pas sa langue dans sa poche, sans même le lire vous avez juger déjà son poste...

Citation Envoyé par santana2006 Voir le message
En lisant bien ce qu'il a cité, je pense que c'est pas con, c'est logique.

Il ne généralise pas. L'idée transmise est que le parallélisme est utilisé dans certains cas de figure, et que pour un usage standard (bureautique ou traitements usuels) une machine standard et raisonnable en terme de capacités matérielles (entre autres les caractéristiques de(s) processeur(s)) est suffisante.

En d'autres mots : Pas besoin d'avoir une Ferrari pour rouler en ville.
C'est très vulgarisé, mais c'est l'idée.
6  0 
Avatar de nirgal76
Membre chevronné https://www.developpez.com
Le 06/01/2015 à 13:54
Pour une fois, je suis d'accord avec ce type, le parallélisme massif pour le commun des mortels n'est pas utile, ça l'est surtout pour les serveurs et le domaine graphique. Et à coté de ça, le coeur lui même n'évolue plus énormément. Dommage, mon Flight Simulator X n'aime que la puissance de calcul, pas le parallélisme
5  0 
Avatar de
https://www.developpez.com
Le 06/01/2015 à 13:18
Avant de debattre il faudrait se poser les bonnes questions. Qui en est la cible et comment peut-on bénéficier des architectures multicœur ? Les applications sont vastes et peuvent se décomposer en 2 concepts de base: la parallélisme de taches et celui de données (qui peuvent coexister au sein d'une même application).

Il est vrai qu'une large majorité d'applications grand public sont principalement mono tache. Mais que faire avec tout le reste des applications professionnelles qui bénéficient a la fois de cœurs performants individuellement (cache efficiency, branch prediction, vectorization, ...) mais aussi et surtout du parallélisme ? Nombreuses sont les applications de ce type en effet. Tout le High Performance Computing très oriente avant tout vers le parallélisme de données et non de taches (sismique, biologie, mécanique, ...) qui vise la plupart du temps a résoudre des Partial Derivative Equations sur des datasets très larges. Le monde du Computer Graphics qui englobe plus de disciplines qu'on ne le pense (a la fois intenses en parallélisme de données et de taches donc idéales pour le multicœur): l'industrie du jeux vidéo, du cinéma et la Conception Assistée par Ordinateur en tête.

Qu'en est-il de la limite physique de gravure ? Il ne faut pas oublier que tant que les futures technologies et architectures hardware ne se seront pas démocratisées, le parallélisme de cœurs est la seule solution efficace pour obtenir des performances accrues (tant que les applications sont conçues en amont pour en bénéficier bien entendu, car la scalabilite n'est pas un automatisme malheureusement, surtout lors du multitâche qui implique souvent une intercommunication coûteuse).

Mais ce qui va tout bouleverser et changer la donne pour tout le monde sont les prochaines mémoires a hautes performances (Non Volatile Memory, 3D stacked memory) comme le memristor ou encore les technologies hybrides a base de photonique. Car en effet le goulot d’étranglement pour beaucoup d'applications dites memory bound est la bande passante mémoire. Il faudrait aussi aborder la question de la couche software qui devient inadaptee et a la limite du praticable pour exploiter pleinement les capacités de telles architectures. Bref je pourrais m’étendre sur le sujet d'avantage tout cela pour dire que je ne partage pas du tout la vision de ce Monsieur car avant de cracher sur une architecture juste pour faire le buzz, il faut avant tout considérer l'ENSEMBLE des applications ciblées a ce jour. L'architecture multicœur a encore de beaux jours devant elle :-) !
4  1 
Avatar de behall
Membre à l'essai https://www.developpez.com
Le 08/01/2015 à 17:58
Contrairement a ce que certains semblent avoir compris, l'article de Linus Torvalds critique une vision de l'avenir ou les machines devraient être MASSIVEMENT parallèles.
Effectivement il a des mots durs envers le parallélisme en général, mais c'est bien un avenir Massivement parallèle qu'il critique, relisez, il cite des centaines de cores, on est loin d'une architecture quadri-cores ni même octo-cores, même si une utilisation de machines virtuelles nombreuses n'est pas le besoin de tout le monde.
En y réfléchissant calmement effectivement les besoins de calculs massivement parallèles se limitent à des implémentation d’algorithmes mathématiques et à leurs usages dans différents domaines dont l’algorithmique graphiques (dont les besoins sont plus spécifiques pour les traitements d'images). en dehors de ces domaines la parallèlisation est moins utile (bien qu'elle puisse l'être) et pour utiliser des machines virtuelles ce sont les outils de virtualisation (et les systèmes utilisés) qui ont besoin de paralléliser et plus rarement les programmes les plus courants. En gros la parallélisation à grande échelle est plutôt un domaine de spécialistes et devrait le rester encore un certain temps.
4  1 
Avatar de TheLastShot
Membre extrêmement actif https://www.developpez.com
Le 06/01/2015 à 12:32
Monsieur Torvalds devrait peut-être arrêter de croire que lui seul a les bonnes réponses à tout et n'importe quoi. Il y a bien d'autres domaines que le "graphisme" (qui en soit est déjà assez vague car on a l'infographie, le traitement d'image/vidéo, modélisation/rendu, tout ce qui touche au cinéma et au jeu vidéo...) et les applications "serveurs" (là encore assez vague car derrière ce nom peut se cacher beaucoup de sous domaines (serveurs de jeu, traitement de requête, serveurs web, tout le délire autour du cloud). Et à côté de ça il en reste bien d'autre comme, pour n'en citer que quelques uns qui me viennent de suite à l'esprit : l'intelligence artificielle, statistiques, calculs mathématiques de grande envergures (comme les simulations physiques).

BREF ! Peut-être que mon seigneur Torvald ne se préoccupe que de ceux pour qui l'informatique c'est savoir ouvrir un terminal pour taper 2-3 grep, mais ça ne veut pas dire que le reste est un gaspillage de temps.
10  8 
Avatar de codec_abc
Membre confirmé https://www.developpez.com
Le 06/01/2015 à 16:35
Citation Envoyé par marsupial Voir le message
Sauf que l'avenir est à l'autoroute deux fois 1 000 voies. Donc l'infrastructure devra bien suivre. Imaginez la panne géante du Nasdaq lors de l'introduction de Facebook, il ne s'agissait que de quelques millions d'ordres qui doivent être traités à la seconde. Donc développer une application massivement parallèle va devenir bêtement indispensable. Pour tout. Et rien. Les exemples des serveurs de jeux inaccessibles en période de fêtes en est la preuve.
Ca dépend encore du cas d'usage. Ton smartphone n'a pas besoin de 10 000 cœurs pour que tu puisse jouer à candy crush (si si je sais bien que tu y joues ). Je pense que la plupart des applications utilisées quotidiennement sont des applis mobiles et/ou de bureautiques. Ca fait donc un bon paquet de développeurs qui peuvent continuer à faire leur travail sans se soucier de traitement parallèles pendant un bon moment encore.
2  0