La Technology Preview de Parallel FX (Microsoft Parallel Extensions for .Net 3.5 December 2007 CTP) propose d'étendre le framework .Net par un jeu d'instruction ainsi qu'un runtime, permettant de gérer l'accès concurrent aux données, l'exécution de tâches et la coordination nécessaire au niveau hardware. Ainsi, les développeurs peuvent écrire des programmes plus performants puisqu'ils s'adaptent au nombre de processeurs disponibles à l'exécution.

Le framework Parallel FX est disponible pour .Net 3.5 et Visual Studio 2008. Dans la documentation associée au framework, vous trouverez l'explication sur les trois façons pour paralléliser vos traitements proposées par PFX :

  • Declarative data parallelism - Parallel Language Integrated Query (or Parallel LINQ) is an implementation of LINQ-to-Objects that executes queries in parallel, scaling to utilize the available cores and processors of the machine. Because queries are declarative, you are able to express what you want to accomplish, rather than how you want to accomplish it.
  • Imperative data parallelism - Parallel Extensions also contains mechanisms to express common imperative data-oriented operations such as for and foreach loops, automatically dividing the work in the loop to run on parallel hardware.
  • Imperative task parallelism - Rather than using data to drive parallelism, Parallel Extensions enables you to express potential parallelism via expressions and statements that take the form of lightweight tasks. Parallel Extensions schedules these tasks to run on parallel hardware and provides capabilities to cancel and wait on tasks.

Au niveau implémentation, la stratégie sera donc de procéder en mode déclaratif ou impératif, et au niveau données ou bien au niveau traitemens.
Ces extensions se traduisent notamment par l'introduction des namespaces System.Linq.Parallel et l'extension de la gestion de Thread avec System.Threading.Tasks.

Pour vous accompagner dans vos investiguations en programmation parallèle, MSDN ouvre un portail Concurrency. Et si vous recherchez encore plus d'informations techniques, pointer directement sur le blog de l'équipe de développement PFXTeam, ainsi que le blog de Joe Duffy.