PDC09: Patterns of Parallel Programming: A Tutorial on Fundamental Patterns and Practices for Parallelism
Comme chaque année, les festivités de la PDC débutent par une journée d'ateliers thématiques marquants l'actualité Microsoft. Avec la prochaine sortie de Visual Studio 2010, Microsoft se dote d'une réponse technique de premier choix pour retrouver le "Free Lunch" (Herb Sutter 2005 "The Free Lunch Is Over"). Alors, lorsque la PDC09 propose un atelier consacré aux fondamentaux des Patterns Parallèles, l'équipe DevPara ne pouvait pas manquer l'évènement, sachant que la journée débutait par une Introduction animée par Monsieur Herb Sutter (Software Architect chez Microsoft). Sans aucune prétention mais avec beaucoup d'élégance Herb, nous a fait quelques confessions comme par exemple : "Nous serions tous restés bien volontiers en mono-cœur, et moi le premier. Mais les modifications matériels (multi-cœurs) imposent au monde logiciel une révolution non voulue mais incontournable". En d'autres termes, la programmation parallèle est inéluctable ! Oui, la programmation est un art difficile, le vocabulaire est confus et pas toujours très explicite, mais rappelez-vous lorsqu'on parlait d'interface graphique en 1970, de développement objet en 1990, ces notions n'étaient pas forcément comprises de tous.
Le passé nous a montré qu'une technologie mettait du temps à s'imposer dans nos esprits comme une évidence. Aujourd'hui le parallélisme est encore peu connu et sa nature complexe le rend difficilement audible auprès des développeurs métiers. Mais à l'instar des Patterns du GOF, les patterns de la programmation parallèles seront demain reconnus et pratiqués par l'essentiel des développeurs métiers.
La transition avec la session suivante nous a semblée évidente: Présentation des Patterns Parallèle animée par Ade Miller, Development Manager chez Microsoft dans la division patterns & practices group (p&p). La session reprenait largement les propos du fameux livre "Patterns For Parallel Programming".
L'éssentiel de la démarche de décomposition parallèle citée dans le livre a été présentée avec détails en y apportant quelques aménagements afin de mieux adhérer à l'offre Microsoft.
Mais nous aurons l'occasion de revenir sur ces Patterns Parallèles dans le cadre des prochains TechDays 2010.
Une fois les patterns présentés, la session suivante animé par notre ami Stephen Toub nous a permis d'illustrer l'implémentation des ces Patterns Parallèle principalement en .NET, mais en rappelant si besoin leurs équivalents en C++ (Microsoft & Intel) et même en Java 7.
Un grand coup de chapeau à Stephen pour la qualité de sa prestation: implémentation "Live" de l'essentiel des APIs TPL tout en expliquant par l'exemple des sujets pointus comme le "False Sharing" et le "Work Stealing". Bref, une session passionnante à regarder sans modération dès la publication du Webcast :-)
C'est avec une session consacrée aux Patterns Parallels dans le monde HPC animé par Richard Ciapala (Software Design Engineer for the HPC Server Runtime team chez Microsoft) que la journée s'est terminée.
Dans les faits, l'animateur a passé pas mal de temps à nous présenter la nouvelles version le HPC Server 2008 beta 1, ce qui nous a parfois fait perdre le fil du sujet, mais il faut bien reconnaitre que passer après Stephen Toub ce n'est pas facile :-)
L'équipe DevPara
Comments
- Anonymous
November 16, 2009
ohhh, y en a qui ont trop de la chance d'être à la PDC. Bon ils sont dispos quand les webcasts ;) ?