Améliorations du traitement parallèle des applications

Une application parallélisée dans les formes est toujours plus performante qu’une application mono-thread. A mesure que nous avançons dans l’ère des processeurs multi-cœurs, l’évolutivité de votre application en fonction du nombre de processeurs devient critique, et la disponibilité des outils appropriés pour cela est essentielle.
Dans Visual C++ 2010, le tout nouveau Concurrency Runtime (ConcRT) fournit une bibliothèque C++ qui permet aux développeurs d’exploiter la puissance du multi-cœurs de manière productive. Le ConcRT utilise la terminologie suivante :
â– Algorithmes parallèles (algorithmes génériques qui agissent sur des collections de données)
â– Tâches (un mécanisme servant à encapsuler le travail à accomplir et non la manière dont vous souhaitez le paralléliser)
â– Agents (utilisation du transfert de messages pour un flux de données à granularité fine et une mise en pipeline des tâches gourmandes en ressources informatiques)
Windows 7 dispose d’un nouvel ordonnanceur de threads léger intitulé User-Mode Scheduling (UMS). Celui-ci permet aux applications hautes performances (au lieu du noyau) de planifier, restreindre et contrôler les temps système dus à des appels systèmes bloquants. Vous ne pouvez pas employer UMS directement pour accélérer votre application, mais en prenant en charge ce niveau de flexibilité pour la gestion des threads au niveau mode utilisateur, vous permettez à des bibliothèques de concurrence de niveau supérieur (telles que ConcRT) de fournir un comportement multithread optimisé. ConcRT tire parti d’UMS en définissant une stratégie d’ordonnanceur (Scheduler Policy) avec le membre SchedulerKind défini sur UmsThreadDefault.
Le bloc de code suivant utilise le traitement parallèle des tâches (et les expressions lambda C++) pour le téléchargement asynchrone de plusieurs fichiers à partir du Web :
Concurrency::task_group tasks; // a task_group
// manages the execution of multiple tasks
Concurrency::concurrent_vector
thumbnails; // concurrent_vector is the thread
// safe equivalent of std::vector
Concurrency::concurrent_vector
std::shared_ptr
objWebImages =
make_shared
for( int i = 0;
i < imageUrlList.Image->ResultsCount; ++i )
{
// task_group::run will
// queue a task for execution.
tasks.run( [objWebImages, i, imageUrlList,
&fileList, &thumbnails, this] {
// C++0x lambda expression
// these lengthy operations will now execute
// on a different thread
CString thumbFileName = objWebImages->
DownloadThumbnailImage(
imageUrlList.Image->Results[i]);
CString imageFileName = objWebImages->
DownloadImage(
imageUrlList.Image->Results[i]);
// push_back may be called concurrently from
// different threads at the same time
fileList.push_back(imageFileName);
thumbnails.push_back(CThumbnail::Load(
imageFileName, thumbFileName));
} );
}
tasks.wait(); // first blocking call. this will wait
// for all queued tasks to complete
Globalement, Windows 7 constitue une version pleine d’attraits pour les développeurs. Avec les milliers de nouvelles API Windows proposées aux développeurs natifs, Windows 7 améliore l’utilisation des applications de PC.
Visual Studio 2010 représente l’IDE de prédilection pour exploiter la plate-forme Windows 7. Avec les améliorations apportées à MFC et à ATL, ou encore avec l’ajout de nouveaux concepteurs (designer) et assistants d’IDE, Visual C++ 2010 vous offre la possibilité d’être à l’avant-garde de l’exploitation des fonctionnalités du système d’exploitation.
Nous sommes ouverts à tous les thèmes portant sur les services, les solutions et les technologies informatiques d'entreprise. Notre seule condition sera la qualité de votre contribution, quel que soit votre thème de prédilection, actualités, annonces, lancements, stratégie, tutoriaux, trucs et astuces, bonnes pratiques... cette liste n'étant pas exhaustive, stay tuned, au plaisir de collaborer.
1er Guide dédié à la mise œuvre d’un Cloud Privé !L’objet de ce guide thématique publié par IT Pro Magazine est d’apporter aux responsables informatiques une synthèse technologique précise pour intégrer un Cloud Privé à leur Datacenter. Découvrez, étape par étape, comment transformer votre datacenter en centre de services IT.Découvrez ce 1er guide thématique exclusif !
Ressources Informatiques
Actualités Informatiques
Ciena déploie un réseau 100G de 2 800 km 15/05/2012 | Réseaux | 100G
Dell annonce la deuxième vague de sa 12e génération PowerEdge 15/05/2012 | Dell | Serveur
Scott Thompson, PDG de Yahoo, contraint de démissionner 14/05/2012 | Nomination | Stratégie
Sécurité : Des attaques moins nombreuses mais plus dangereuses selon HP 10/05/2012 | Sécurité | Web
Imagine Cup – Le projet Cap Street en route vers Sydney 07/05/2012 | Imagine Cup | Microsoft
Du script PowerShell à l’interface web avec Poshboard 04/05/2012 | Scripting | PowerShell
SCCM 2012 : « Gérer 100 000 utilisateurs avec un seul serveur » 04/05/2012 | System Center 2012 | TechDays 2012
UseIT 2012 – Open Data, cloud computing et cybercriminalité au programme 04/05/2012 | Salon | Evènement
Hana, mobilité, cloud : Henri van der Vaeren dévoile la stratégie de SAP 04/05/2012 | SAP | Cloud Computing
Citrix Netscaler 10 : un ADC élastique 25/04/2012 | Citrix | Appliances
MMS 2012 - Windows Server 2012 sortira en fin d’année 20/04/2012 | Windows Server 2012 | Microsoft Management Summit
MMS 2012 – System Center 2012 est disponible 18/04/2012 | System Center 2012 | Microsoft Management Summit
Hitachi cible les marchés verticaux avec les solutions NAS de BlueArc 16/04/2012 | NAS | Stockage
À la une d'IT Pro Magazine : Server Core, Archivage, Big Data et Windows Intune 06/04/2012 | Cloud Computing | Big Data
Serena renforce son offre ITSM 05/04/2012 | Administrateur | Développement
Vidéos Informatiques
Travail Collaboratif Présentation du Dell XPS 13
Travail Collaboratif Premiers déploiements massifs de SharePoint Workspace en 2012
Cloud computing « Le cloud ne doit pas être une aire de non-droit »
Windows Server Du script PowerShell à l’interface web avec Poshboard
Liens Informatiques
Ressources iT Pro
1er Guide thématique dédié à la mise œuvre d’un Cloud PrivéIT Pro Magazine | 12 pages
Guide de protection des environnements Hyper-VITPro Magazine | 4 pages
Guide d’optimisation & synchronisation des données SharePointAvepoint | 18 pages
Booster les performances des plates-formes virtuelles ?Diskeeper | 12 pages
IT Pro Magazine Spécial Windows 8IT Pro Magazine | 60 pages
Le guide du stockage signé IT Pro MagazineIT Pro Magazine | 16 pages
Testez Acronis Backup & Recovery 11 Virtual EditionAcronis | 2 pages






















