Microsoft et Intel s'allient pour les applications multithread
Vous n’êtes sans doute pas sans savoir l’importance de l’optimisation des programmes pour tirer parti des multiples coeurs des processeurs d’aujourd’hui. Sans un découpage de l’application en un nombre adéquat de files d’instructions indépendantes (les fameux threads), un processeur quad core ne sera pas plus rapide qu’un mono-core, puisque seul un de ses coeurs sera exploité. Mais la programmation multithread n’est pas aussi facile qu’il y paraît.
Intel et Microsoft ont donc décidé d’aider à la recherche sur les applications multithread et le calcul parallèle. Les deux sociétés vont créer en deux centres de recherche sur le calcul parallèle au sein de deux universités américaines : University of California, Berkeley (UC Berkeley), et University of Illinois at Urbana-Champaign (UIUC). Intel et Microsoft apporteront au total 20 millions de dollars, auxquels s’ajouteront 8 millions de l’UCB et 7 millions de l’UIUC.
- Autres,
- microsoft ,
- intel ,
- multithread
- Nvidia : les Forceware 174.53 sont là
- Une 3870 X2 overclockée chez Asus
- Test : GeForce 9800 GX2 (MatBe)
- Tests photo : Panasonic FS20, Kodak M863 (Les Numériques)
- L'iPhone lira le Flash
- Folle croissance pour Apple
- Le Service Pack 1 de Vista est enfin là
- Filiales d'Asus fabriqueraient la Xbox 360
- Baisse de la demande en portable
- Windows Live Messenger sur votre mobile (Tom's Guide)
- La Geforce 9800 GTX retardée au 1er avril !
- OLED : à défaut d'écrans on aura des lampes
- G.Skill : 16Go de DDR2-800 en CAS 5
- Preview : Phenom B3
- Kingston dope ses clés USB
- La P45D3 Platinum de MSI en photo
- G10IL : le mini-notebook d'ECS
- Test de Overclocked : un vrai jeu d'aventure ?





Mais sur quoi portent exactement ces recherches ?
oui car c'est vraiment pas nouveau la programmation distribuée...
Mais sur quoi portent exactement ces recherches ?
C'est noté dans le titre :
Microsoft et Intel s'allient pour les applications multithread
Les processeurs multicoeurs d'aujourd'hui n'expriment vraiment leur puissance que si les programmes sont optimisés pour en tirer parti
Et les multithread sont l'avenir des CPU. Ce n'est plus la fréquence (comme il y a 3 ans)!!
C'est noté dans le titre :
Non.
les applications multithread
C'est extrêmement vague et vaste. C'est comme ''la physique des particules''
Et donc je repose ma question :
Mais sur quoi portent exactement ces recherches ?
B'en nan, c'est pas vague du tout !
Intel livre des compilateurs pour ses CPUs, et c'est au compilateur de rendre le programme au maximum multitreads. Ils veulent réduire le role des "astuces de programmation" pour rendre la programmation plus simple et donc aider à son utilisation massive
oui mais y a pas besoin de recherche pour ça !
le parallélisme c'est enseigné depuis des décennies ! et les outils/concepts/librairies nécessaires à de tels développements existent depuis très longtemps aussi...
donc je ne vois pas sur quoi leur recherches vont porter, si ce n'est sponsoriser des labos d'universités pour que leur programmes tournent mieux sur les processeurs intel et donc faire un coup de pub...
oui mais y a pas besoin de recherche pour ça !
le parallélisme c'est enseigné depuis des décennies ! et les outils/concepts/librairies nécessaires à de tels développements existent depuis très longtemps aussi...donc je ne vois pas sur quoi leur recherches vont porter, si ce n'est sponsoriser des labos d'universités pour que leur programmes tournent mieux sur les processeurs intel et donc faire un coup de pub...
justement c'est pour optimiser cela qu'ils vont travaillier ensemble.
je crois pas que les programmes de calcul qui sont massivement multithreadés aient attendu ces messieurs pour que ça soit optimisé...
Bah justement non. Les programmes multi-threadés ne sont pas si nombreaux : par exemple winrar ne tire pas partie des 4 cores d'un Q6600 ... Et c'est pour que les compilateurs interprètent les scripts de façon à créer des programmes multi-threadés sans avoir a utilisé de "astuces" lors de la programmation que intel et microsoft créent ces labos. Je vois pas ce qu'il y a de mal a ca ... Mais bon ceux qui peuvent pas blairer microsoft ou intel trouvent toujours des arguments ...
visiblement t'as pas du programmer souvent toi, y a pas besoin d'astuces du tout pour multithreader... et forcément si tes références c'est winrar comme logiciel de calcul ^^
Personnellement, je suis déjà content si mon OS se charge de diviser les applications sur les différents cores. C'est pas compliqué et ça améliore les performances générales, quand même. Quoique c'est le bottleneck est rarement le processeur, à part dans les applis de calcul.

AlGrenadine > Un compresseur de fichier est un excellent exemple de logiciel de calcul. Rien de choquant ici.
Et au passage, tu sais que tu déformes sa vision du mot "astuce" au moment où il l'a écrit
visiblement t'as pas du programmer souvent toi, y a pas besoin d'astuces du tout pour multithreader... et forcément si tes références c'est winrar comme logiciel de calcul ^^
Les logiciels courant ne sont pas des logiciels de calcul (qui valent une fortune c'est pas pour rien).
le but est d'optimiser les produits courant pas le logiciels de calcul qui le sont deja.
ben pour ça pas besoin de recherche, suffit que les développeurs prévoient du multithread au moment du développement... c'est pour ça que je vois pas l'objet des recherches
Simplifier les choses ...
Pourquoi on a inventé la fermeture éclaire ? Pour que ce soit plus simple et plus rapide. Pourtant tout le monde sait comment marchent des boutons ...
oui mais dans le parallélisme on a déjà pas mal simplifié les choses depuis 40 ans... si tu crois qu'y a pas déjà eu énormément de chercheurs qui ont bossé là dessus... donc je vois pas comment simplifier qqchose qui est déjà simple puisque très conceptuel
Il y a plusieurs façon d'utiliser les différents core d'un processeur:
Soit en utilisant plusieurs thread dans le programme. Chacun des threads s'occupant d'effectuer des tâches spécifiques (soit des tâches identiques mais sur des données différentes, soit des tâches distinctes).
Mais ce mode de programmation est déjà largement exploité (dans le sens où il y a tout ce qu'il faut en programmation pour gérer correctement les threads). Le problème est qu'il n'est pas toujours facile de trouver
comment séparer une action en différents threads.
Ou alors (c'est sur ces points qu'Intel et Microsoft travaille je pense), fournir des outils de programmation permettant de paralléliser automatiquement une séquence d'éxecution dans un programme.
J'ai vu que Microsoft fournissait déjà un SDK permettant par exemple de paralléliser sur différents core l'execution d'une boucle for dans un programme.
Exemple: for(int i=0;i
http://www.zdnet.fr/special/whiteb [...] 426,00.htm
Désolé pour le lien vers un concurrent de Tom's Hardware mais je pense que ça peut faire avancer le débat.
AlGrenadine dans cette série de vidéo, le monsieur qui vient de chez Intel explique que pour gérer le multipross il faut utiliser des librairies autre que iostream par exemple pour le C++, et donc une boucle for par exemple à son équivalent multitreadé, et c'est certes assez bien fait, mais pas naturel pour une majorité de programmeurs (d'ou la campagne de sensibilisation des dévellopeurs à l'aide de ces vidéos)
Le but pour tout le monde c'est que la librairie la plus standar de la programmation devienne 100% multipross sans aucun besoin de reflexion par le dévellopeur, une gestion transparente quoi !
C'est toujours la même chose : on propose (impose ?) une technologie (le multicoeur) en ventant ses supposés mérites sans s'assurer que le reste suive, se qui fait qu'on ne bénéficie pas des atouts de ladite technologie ! Il serait temps de revoir sa copie messieurs les marketeurs et ingénieurs !
On réinvente la programation ?
Ben oui mourben, pour des doubles coeurs il faut une double programmation, pour des quadruples coeurs une quadruple programmation et ainsi de suite
J'ai vu que Microsoft fournissait déjà un SDK permettant par exemple de paralléliser sur différents core l'execution d'une boucle for dans un programme.
Exemple: for(int i=0;i
La suite au prochain épisode ?