Pour augmenter la performance des applications sophistiquées et des systèmes d'exploitation, l'industrie doit aujourd'hui exploiter les nouvelles architectures multi-processeurs et multi-c½urs. Une révolution s'annonce, peut-être aussi importante que l'avènement de l'objet : la programmation concurrente, ou programmation parallèle.
Selon la loi de Moore, la densité des circuits électronique double tous les 18 mois. La performance de processeurs suit cette même courbe exponentielle. Mais l'augmentation de la fréquence des processeurs a ses limites. Les applications actuelles sont encore pour la majorité conçues pour fonctionner de manière linéaire, en ne faisant traiter au processeur qu'un seul thread à la fois. Les applications déjà multi-threadées bénéficient d'un gain de performance impressionnant sur les architectures multi-c½urs.
Pour exploiter ces nouvelles architectures multi-c½urs, Intel annonce la nouvelle version 9.0 de son compilateur C++ (et Fortran) pour plates-formes Windows et Linux. Parmi les nouveautés, on notera le support de OpenMP 2.5.
OpenMP (Open specification for Multi Processing) est une spécification pour le développement d'applications mettant en ½uvre des traitements parallèles et multitâches. Elle définit des API, des directives et des pragmas pour C/C++ et Fortran. Son modèle de programmation est explicite et exploite des pragmas dans le code source. C'est un moyen simple de transformer une application linéaire en application multi-threadée.
Autres nouveautés dans Intel Compiler 9.0, de nouvelles fonctionnalités de sécurité ont été ajoutées pour éviter l'exploitation des débordements de tampon. Les fonctionnalités 64 bits ont également été intégrées au package.
Pour sa part, Microsoft a annoncé que la prochaine version du langage Visual C++ dans Visual Studio 2005 supportera aussi l'API OpenMP. Pour Anders Hejlsberg, architecte du langage C#, la programmation concurrente fait partie des préoccupations du futur C# 3.0. Ce qui n'est pas surprenant lorsque l'on sait que c'est un des points clés du langage COmega développé dans les laboratoires de Microsoft Research et sur lequel se base C# 3.0. Il est probable que la programmation concurrente sera introduit dans la version suivante de Visual Studio, nom de code Orcas.
Java de son côté a introduit dans Java 5 quelques fonctionnalités concurrentes tels que les types AtomicInteger, les tructures libres ReentrantLocks, mais le concept de base reste celui d'origine.
Programmation concurrente : les outils arrivent
0
Réaction
Newsletter LMI
Recevez notre newsletter comme plus de 50000 abonnés
Suivre toute l'actualité
Newsletter
Recevez notre newsletter comme plus de 50 000 professionnels de l'IT!
Je m'abonne
Commentaire