Mythes et réalités sur l'utilisation des CPUs
24 Février 2009 , Rédigé par Hugues MEUNIER
On n'entend souvent (surtout de la part des managers), qu'avoir des processeurs quadcore ne sert à rien car les logiciels actuels ne savent pas utiliser toute la puissance des coeurs. Cela permet souvent de légitimer une faible utilisation des ressources processeurs sur les serveurs x86 x64. Pourtant c'est faux!
Exemple 1 : Un programme de calcul, par exemple, mono threadé consomme 100% d’un cœur (physique ou logique). Si je suis capable d’exécuter n fois le programme en simultané alors je consommerai 100% (ou pas très loin) des n cœurs du serveur. C’est le but des architectures en grille.
Exemple 2 : la virtualisation qui permet de multiplier les environnements sur un même serveur physique et qui permet de mieux utiliser les ressources CPU (et RAM).
Exemple 3 : la programmation multi-threadée classique. Par exemple en c#, comment calculer la suite de Fibonacci via un pool de threads. Notons que cette méthode permet d’accélérer le traitement du calcul.
Exemple 4 : Parallel FX l’API de Microsoft qui permet de paralléliser les traitements dans un programme. Elle fournit un ensemble de fonctions et outils pour permettre d’utiliser toute la puissance des processeurs d’une machine. Les développeurs Microsoft ont mis en œuvre les fonctions de System.Threading dans un programme de calcul et d’affichage de l’ensemble de Mandelbrot.
Autant d’exemples qui montrent que la faible utilisation des ressources CPU dans le monde x86 n’est pas une fatalité...
Références PFX
http://blogs.msdn.com/pfxteam/archive/2008/06/06/8579067.aspx
http://en.wikipedia.org/wiki/Parallel_FX_LibraryNewsletter
Abonnez-vous pour être averti des nouveaux articles publiés.
Pages
Catégories
- 79 .NET
- 35 General
- 7 Hardware
- 5 Architecture applicative
- 4 J2EE
- 2 Cloud
- 2 Microsoft
- 2 Rails
- 2 WPF
- 1 Architecture technique
- 1 Astronomie
- 1 IA