C'est une réalité aujourd'hui. Les PC, les tablettes et autres périphériques mobiles sont désormais munis pour la majorité de multi-coeurs. Mais comment les programmer ? Dans cette session, nous vous proposons de faire un tour d'horizon des nouvelles innovations de Visual Studio 11 en termes de parallélismes, qui viennent enrichir celles de Visual Studio 2010. Alors que vous soyez développeur .NET ou Développeur C++, ou les deux ou même pas du tout, cette session vous permettra d'avoir une vue générale sur les nouvelles fonctionnalités de Visual Studio 11 en termes de parallélisme.
2. Construire des applications
parallèles avec Visual Studio 11
quoi de neuf ?
Erwan Herfroy erwanh@microsoft.com
Application Development Manager
Eric Vernié ericv@microsoft.com
http://blogs.msdn.com/b/devosaure/
http://blogs.msdn.com/b/devpara/
@EricVernie
3. Agenda
.NET C++
Rappel sur TPL Rappel sur PPL
Nouveautés 4.5 Nouveautés C++
Asynchronisme Futures/Task
TPL Dataflow Continuation
… Algorithmes
C++ AMP*
…
4. Rappel : Visual Studio 2010
Tool Programming Models
s Parallel
Parallel LINQ Async Parallel
Debugger Agents Pattern
Stacks
Task Parallel Library Library Library
Data Structures
Data Structures
Tasks
Concurrency Runtime
Visualizer CLR ThreadPool ConcRT
CPU
Task Scheduler Task Scheduler
Threads
Resource Manager Resource Manager
Cores
Operating
Windows
System
Key: Tooling Managed Native
5. Objectifs & Apports
Productivité du Développement
Plus simple de formuler le parallélisme
Permet l’utilisation de schémas éprouvés
Intégration à l’environnement de développement
Limite le code de “plomberie”
Performance & Exécution Optimisée
Réduction du surcoût à l’exécution
Permet l’utilisation de schémas performant
Meilleure montée en charge
Exploitation de la Plateforme
Permet une composition efficace
Permet de réduire l’utilisation des ressources processeur
Amélioration de la cohérence du cache
Permet d’exploiter au mieux les nouvelles fonctionnalités de Windows
17. TPL Dataflow
Aperçu
System.Threading.Tasks.Dataflow.dll
Primitives de passage de messages
“Des blocs” qui manipulent des données
A utiliser individuellement ou liés ensemble afin de créer un
réseau
Repose sur des principes
Vieux de dizaines d’années
Inspirée par
Asynchronous Agents Library dans Visual C++ 2010
Le projet Axum en incubation
CCR de Microsoft Robotics
18. TPL Dataflow
Exemple simple Producteur/Consommateur
var ab = new ActionBlock<int>(i => ActionBlock<int>
Message Queue
{
Process(i);
});
Process(4);
Process(3);
Process(2);
Process(1);
Process(0);
for(int i = 0; i < 5; i++)
{
ab.Post(i);
}
4
3
2
1
0
25. Résumé : Nouveautés VS 11
Tool Programming Models
s Parallel C#/VB/F#
PLINQ Dataflow
Debugger Async Async Parallel
C++
Stacks Agents Pattern
Library Library AMP
Tasks Task Parallel Library
Data Structures
Data Structures
Watch
CPU GPU
Runtime
Concurrency ConcRT
CLR ThreadPool
Visualizer
Task Scheduler Task Scheduler
CPU GPU
DirectX
Threads Resource
Resource Manager
Cores Manager
Operating System Windows
Key: Tooling Managed Native New Updated
26. Pour aller plus loin
Prochaines sessions des Dev Camps
Chaque semaine, les 10
Live Open Data - Développer des applications riches avec le
février
DevCamps 2012
16
Meeting protocole Open Data
ALM, Azure, Windows Phone, HTML5, OpenData février
Live
Meeting
Azure series - Développer des applications sociales sur
la plateforme Windows Azure
2012
http://msdn.microsoft.com/fr-fr/devcamp
17
Live Comprendre le canvas avec Galactic et la librairie
février
Meeting three.js
2012
Téléchargement, ressources 21
février
Live La production automatisée de code avec CodeFluent
Meeting Entities
et toolkits : RdV sur MSDN 2012
2 mars Live Comprendre et mettre en oeuvre le toolkit Azure pour
http://msdn.microsoft.com/fr-fr/ 2012 Meeting Windows Phone 7, iOS et Android
6 mars Live
Nuget et ALM
2012 Meeting
Les offres à connaître 9 mars
2012
Live
Meeting
Kinect - Bien gérer la vie de son capteur
90 jours d’essai gratuit de Windows 13 mars
2012
Live
Meeting
Sharepoint series - Automatisation des tests
Azure 14 mars Live TFS Health Check - vérifier la bonne santé de votre
www.windowsazure.fr 2012 Meeting plateforme de développement
15 mars Live Azure series - Développer pour les téléphones, les
2012 Meeting tablettes et le cloud avec Visual Studio 2010
Jusqu’à 35% de réduction sur Visual 16 mars Live Applications METRO design - Désossage en règle d'un
Studio Pro, avec l’abonnement MSDN 2012 Meeting template METRO javascript
20 mars Live Retour d'expérience LightSwitch, Optimisation de
www.visualstudio.fr 2012 Meeting l'accès aux données, Intégration Silverlight
23 mars Live OAuth - la clé de l'utilisation des réseaux sociaux dans
2012 Meeting votre application