<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Développement parallèle</title><link>http://blogs.msdn.com/devpara/default.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Développer au quotidien des applications accessibles sous Windows</title><link>http://blogs.msdn.com/devpara/archive/2009/12/10/d-velopper-au-quotidien-des-applications-accessibles-sous-windows.aspx</link><pubDate>Thu, 10 Dec 2009 21:14:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9935368</guid><dc:creator>ericv</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/devpara/comments/9935368.aspx</comments><wfw:commentRss>http://blogs.msdn.com/devpara/commentrss.aspx?PostID=9935368</wfw:commentRss><description>&lt;p&gt;Bonjour, &lt;/p&gt;  &lt;p&gt;Un billet, qui n’a pas de rapport avec la programmation parallèle, mais pour relayer une initiative qui nous tient à coeur.&lt;/p&gt;  &lt;p&gt;En effet aura lieu le 4 Janvier prochain, un séminaire gratuit sur le développement d’applications accessibles. Autrement dit, des applications qui soient accessibles pour les utilisateurs qui ont un handicap, notamment visuel.&lt;/p&gt;  &lt;p&gt;Voici l’adresse pour vous inscrire &lt;a title="http://www.braillenet.org/accessiweb/seminaires/aria_aw_ms/" href="http://www.braillenet.org/accessiweb/seminaires/aria_aw_ms/"&gt;http://www.braillenet.org/accessiweb/seminaires/aria_aw_ms/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Eric&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9935368" width="1" height="1"&gt;</description></item><item><title>Mise à jour du package “Parallel Programming with .NET 4 Beta 2 Samples”</title><link>http://blogs.msdn.com/devpara/archive/2009/12/07/mise-jour-du-package-parallel-programming-with-net-4-beta-2-samples.aspx</link><pubDate>Mon, 07 Dec 2009 20:45:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9933691</guid><dc:creator>ericv</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/devpara/comments/9933691.aspx</comments><wfw:commentRss>http://blogs.msdn.com/devpara/commentrss.aspx?PostID=9933691</wfw:commentRss><description>&lt;p&gt;Le précieux complément à l’offre parallèle .NET a été mis à jour et cette fois les développeurs Visual Basic y trouveront de nombreux exemples dans leur langage préféré.&lt;/p&gt;  &lt;p&gt;A télécharger absolument &lt;a href="http://code.msdn.microsoft.com/ParExtSamples/Release/ProjectReleases.aspx?ReleaseId=3354"&gt;ici&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Bonne programmation parallèle :-)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;A bientôt,&lt;/p&gt;  &lt;p&gt;Bruno&lt;/p&gt;  &lt;p&gt;&lt;a href="mailto:boucard.bruno@free.fr"&gt;boucard.bruno@free.fr&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9933691" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/devpara/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.msdn.com/devpara/archive/tags/Exemples/default.aspx">Exemples</category><category domain="http://blogs.msdn.com/devpara/archive/tags/PLINQ/default.aspx">PLINQ</category><category domain="http://blogs.msdn.com/devpara/archive/tags/TPL/default.aspx">TPL</category></item><item><title>Visual Studio Talk Show : Les nouveautés annoncées à la PDC09</title><link>http://blogs.msdn.com/devpara/archive/2009/12/04/visual-studio-talk-show-les-nouveaut-s-annonc-es-la-pdc09.aspx</link><pubDate>Fri, 04 Dec 2009 09:03:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9932401</guid><dc:creator>ericv</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/devpara/comments/9932401.aspx</comments><wfw:commentRss>http://blogs.msdn.com/devpara/commentrss.aspx?PostID=9932401</wfw:commentRss><description>&lt;P&gt;Pour conclure la &lt;A href="http://www.microsoftpdc.com/" mce_href="http://www.microsoftpdc.com/"&gt;PDC09&lt;/A&gt;, accompagné de &lt;A href="http://blogs.developpeur.org/redo/default.aspx" mce_href="http://blogs.developpeur.org/redo/default.aspx"&gt;Grégory Renard&lt;/A&gt;, nous avons échangé avec &lt;A href="http://guy.dotnet-expertise.com/" mce_href="http://guy.dotnet-expertise.com/"&gt;Guy Barrette&lt;/A&gt;, pour enregistrer sur place une session &lt;A href="http://www.visualstudiotalkshow.com/" mce_href="http://www.visualstudiotalkshow.com/"&gt;Visual Studio Talk Show&lt;/A&gt; entièrement consacrée aux nouveautés annoncées à la &lt;A href="http://www.microsoftpdc.com/" mce_href="http://www.microsoftpdc.com/"&gt;PDC09&lt;/A&gt;. Pendant une bonne heure, nous avons parlé cette &lt;A href="http://www.microsoftpdc.com/" mce_href="http://www.microsoftpdc.com/"&gt;PDC09&lt;/A&gt; avec ses grandes annonces en partageant sans tabou nos impressions. 
&lt;TABLE border=0 cellSpacing=0 cellPadding=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top width=155&gt;
&lt;P&gt;&lt;A href="http://www.visualstudiotalkshow.com/" mce_href="http://www.visualstudiotalkshow.com/"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image002 border=0 alt=clip_image002 src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/VisualStudioTalkShowLesnouveautsannonces_8D85/clip_image002_26e62b90-901f-47f3-ae51-2b804a9aaac1.gif" width=168 height=187 mce_src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/VisualStudioTalkShowLesnouveautsannonces_8D85/clip_image002_26e62b90-901f-47f3-ae51-2b804a9aaac1.gif"&gt;&lt;/A&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD vAlign=top width=911&gt;
&lt;P&gt;Le postcast est disponible &lt;U&gt;&lt;A href="http://www.visualstudiotalkshow.com/Archives/110-25novembre2009-BrunoB.html" mce_href="http://www.visualstudiotalkshow.com/Archives/110-25novembre2009-BrunoB.html"&gt;ici&lt;/A&gt;&lt;/U&gt;. &lt;BR&gt;&lt;/P&gt;
&lt;P&gt;A bientôt, &lt;/P&gt;
&lt;P&gt;Bruno&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P&gt;Bruno Boucard (&lt;A href="mailto:boucard.bruno@free.fr" mce_href="mailto:boucard.bruno@free.fr"&gt;boucard.bruno@free.fr&lt;/A&gt;)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9932401" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/devpara/archive/tags/PDC09/default.aspx">PDC09</category></item><item><title>MSDN Magazine de décembre et la parallélisassions des données avec PLINQ</title><link>http://blogs.msdn.com/devpara/archive/2009/12/04/msdn-magazine-de-d-cembre-et-la-parall-lisassions-des-donn-es-avec-plinq.aspx</link><pubDate>Fri, 04 Dec 2009 08:35:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9932395</guid><dc:creator>ericv</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/devpara/comments/9932395.aspx</comments><wfw:commentRss>http://blogs.msdn.com/devpara/commentrss.aspx?PostID=9932395</wfw:commentRss><description>&lt;p&gt;C’est Igor Ostrovsky développeur principal sur l'offre parallèle LINQ, qui nous propose un article sur &lt;u&gt;&lt;a href="http://msdn.microsoft.com/fr-fr/magazine/ee819128(en-us).aspx"&gt;les patterns parallèles avec PLINQ&lt;/a&gt;&lt;/u&gt; agrémentés conseils pour éviter les mauvaises surprises. &lt;/p&gt;  &lt;p&gt;A lire absolument,&lt;/p&gt;  &lt;p&gt;A bientôt,&lt;/p&gt;  &lt;p&gt;Bruno&lt;/p&gt;  &lt;p&gt;&lt;a href="mailto:bruno.boucard@free.fr"&gt;boucard.bruno@free.fr&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9932395" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/devpara/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.msdn.com/devpara/archive/tags/ARTICLES+MSDN/default.aspx">ARTICLES MSDN</category><category domain="http://blogs.msdn.com/devpara/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://blogs.msdn.com/devpara/archive/tags/PLINQ/default.aspx">PLINQ</category><category domain="http://blogs.msdn.com/devpara/archive/tags/Patterns+Parall_26002300_232_3B00_les/default.aspx">Patterns Parall&amp;#232;les</category></item><item><title>PDC09: Les Videos de la PDC sont disponibles</title><link>http://blogs.msdn.com/devpara/archive/2009/11/25/pdc09-les-videos-de-la-pdc-sont-disponibles.aspx</link><pubDate>Wed, 25 Nov 2009 06:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9928394</guid><dc:creator>ericv</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/devpara/comments/9928394.aspx</comments><wfw:commentRss>http://blogs.msdn.com/devpara/commentrss.aspx?PostID=9928394</wfw:commentRss><description>&lt;P&gt;&lt;STRONG&gt;Les vidéos&amp;nbsp;de la PDC09 consacrées au parallélisme sont dispotnibles depuis peu.&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Session théorique sur la gestion des états&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://ecn.channel9.msdn.com/o9/pdc09/wmvhigh/FT07.wmv"&gt;&lt;FONT color=#dd4a21&gt;The State of Parallel Programming&lt;/FONT&gt;&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Code managé (.NET) dans&amp;nbsp;Visual Studio 2010&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://ecn.channel9.msdn.com/o9/pdc09/wmvhigh/FT03.wmv"&gt;&lt;FONT color=#dd4a21&gt;Manycore and .NET 4: A Match Made in Visual Studio 2010&lt;/FONT&gt;&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://ecn.channel9.msdn.com/o9/pdc09/wmvhigh/FT21.wmv"&gt;&lt;FONT color=#dd4a21&gt;PLINQ: LINQ, but Faster!&lt;/FONT&gt;&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://ecn.channel9.msdn.com/o9/pdc09/wmvhigh/FT20.wmv"&gt;&lt;FONT color=#dd4a21&gt;F# for Parallel and Asynchronous Programming&lt;/FONT&gt;&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Code Natif&amp;nbsp;&amp;nbsp;Visual Studio 2010&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://ecn.channel9.msdn.com/o9/pdc09/wmvhigh/FT19.wmv"&gt;&lt;FONT color=#dd4a21&gt;C++ Forever: Interactive Applications in the Age of Manycore&lt;/FONT&gt;&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://ecn.channel9.msdn.com/o9/pdc09/wmvhigh/SVR10.wmv"&gt;&lt;FONT color=#dd4a21&gt;Lighting up Windows Server 2008 R2 Using the ConcRT on UMS&lt;/FONT&gt;&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://ecn.channel9.msdn.com/o9/pdc09/wmvhigh/SVR18.wmv"&gt;&lt;FONT color=#dd4a21&gt;Developing Applications for Scale-Up Servers Running Windows Server 2008 R2&lt;/FONT&gt;&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;HPC et Incubation&amp;nbsp;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://ecn.channel9.msdn.com/o9/pdc09/wmvhigh/SVR01.wmv"&gt;&lt;FONT color=#dd4a21&gt;Accelerating Applications Using Windows HPC Server 2008&lt;/FONT&gt;&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Recherche ertand Incubation&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://ecn.channel9.msdn.com/o9/pdc09/wmvhigh/VTL02.wmv"&gt;&lt;FONT color=#dd4a21&gt;Axum: A .NET Language for Safe and Scalable Concurrency&lt;/FONT&gt;&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://ecn.channel9.msdn.com/o9/pdc09/wmvhigh/VTL32.wmv"&gt;&lt;FONT color=#dd4a21&gt;Concurrency Fuzzing &amp;amp; Data Races&lt;/FONT&gt;&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://ecn.channel9.msdn.com/o9/pdc09/wmvhigh/SVR17.wmv"&gt;&lt;FONT color=#dd4a21&gt;Data-Intensive Computing on Windows HPC Server with DryadLINQ&lt;/FONT&gt;&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://ecn.channel9.msdn.com/o9/pdc09/wmvhigh/VTL04.wmv"&gt;&lt;FONT color=#dd4a21&gt;Rx: Reactive Extensions for .NET&lt;/FONT&gt;&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://ecn.channel9.msdn.com/o9/pdc09/wmvhigh/FT36.wmv"&gt;&lt;FONT color=#dd4a21&gt;Future of Garbage Collection&lt;/FONT&gt;&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://ecn.channel9.msdn.com/o9/pdc09/wmvhigh/FT11.wmv"&gt;&lt;FONT color=#dd4a21&gt;Future Directions for C# and Visual Basic&lt;/FONT&gt;&lt;/A&gt;&amp;nbsp; &lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9928394" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/devpara/archive/tags/PDC09/default.aspx">PDC09</category></item><item><title>PDC09: dernier jour</title><link>http://blogs.msdn.com/devpara/archive/2009/11/20/pdc09-dernier-jour.aspx</link><pubDate>Fri, 20 Nov 2009 07:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9926041</guid><dc:creator>ericv</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/devpara/comments/9926041.aspx</comments><wfw:commentRss>http://blogs.msdn.com/devpara/commentrss.aspx?PostID=9926041</wfw:commentRss><description>&lt;P&gt;Nous débutons cette dernière journée de la PDC09, par une session parallèle animée par Dana Groff (Senior Program Manager chez Microsoft). Nous avons déjà évoqué le &lt;A href="http://blogs.msdn.com/devpara/archive/2009/01/20/visual-c-2010-concurrency-runtime-introduction-au-concurrency-runtime.aspx" mce_href="http://blogs.msdn.com/devpara/archive/2009/01/20/visual-c-2010-concurrency-runtime-introduction-au-concurrency-runtime.aspx"&gt;Concurrency Runtime sur ce blog&lt;/A&gt;, mais avec la sortie de Windows 7 x64 et de Windows Server R2, celui-ci apporte une nouvelle dimension: l'exploitation des User Mode Scheduled Threads (UMS). En une phrase UMS permet à une application de définir sa politique d'ordonnancement au lieu de laisser le système d'exploitation décidé de lui-même tout en offrant un logique suspension de threads plus efficace et beaucoup moins couteuse. Mais là encore nous en avions &lt;A href="http://blogs.msdn.com/devpara/archive/2009/03/09/windows-7-et-le-concurrency-runtime.aspx" mce_href="http://blogs.msdn.com/devpara/archive/2009/03/09/windows-7-et-le-concurrency-runtime.aspx"&gt;parlé sur ce blog&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09dernierjour_7560/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09dernierjour_7560/image_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09dernierjour_7560/image_thumb.png" width=244 height=181 mce_src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09dernierjour_7560/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Disponible uniquement en version 64bit, ce nouveau type de thread offre au Concurrency Runtime des opportunités de performances exceptionnelles. Rappelons que les librairies PPL et Agent Asynchrone reposent sur ce moteur d'exécution, mais que la prochaine version des librairies TBB et OpenMP d'Intel Parallèle Studio 2.0 viendra s'appuyer sur le Concurrency Runtime. Si votre système supporte UMS, alors par défaut tous les Schedulers des librairies respectives utilisées dans votre code utiliseront le mode UMS, dans le cas contraire le mode UMS n'est pas activé. Cependant vous pouvez parfaitement contrôler les options de Scheduling de manière programmatique. Notons que Dana, nous a aussi rappelé et démontrer la gestion du Work Stealing du Scheduler et la gestion dynamique du gestionnaire de ressources avec beaucoup de pédagogie. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09dernierjour_7560/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09dernierjour_7560/image_4.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09dernierjour_7560/image_thumb_1.png" width=226 height=244 mce_src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09dernierjour_7560/image_thumb_1.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Bref, une superbe session très intéressante que le grand James Reinders (Chief Evangelist and Director of Marketing for Intel’s Software Development Products) à partager avec nous. Une session a regarder sans modération. &lt;/P&gt;
&lt;P&gt;La session parallèle suivante s'intitulait "Axum: A .NET Language for Safe and Scalable Concurrency". Visual Studio 2010 est sans aucun doute une version exceptionnelle vis à vis du parallélisme, mais il serait réducteur de ne pas s'intéresser aux technologies parallèle actuellement en incubation comme Axum par exemple. Ce langage orienté rôle propose une offre est très séduisante en bien des points car elle permet d'envisager un monde parallèle à la fois plus simple et plus confortable. En effet, Axum s'inscrit dans les technologies parallèles les moins risquées sur le plan des pièges du parallélisme. C'est donc Nikkas Gustafsson (Software Architect Parallel Computing Platform chez Microsoft) responsable du langage Axum qui nous a fait une superbe présentation, utilisant de belles métaphores afin d'introduire les motivations du langage Axum. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09dernierjour_7560/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09dernierjour_7560/image_6.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09dernierjour_7560/image_thumb_2.png" width=244 height=172 mce_src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09dernierjour_7560/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Cependant, on ne peut pas entreprendre de programmer Axum sans en connaitre les concepts: Agent, Channel, Domain et Schéma. Un Channel est canal entre deux agents qui peuvent être éventuellement sur deux machines différentes. Un Agent es un composant similaire à un thread mais avec un accès limité à un état partagé mutable. Un Domain est un état partagé par plusieurs Agent. Un Schema est une définition garantissant la sérialisation des messages échangés ...&lt;/P&gt;
&lt;P&gt;A travers quelques exemples très simples afin d'illustrer les concepts et la syntaxe d'Axum, nous avons découvert un langage d'avenir qui permettra à de nombreux développeurs de profiter du parallèlisme sans trop de difficultée. &lt;/P&gt;
&lt;P&gt;Naturellement, Axum est encore en phase d'incubation mais nous vous conseillons de le &lt;A href="http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx" mce_href="http://msdn.microsoft.com/en-us/devlabs/dd795202.aspx"&gt;télécharger&lt;/A&gt; afin de découvrir par vous même ce super langage. &lt;/P&gt;
&lt;P&gt;Pour la dernière session parallèle de la journée, nous avons choisi "DirectCompute: Capturing the Teraflop". Aujourd'hui le programmation GPU est déjà une réalité dans de nombreux sociétés (et notamment le monde de la finance). Avec l'arrivé de DirectX 11, il devient possible d'exploiter les cartes graphiques pour paralléliser massivement des traitements sur des GPU. La session animé par Chas. Boyd (Architecte chez Microsoft) à débuté par une comparaison qualitative entre CPU et GPU. Naturellement au regard des performances annoncé par les GPU&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09dernierjour_7560/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09dernierjour_7560/image_8.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09dernierjour_7560/image_thumb_3.png" width=244 height=154 mce_src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09dernierjour_7560/image_thumb_3.png"&gt;&lt;/A&gt;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Puis nous avons suivi la décomposition du code pour exécuter du code sur la carte graphique depuis l'initialisation de la librairie DirectCompute en passant par l'exécution sur la carte graphique puis en récupérant le resultat des&amp;nbsp;traitements.&amp;nbsp;Techniquement&amp;nbsp;le code est essentiellement en langage C et &amp;nbsp;en Shader (script d'exécution dont la syntaxe ressemble à du C sans pointeurs).&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09dernierjour_7560/image_10.png" mce_href="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09dernierjour_7560/image_10.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09dernierjour_7560/image_thumb_4.png" width=244 height=180 mce_src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09dernierjour_7560/image_thumb_4.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Comme dans &lt;A href="http://blogs.msdn.com/devpara/archive/2009/11/19/direct3d11-et-le-multi-threading.aspx" mce_href="http://blogs.msdn.com/devpara/archive/2009/11/19/direct3d11-et-le-multi-threading.aspx"&gt;la session d'hier&lt;/A&gt; nommée "Direct3D11 et le multi-threading", un pipeline de décomposition en plusieurs phases permet de compiler un fichier de type shader de manière optimisé. &lt;/P&gt;
&lt;P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"&gt;Enfin, on apprend en fin de session qu'une version managed de DirectCompute sera bien disponible pour le plus grand bonheur des développeurs .NET. Nous ne manquerons pas de vous prévenir dès que cette version sortira..&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Voila qui termine le parcourt parallèle&amp;nbsp;pour cette PDC09.&lt;/P&gt;
&lt;P&gt;Les Vidéos de sessions commencent à être lignes sur le site &lt;A href="http://microsoftpdc.com/Videos" mce_href="http://microsoftpdc.com/Videos"&gt;PDC09&lt;/A&gt;, c'est donc le moment de les visionner !!!&lt;/P&gt;
&lt;P&gt;Enfin, nous reviendrons prochainement sur cette PDC09 car comme nous l'annoncions dans le&amp;nbsp;billet précèdent, nous avons réalisé quelques interviews de gens de Microsoft Corp.&lt;/P&gt;
&lt;P&gt;L'équipe DevPara&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9926041" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/devpara/archive/tags/Concurrency+Runtime/default.aspx">Concurrency Runtime</category><category domain="http://blogs.msdn.com/devpara/archive/tags/Intel+Parallel+Studio/default.aspx">Intel Parallel Studio</category><category domain="http://blogs.msdn.com/devpara/archive/tags/Concurrency+Runtime+Windows+7/default.aspx">Concurrency Runtime Windows 7</category><category domain="http://blogs.msdn.com/devpara/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.msdn.com/devpara/archive/tags/Axum/default.aspx">Axum</category><category domain="http://blogs.msdn.com/devpara/archive/tags/Agent/default.aspx">Agent</category><category domain="http://blogs.msdn.com/devpara/archive/tags/PDC09/default.aspx">PDC09</category></item><item><title>PDC09: The State of Parallel Programming</title><link>http://blogs.msdn.com/devpara/archive/2009/11/19/pdc09-the-state-of-parallel-programming.aspx</link><pubDate>Thu, 19 Nov 2009 15:41:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9925480</guid><dc:creator>ericv</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/devpara/comments/9925480.aspx</comments><wfw:commentRss>http://blogs.msdn.com/devpara/commentrss.aspx?PostID=9925480</wfw:commentRss><description>&lt;p&gt;Cette session très conceptuelle animé par &lt;a href="http://www.microsoft.com/presspass/exec/techfellow/Smith/default.mspx"&gt;Burton Smith&lt;/a&gt; (Technical Fellow chez Microsoft) a permis de présenter de manière détaillée comment gérer la notion d’état en programmation parallèle. &lt;/p&gt;  &lt;p&gt;Les langages orientés messages ou bien les langages fonctionnels n'échappent aux difficultés de la concurrence une fois engagés dans la programmation&amp;#160; parallèle. Pour maintenir les invariants dans un contexte concurrent, l'utilisation de transaction atomique est sans doute la meilleure réponse. Une implémentation du concept de Mémoire Transactionnelle peu être envisagée à condition que le coût d'atomicité et d'isolation reste raisonnable au regard de l'application concernée. En d'autre mot la granularité du code engagé dans une transaction mémoire ne doit pas entrainer un volume de ressources pénalisant pour le bon fonctionnent générale de l'application (en parallélisme c’est la moindre des choses). &lt;/p&gt;  &lt;p&gt;Bref une session très intéressante, mais peut être un peu trop théorique, une démonstration aurait sans doute permis d'illustrer une concrétisation de tous ces concepts si importants en programmation parallèle.&lt;/p&gt;  &lt;p&gt;L’équipe DevPara&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9925480" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/devpara/archive/tags/PDC09/default.aspx">PDC09</category></item><item><title>Direct3D11 et le multi-threading</title><link>http://blogs.msdn.com/devpara/archive/2009/11/19/direct3d11-et-le-multi-threading.aspx</link><pubDate>Thu, 19 Nov 2009 09:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9925227</guid><dc:creator>ericv</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/devpara/comments/9925227.aspx</comments><wfw:commentRss>http://blogs.msdn.com/devpara/commentrss.aspx?PostID=9925227</wfw:commentRss><description>&lt;DIV style="PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FLOAT: none; PADDING-TOP: 0px" id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:65ed0499-a421-4f33-99df-ed7dc4b4b37d class=wlWriterEditableSmartContent&gt;Mots clés Technorati : &lt;A href="http://technorati.com/tags/PDC09" rel=tag mce_href="http://technorati.com/tags/PDC09"&gt;PDC09&lt;/A&gt;&lt;/DIV&gt;
&lt;P&gt;3ième journée à la PDC 2009, et comme d’hab à Los Angeles, il a fait un temps magnifique aux alentours de 22 degrés que du bonheur. &lt;/P&gt;
&lt;P&gt;Elle a commencée sans surprise, par une session plénière, qui elle nous a réservée un certain nombre de surprises et d’annonces importantes de sorties béta de produit comme Silverligh 4, Office 2010 et d’autres sur lesquels nous ne reviendrons pas dans ce billet, car elles ne concernent pas le développement parallèle. Néanmoins, la plus grande surprise a été l’annonce, de l’offre gratuite d’un Tablet PC multi-touch spéciale Windows 7, pour tous les participants. Attention touchante que notre Bruno à beaucoup apprécié, même si le clavier est qwerty.&lt;/P&gt;
&lt;P&gt;Bon revenons à nos moutons, Aujourd’hui, pas beaucoup de sessions dédiées au parallélisme si ce n’est celle de Monsieur Burton Smith qui nous a expliqué de main de maitre pendant une heure, la gestion des états dans la programmation parallèle. Bruno reviendra rapidement dessus dans un prochain billet.&lt;/P&gt;
&lt;P&gt;Nous avons ensuite dirigé nos pas vers une session, plutôt dédié aux développeurs de jeux, sur la programmation Graphique 3D à l’aide de l’API Direct3D.&lt;/P&gt;
&lt;P&gt;Comme vous le savez Direct3D s’appuie sur l’accélération Hardware donc sur les cartes graphiques qui sont munis d’une multitude de cœurs et qui permet une exécution massivement parallèle.&lt;/P&gt;
&lt;P&gt;L’envoi d’instructions, de primitives, se fait via une architecture dite en pipeline, qui permet de traiter les triangles étapes par étapes avant de les fournir à la carte graphique qui les exécutera alors en parallèle.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/a1f7e5f73b32_891B/Image1_2.png" mce_href="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/a1f7e5f73b32_891B/Image1_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=Image1 border=0 alt=Image1 src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/a1f7e5f73b32_891B/Image1_thumb.png" width=307 height=433 mce_src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/a1f7e5f73b32_891B/Image1_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Jusqu’à Direct3D10, ce pipeline, n’est pas réentrant, ce qui veut dire qu’un seul thread à un instant T, peux y accéder. En d’autres termes, si vous possédez une machine de course avec un Core I7, 4 cœurs hyper-threadé, cela n’accéléra pas forcément les derniers jeux à la mode. &lt;/P&gt;
&lt;P&gt;Avec Direct3D11 cela change, car ils décomposent un certain nombre d’étapes dans le Pipeline, pour permettent la création sur plusieurs threads de listes de commandes et de primitives, avant de les resynchroniser dans le pipeline et de les renvoyer à la carte graphique.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/a1f7e5f73b32_891B/Image2_2.png" mce_href="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/a1f7e5f73b32_891B/Image2_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=Image2 border=0 alt=Image2 src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/a1f7e5f73b32_891B/Image2_thumb.png" width=409 height=340 mce_src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/a1f7e5f73b32_891B/Image2_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Avec Direct3D11 apparaît également une nouvelle fonctionnalité, DirectCompute, qui permet de faire du &lt;A href="http://fr.wikipedia.org/wiki/General-Purpose_Processing_on_Graphics_Processing_Units" mce_href="http://fr.wikipedia.org/wiki/General-Purpose_Processing_on_Graphics_Processing_Units"&gt;GPGPU&lt;/A&gt; à l’aide de &lt;A href="http://www.microsoft.com/downloads/details.aspx?familyid=9F943B2B-53EA-4F80-84B2-F05A360BFC6A&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?familyid=9F943B2B-53EA-4F80-84B2-F05A360BFC6A&amp;amp;displaylang=en"&gt;Compute Shader&lt;/A&gt;. Un shader étant un script, écrit dans un langage proche du C++ le &lt;A href="http://msdn.microsoft.com/fr-fr/library/ms810449.aspx" mce_href="http://msdn.microsoft.com/fr-fr/library/ms810449.aspx"&gt;HLSL&lt;/A&gt;, qui permet d’effectuer des calculs, des transformations ou autres effets. Mais comme la session aura lieu demain, (ou plutôt tout à l’heure) nous y reviendrons dans un prochain billet.&lt;/P&gt;
&lt;P&gt;Mais aujourd’hui nous n’avons pas perdu notre temps, car pour notre grand bonheur, nous avons pues interviewer,&amp;nbsp; &lt;STRONG&gt;Stephen Toub&lt;/STRONG&gt; (Program Manager sur TPL), &lt;STRONG&gt;Rick Molloy&lt;/STRONG&gt; (Program Manager sur PPL et les agents) et &lt;STRONG&gt;Boris Jabes&lt;/STRONG&gt; (Program Manager sur VC++), qui ont tous bien voulue avec gentillesse répondre à nos questions.&lt;/P&gt;
&lt;P&gt;Alors restez à l’écoute car nous publierons très prochainement les versions traduites en français des vidéos des ces interviews.&lt;/P&gt;
&lt;P&gt;L’équipe DevPara&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9925227" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/devpara/archive/tags/PDC09/default.aspx">PDC09</category></item><item><title>Construire des applications Modernes avec Visual C++ 2010</title><link>http://blogs.msdn.com/devpara/archive/2009/11/18/construire-des-applications-modernes-avec-visual-c-2010.aspx</link><pubDate>Wed, 18 Nov 2009 09:03:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9924184</guid><dc:creator>ericv</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/devpara/comments/9924184.aspx</comments><wfw:commentRss>http://blogs.msdn.com/devpara/commentrss.aspx?PostID=9924184</wfw:commentRss><description>&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b5ea5735-afb7-445e-869d-3b1942977230" class="wlWriterEditableSmartContent"&gt;Mots clés Technorati : &lt;a href="http://technorati.com/tags/PDC09" rel="tag"&gt;PDC09&lt;/a&gt;&lt;/div&gt;  &lt;p&gt;Après une session plénière réservée à &lt;a href="http://msdn.microsoft.com/fr-fr/azure/default.aspx"&gt;Azure&lt;/a&gt;, ou nous avons vue quand même du code C voir C++ mixé avec la directive _asm, déployé et exécuté dans le cloud !!!! , nous sommes séance tenante, allez voir notre ami Boris Jabes (Senior Program Manager Visual Studio) nous parler des nouveautés de Visual C++ 2010. Alors une fois n’est pas coutume, nous dérogerons à la règle, nous ne vous parlerons pas exclusivement dans ce billet, de code parallèle.&lt;/p&gt;  &lt;p&gt;Boris est parti d’une application simple MFC qui affiche des images.&lt;/p&gt;  &lt;p&gt;Ce n’est pas l’application la plus révolutionnaire du marché, mais l’intention de Boris était de nous montrer les différentes nouveautés, de l’IDE de Visual Studio, du langage C++, de nouvelles APIs de Windows 7, des MFC en codant à la volée toute ou partie des fonctionnalités de l’application.&lt;/p&gt;  &lt;p&gt;Tout d’abord l’application est munie de Rubans qui sont construit à l’aide de l’éditeur de ressources, et d’une barre d’outils prévue à cette effet, alors qu’avec Visual Studio 2008 SP1, il faut les coder à la main.&lt;/p&gt;  &lt;p&gt;Le rendu des images est effectué à l’aide de l’API &lt;a href="http://msdn.microsoft.com/fr-fr/magazine/ee413543.aspx"&gt;Direct2D&lt;/a&gt; de Windows 7, avec des effets d’animations qui rajoute du dynamisme à l’application. En un mot lorsqu’on retaille la fenêtre, les images se déplacent et se positionnent dans la fenêtre avec des effets de transitions afin de s’adapter à la nouvelle taille.&lt;/p&gt;  &lt;p&gt;Ensuite, il a souhaité étendre son application afin de retrouver des images directement depuis le Web. A partir de Windows 7 il est désormais facile d’intégrer un service Web au sein de son application C++, à l’aide des Windows Web Services API (&lt;a href="http://msdn.microsoft.com/en-us/library/dd430435(VS.85).aspx"&gt;WWSAPI&lt;/a&gt;). Mais une application connecté sur le Web, n’est pas toujours réactive, voir disponible. Il a donc pris le parti d’utiliser les nouvelles librairies de programmation parallèle PPL (que vous avez l’habitude de côtoyer sur ce blog) pour exécuter des opérations asynchrones non bloquante.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/ConstruiredesapplicationsModernesavecVis_8BA4/Image1_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Image1" border="0" alt="Image1" src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/ConstruiredesapplicationsModernesavecVis_8BA4/Image1_thumb.png" width="559" height="345" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Vous noterez dans cette image, deux notations un peu particulière issue du standard &lt;a href="http://www.microsoft.com/france/vision/mstechdays09/Webcast.aspx?EID=da289bd7-d4f1-4604-b564-7529a3267a1b"&gt;C++0X&lt;/a&gt; qu’implémente le compilateur VC ++ 2010.&lt;/p&gt;  &lt;p&gt;Le mot clé auto (pas celui d’origine), qui permet de simplifier la syntaxe de déclaration, car le compilateur fera de l’inférence de type. Et la syntaxe [](){} pour exprimer une lambda expression.&lt;/p&gt;  &lt;p&gt;Il en a profité pour nous démontrer toutes les nouveautés de l’IDE qui permettent à un développeur C++ d’être encore plus productif. &lt;/p&gt;  &lt;p&gt;- &lt;b&gt;Navigate-to&lt;/b&gt;, efficace et performant&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/ConstruiredesapplicationsModernesavecVis_8BA4/Image2_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Image2" border="0" alt="Image2" src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/ConstruiredesapplicationsModernesavecVis_8BA4/Image2_thumb.png" width="570" height="424" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;- auto complétion sur #include : La capacité à sélectionner le fichier include dans une liste.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/ConstruiredesapplicationsModernesavecVis_8BA4/Image3_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Image3" border="0" alt="Image3" src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/ConstruiredesapplicationsModernesavecVis_8BA4/Image3_thumb.png" width="282" height="220" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;- Le Class Wizard, et l’extensibilité de l’éditeur, nous avons désormais dans Visual Studio 2010, un gestionnaire d’extension, qui permet d’aller chercher sur le Web des addins complémentaires.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/ConstruiredesapplicationsModernesavecVis_8BA4/Image4_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Image4" border="0" alt="Image4" src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/ConstruiredesapplicationsModernesavecVis_8BA4/Image4_thumb.png" width="373" height="269" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Il nous a démontré tellement de nouveautés dans Visual Studio 2010 pour les développeurs C++ que nous ne couvrons pas ici, que nous pouvons que vous encourager à visionner la Vidéo de cette session dès sa disponibilité que l’équipe DevPara ne manquera pas de relayer.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;L’équipe DevPara&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9924184" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/devpara/archive/tags/C_2B002B00_0x/default.aspx">C++0x</category><category domain="http://blogs.msdn.com/devpara/archive/tags/PPL/default.aspx">PPL</category><category domain="http://blogs.msdn.com/devpara/archive/tags/PDC09/default.aspx">PDC09</category></item><item><title>PDC09: Patterns of Parallel Programming: A Tutorial on Fundamental Patterns and Practices for Parallelism</title><link>http://blogs.msdn.com/devpara/archive/2009/11/17/pdc09-patterns-of-parallel-programming-a-tutorial-on-fundamental-patterns-and-practices-for-parallelism.aspx</link><pubDate>Tue, 17 Nov 2009 07:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9923410</guid><dc:creator>ericv</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/devpara/comments/9923410.aspx</comments><wfw:commentRss>http://blogs.msdn.com/devpara/commentrss.aspx?PostID=9923410</wfw:commentRss><description>&lt;P&gt;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 &lt;A href="http://msdn.microsoft.com/en-gb/vstudio/dd582936.aspx" mce_href="http://msdn.microsoft.com/en-gb/vstudio/dd582936.aspx"&gt;Visual Studio 2010&lt;/A&gt;, Microsoft se dote d'une réponse technique de premier choix pour retrouver le "Free Lunch" (Herb Sutter 2005 "&lt;A href="http://www.gotw.ca/publications/concurrency-ddj.htm" mce_href="http://www.gotw.ca/publications/concurrency-ddj.htm"&gt;The Free Lunch Is Over&lt;/A&gt;"). Alors, lorsque la &lt;A href="http://microsoftpdc.com/" mce_href="http://microsoftpdc.com/"&gt;PDC09&lt;/A&gt; 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 &lt;A href="http://herbsutter.wordpress.com/" mce_href="http://herbsutter.wordpress.com/"&gt;Herb Sutter&lt;/A&gt; (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.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09PatternsofParallelProgrammingATutor_71B0/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09PatternsofParallelProgrammingATutor_71B0/image_2.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09PatternsofParallelProgrammingATutor_71B0/image_thumb.png" width=427 height=342 mce_src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09PatternsofParallelProgrammingATutor_71B0/image_thumb.png"&gt;&lt;/A&gt;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;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 &lt;A href="http://c2.com/cgi/wiki$?GangOfFour" mce_href="http://c2.com/cgi/wiki$?GangOfFour"&gt;Patterns du GOF&lt;/A&gt;, les patterns de la programmation parallèles seront demain reconnus et pratiqués par l'essentiel des développeurs métiers.&lt;/P&gt;
&lt;P&gt;La transition avec la session suivante nous a semblée évidente: Présentation des Patterns Parallèle animée par &lt;A href="http://www.ademiller.com/blogs/tech/" mce_href="http://www.ademiller.com/blogs/tech/"&gt;Ade Miller&lt;/A&gt;, Development Manager chez Microsoft dans la division patterns &amp;amp; practices group (p&amp;amp;p). La session reprenait largement les propos du fameux livre "Patterns For Parallel Programming".&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.amazon.com/Patterns-Parallel-Programming-Timothy-Mattson/dp/0321228111" mce_href="http://www.amazon.com/Patterns-Parallel-Programming-Timothy-Mattson/dp/0321228111"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09PatternsofParallelProgrammingATutor_71B0/image_11.png" width=186 height=244 mce_src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09PatternsofParallelProgrammingATutor_71B0/image_11.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;L'éssentiel de la démarche de décomposition parallèle citée dans le livre&amp;nbsp;a été présentée avec détails en y apportant quelques aménagements afin de mieux adhérer à l'offre Microsoft.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09PatternsofParallelProgrammingATutor_71B0/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09PatternsofParallelProgrammingATutor_71B0/image_6.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09PatternsofParallelProgrammingATutor_71B0/image_thumb_2.png" width=419 height=328 mce_src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09PatternsofParallelProgrammingATutor_71B0/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Mais nous aurons l'occasion de revenir sur ces Patterns Parallèles dans le cadre des prochains &lt;A href="http://www.microsoft.com/france/mstechdays/default.aspx" mce_href="http://www.microsoft.com/france/mstechdays/default.aspx"&gt;TechDays 2010&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;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 &amp;amp; Intel) et même en Java 7. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09PatternsofParallelProgrammingATutor_71B0/image_10.png" mce_href="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09PatternsofParallelProgrammingATutor_71B0/image_10.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09PatternsofParallelProgrammingATutor_71B0/image_thumb_4.png" width=416 height=339 mce_src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09PatternsofParallelProgrammingATutor_71B0/image_thumb_4.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;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 :-) &lt;/P&gt;
&lt;P&gt;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. &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09PatternsofParallelProgrammingATutor_71B0/image_8.png" mce_href="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09PatternsofParallelProgrammingATutor_71B0/image_8.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09PatternsofParallelProgrammingATutor_71B0/image_thumb_3.png" width=406 height=352 mce_src="http://blogs.msdn.com/blogfiles/devpara/WindowsLiveWriter/PDC09PatternsofParallelProgrammingATutor_71B0/image_thumb_3.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Dans les faits, l'animateur a passé pas mal de temps à nous présenter la nouvelles version le &lt;A href="http://connect.microsoft.com/HPC/content/content.aspx?ContentID=6923" mce_href="http://connect.microsoft.com/HPC/content/content.aspx?ContentID=6923"&gt;HPC Server 2008 beta 1&lt;/A&gt;, ce qui nous&amp;nbsp;a parfois fait perdre le fil du sujet, mais il faut bien reconnaitre que passer après Stephen Toub ce n'est pas facile :-)&lt;/P&gt;
&lt;P&gt;L'équipe DevPara&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9923410" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/devpara/archive/tags/Mod_26002300_232_3B00_lisation+Parall_26002300_232_3B00_le/default.aspx">Mod&amp;#232;lisation Parall&amp;#232;le</category><category domain="http://blogs.msdn.com/devpara/archive/tags/PDC09/default.aspx">PDC09</category><category domain="http://blogs.msdn.com/devpara/archive/tags/Patterns+Parall_26002300_232_3B00_les/default.aspx">Patterns Parall&amp;#232;les</category></item><item><title>Exemples complémentaires pour les développeurs C++ parallèles</title><link>http://blogs.msdn.com/devpara/archive/2009/11/16/exemples-compl-mentaires-pour-les-d-veloppeurs-c-parall-les.aspx</link><pubDate>Mon, 16 Nov 2009 14:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9922960</guid><dc:creator>ericv</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/devpara/comments/9922960.aspx</comments><wfw:commentRss>http://blogs.msdn.com/devpara/commentrss.aspx?PostID=9922960</wfw:commentRss><description>&lt;P&gt;Les exemples complémentaires de l'offre parallèle C++ pour Visual Studio 2010 Beta 2 sont disponibles. A l'instar de la même initiative dans l'offre .NET, vous trouverez dans ce packages des éléments importants pour vos développements avec les libraires PPL, Agents et Concurrency Runtime. Donc un package à &lt;A href="http://code.msdn.microsoft.com/concrtextras/Release/ProjectReleases.aspx?ReleaseId=3519" mce_href="http://code.msdn.microsoft.com/concrtextras/Release/ProjectReleases.aspx?ReleaseId=3519"&gt;télécharger&lt;/A&gt; absolument si travailler avec l’offre parallèle C++.&lt;/P&gt;
&lt;P&gt;A bientôt,&lt;/P&gt;
&lt;P&gt;Bruno&lt;/P&gt;
&lt;P&gt;boucard.bruno@free.fr&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9922960" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/devpara/archive/tags/C_2B002B00_0x/default.aspx">C++0x</category><category domain="http://blogs.msdn.com/devpara/archive/tags/PPL/default.aspx">PPL</category><category domain="http://blogs.msdn.com/devpara/archive/tags/Concurrency+Runtime/default.aspx">Concurrency Runtime</category><category domain="http://blogs.msdn.com/devpara/archive/tags/Agent/default.aspx">Agent</category><category domain="http://blogs.msdn.com/devpara/archive/tags/Exemples/default.aspx">Exemples</category></item><item><title>PATTERNS OF PARALLEL PROGRAMMING</title><link>http://blogs.msdn.com/devpara/archive/2009/11/10/patterns-of-parallel-programming.aspx</link><pubDate>Tue, 10 Nov 2009 10:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9920077</guid><dc:creator>ericv</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/devpara/comments/9920077.aspx</comments><wfw:commentRss>http://blogs.msdn.com/devpara/commentrss.aspx?PostID=9920077</wfw:commentRss><description>&lt;P&gt;Stephen Toub, Senior Program Manager dans l'équipe Parallel Computing Platform (PCP), nous propose une première version d’un&amp;nbsp;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=86b3d32b-ad26-4bb8-a3ae-c1637026c3ee&amp;amp;displaylang=en"&gt;&lt;STRONG&gt;&lt;FONT color=#006bad&gt;document&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&amp;nbsp;détaillé traitant des&amp;nbsp;designs patterns parallèles en C# 4.0.&lt;/P&gt;
&lt;P&gt;Les patterns parallèles sont indispensables pour développer des applications parallèles faciles à maintenir. &lt;/P&gt;
&lt;P&gt;Si vous ne connaissez pas ces patterns,&amp;nbsp;je vous engage à lire ce document, car aujourd’hui il n’existe pas beaucoup d’ouvrages sur le sujet, et encore moins illustrés avec du C#.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Bonne lecture ;-)&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Bruno&lt;/P&gt;
&lt;P&gt;&lt;A href="mailto:boucard.bruno@free.fr"&gt;&lt;STRONG&gt;&lt;FONT color=#006bad&gt;boucard.bruno@free.fr&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9920077" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/devpara/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.msdn.com/devpara/archive/tags/Documentation/default.aspx">Documentation</category><category domain="http://blogs.msdn.com/devpara/archive/tags/Mod_26002300_232_3B00_lisation+Parall_26002300_232_3B00_le/default.aspx">Mod&amp;#232;lisation Parall&amp;#232;le</category><category domain="http://blogs.msdn.com/devpara/archive/tags/Patterns+Parall_26002300_232_3B00_les/default.aspx">Patterns Parall&amp;#232;les</category></item><item><title>BockingCollection Demonstration in Producer-Consumer Scenarios</title><link>http://blogs.msdn.com/devpara/archive/2009/10/30/bockingcollection-demonstration-in-producer-consumer-scenarios.aspx</link><pubDate>Fri, 30 Oct 2009 06:28:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9915136</guid><dc:creator>ericv</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/devpara/comments/9915136.aspx</comments><wfw:commentRss>http://blogs.msdn.com/devpara/commentrss.aspx?PostID=9915136</wfw:commentRss><description>&lt;P&gt;Depuis quelques temps le site Chanel 9 offre des petits Webcasts consacrés à la programmation parallèle. &lt;/P&gt;
&lt;P&gt;Le &lt;A href="http://channel9.msdn.com/posts/philpenn/BlockingCollectionT-Demonstration-in-Producer-Consumer-Scenarios/" mce_href="http://channel9.msdn.com/posts/philpenn/BlockingCollectionT-Demonstration-in-Producer-Consumer-Scenarios/"&gt;dernier&lt;/A&gt;, animé par Josh Phillips et Stephen Toub, nous permet de nous familiariser avec avec une des nombreuses structures de synchronisation de disponible en .NET 4.0: BlockingCollection&amp;lt;T&amp;gt; dans un cadre de producteur / consommateur&lt;/P&gt;
&lt;P&gt;A bientôt,&lt;/P&gt;
&lt;P&gt;Bruno&lt;/P&gt;
&lt;P&gt;&lt;A href="mailto:boucard.bruno@free.fr" mce_href="mailto:boucard.bruno@free.fr"&gt;boucard.bruno@free.fr&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9915136" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/devpara/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.msdn.com/devpara/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://blogs.msdn.com/devpara/archive/tags/TPL/default.aspx">TPL</category></item><item><title>Complément d’information sur l’offre parallèle Visual Studio 2010 Beta 2</title><link>http://blogs.msdn.com/devpara/archive/2009/10/29/compl-ment-d-information-sur-l-offre-parall-le-visual-studio-2010-beta-2.aspx</link><pubDate>Thu, 29 Oct 2009 22:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9914981</guid><dc:creator>ericv</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/devpara/comments/9914981.aspx</comments><wfw:commentRss>http://blogs.msdn.com/devpara/commentrss.aspx?PostID=9914981</wfw:commentRss><description>&lt;P&gt;Vous trouverez dans &lt;A href="http://blogs.msdn.com/nativeconcurrency/archive/2009/10/29/what-s-new-in-beta-2-for-the-concurrency-runtime-parallel-pattern-library-and-asynchronous-agents-library.aspx" mce_href="http://blogs.msdn.com/nativeconcurrency/archive/2009/10/29/what-s-new-in-beta-2-for-the-concurrency-runtime-parallel-pattern-library-and-asynchronous-agents-library.aspx"&gt;ce billet&lt;/A&gt; de Rick Molloy un complément d’information sur l’offre parallèle C++ de Visual Studio 2010 Beta 2.&lt;/P&gt;
&lt;P&gt;Du côté de l’offre parallèle .NET, &lt;A href="http://blogs.msdn.com/pfxteam/archive/2009/10/27/9913610.aspx" mce_href="http://blogs.msdn.com/pfxteam/archive/2009/10/27/9913610.aspx"&gt;ce second billet&lt;/A&gt; permet de compléter les nouveautés apportées dans dans Visual Studio 2010 Beta 2.&lt;/P&gt;
&lt;P&gt;A Bientôt&lt;/P&gt;
&lt;P&gt;Bruno&lt;/P&gt;
&lt;P&gt;&lt;A href="mailto:boucard.bruno@free.fr" mce_href="mailto:boucard.bruno@free.fr"&gt;boucard.bruno@free.fr&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9914981" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/devpara/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://blogs.msdn.com/devpara/archive/tags/PPL/default.aspx">PPL</category><category domain="http://blogs.msdn.com/devpara/archive/tags/Agent/default.aspx">Agent</category><category domain="http://blogs.msdn.com/devpara/archive/tags/PLINQ/default.aspx">PLINQ</category><category domain="http://blogs.msdn.com/devpara/archive/tags/TPL/default.aspx">TPL</category></item><item><title>MSDN Magazine d’octobre et l’offre parallèle C++</title><link>http://blogs.msdn.com/devpara/archive/2009/10/29/msdn-magazine-d-octobre-et-l-offre-parall-le-c.aspx</link><pubDate>Thu, 29 Oct 2009 21:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9914939</guid><dc:creator>ericv</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/devpara/comments/9914939.aspx</comments><wfw:commentRss>http://blogs.msdn.com/devpara/commentrss.aspx?PostID=9914939</wfw:commentRss><description>&lt;P&gt;C’est Rick Molloy Program Manager sur l'offre parallèle C++, qui nous propose un article très didactique sur &lt;A href="http://msdn.microsoft.com/fr-fr/magazine/ee309514.aspx" mce_href="http://msdn.microsoft.com/fr-fr/magazine/ee309514.aspx"&gt;4 manières d’introduire l’offre parallèle C++&lt;/A&gt; (Parallel Pattern Library, Asynchronous Agents Library) dans nos applications en se basant sur des petits exemples concrets. &lt;/P&gt;
&lt;P&gt;A lire attentivement,&lt;/P&gt;
&lt;P&gt;A bientôt,&lt;/P&gt;
&lt;P&gt;Bruno&lt;/P&gt;
&lt;P&gt;&lt;A href="mailto:boucard.bruno@free.fr" mce_href="mailto:bruno.boucard@free.fr"&gt;boucard.bruno@free.fr&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9914939" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/devpara/archive/tags/ARTICLES+MSDN/default.aspx">ARTICLES MSDN</category><category domain="http://blogs.msdn.com/devpara/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://blogs.msdn.com/devpara/archive/tags/PPL/default.aspx">PPL</category><category domain="http://blogs.msdn.com/devpara/archive/tags/Concurrency+Runtime/default.aspx">Concurrency Runtime</category><category domain="http://blogs.msdn.com/devpara/archive/tags/Agent/default.aspx">Agent</category></item></channel></rss>