Linux 3.2 Cross Memory Attach : nos performances sur SMPv1 y auraient gagné !

Par , le dans OS - Aucun commentaire
Linux 3.2 Cross Memory Attach : nos performances sur SMPv1 y auraient gagné !
C'est la news qui arrive avec un train de retard, mais qui fera resurgir une petite pointe de nostalgie ... ou de rage ... :D

Citation:
Le patch de « cross memory attach » développé par Christopher Yeoh a été incorporé dans le noyau Linux 3.2.
Le but de ce travail est d'améliorer les performances des processus qui utilisent le protocole MPI (Message Passing Interface). Cette norme est souvent utilisée dans le calcul haute performance puisqu'elle permet aux très nombreux processeurs d'un supercalculateur d'échanger des messages pour traiter les données.


Eh oui vous avez bien lu, si nous sur Folding avons maintenant de magnifiques implémentations multicores du core Gromacs, MPI ayant été abandonné l'an passé par Folding@Home lors du passage en SMPv2, le reste du monde ne l'a pas abandonné ! Pour résumer la modification : MPI gère la communication entre les processus. L'ancienne implémentation générait 2 opérations de copie. La nouvelle implémentation n'en nécessite plus qu'un réduisant drastiquement le volume de données interprocessus.

Bilan ?

Citation:
Christopher Yeoh a modifié la bibliothèque Open MPI pour qu'elle exploite cette nouvelle possibilité de « cross memory attach » et il a lancé plusieurs benchmarks sur une machine ayant 64 coeurs POWER6. Comme on pouvait s'y attendre en supprimant une coûteuse opération de copie, les tests montrent un gros gain de performance :

Bilan
Nombre de Processus 4 8 16 32
Nb de Mo/s sans le patch 1235 935 622 419
Nb de Mo/s avec CMA 4741 3769 1977 703


Bref des gains importants qui auraient bien aidé nos chers Core 2 Quad à l'époque ! Bravo Christopher Yeoh et aux autres contributeurs du noyaux Linux de ne pas se contenter de l'existant et de toujours aller plus loin !

Même si nous n’utilisons plus ce type de technologies sur Folding@Home, certains projets BOINC planchent sur des core SMP utilisant OpenMPI. On ne peut que se réjouir que cette technologie puisse leur être profitable.

Source : Linux FR