Le Gartner s'inquiète. Les serveurs évoluent beaucoup trop rapidement pour le logiciel. Les puces comptent un nombre de plus en plus important de coeurs. Qui plus est, ces coeurs gèrent souvent chacun plusieurs threads (instructions élémentaires). Dans le monde du x86, de deux coeurs, on est passé à quatre, et on annonce bientôt huit. Or, le multicoeur n'est pas forcément synonyme de performances améliorées, au contraire ! Car les logiciels restent à la traîne. Très à la traîne. Systèmes d'exploitation, hyperviseurs, middlewares et applications sont loin de tirer parti de toute la puissance proposée par les serveurs multicoeurs. Deux coeurs dans un processeur ne donnent pas deux fois plus de puissance. Pire encore... Carl Claunch, analyste pour le Gartner, spécialiste des infrastructures serveurs, prévient : dès qu'on dépasse deux coeurs, on peut très bien voir la performance décroître ! Le surplus de travail imposé au système par la gestion de quatre coeurs, par exemple, peut induire un tel phénomène. L'analyste estime qu'un nombre significatif d'entreprise est déjà touché et qu'il ne va cesser d'augmenter. Les hyperviseurs sont de toute façon limités à quelques dizaines de coeurs Dans deux ans, selon Carl Claunch, on devrait déjà voir apparaître des serveurs équipés de 512 coeurs au total (32 sockets hébergeant chacun 16 coeurs). Dans quatre ans, ils en accueilleront le double... Or, l'analyste rappelle que la plupart des hyperviseurs ne peuvent dépasser 64 puces. Selon lui, ESX de VMware se limite à 32 coeurs et Hyper-V de Microsoft à 24. Du coté des OS, si Linux et Windows ne dépassent pas 64 coeurs à base de x86, z/OS atteint tout juste 64 et les Unix, moins limités, supportent entre 128 et 512 puces suivant l'éditeur. Pour adapter un logiciel à une configuration multicoeur, il ne suffit pas, comme on pourrait le croire, de découper le code en plusieurs parties pour le répartir sur les puces. « Diviser le logiciel en deux ou en quatre morceaux, n'est pas très compliqué, confirme Carl Claunch. Mais quand on passe à 128 ou 256 coeurs, c'est une autre question. » D'autant que, comme le précise l'analyste, il faut aussi équilibrer ces 'morceaux' de code pour qu'ils se répartissent judicieusement sur les coeurs du processeur. Le principe même de la parallélisation, du multithreading, de la répartition de tâches... L'industrie fait des efforts pour faciliter le portage des applicatifs