LightTM : Une Mémoire Transactionnelle conçue pour les MPSoCs
Résumé
Les Mémoires Transactionnelles (TM), et en particulier les Mémoires Transactionnelles Matérielles (HTM) sont un concept attractif de programmation car elles simplifient l'écriture de programmes parallèles en délaissant les problèmes de synchronisation entre threads au système mémoire sous-jacent. Il y a récemment eu beaucoup de travaux en relation avec l'implentation de tels systèmes sur des puces multiprocesseurs (CMP). Cependant, l'implantation d'une HTM sur un SoC limite le matériel disponible : en particulier, la gestion de transactions de taille arbitrairement grande est souvent complexe, et résoudre ce problème avec peu de support matériel présente un intérêt. Nous proposons donc pour cela l'implémentation d'un système TM avec un support hardware limité conçu pour les MPSoCs, qui résout simplement le problème de débordement du cache en autorisant seulement un débordement à la fois, approche récemment proposée. Néanmoins, nos politiques de détection et de résolution des conflits sont nouvelles par rapport à l'existant. Nous comparons les performances d'exécution de trois implantations d'un sous-ensemble des benchmarks SPLASH-2 : deux avec des locks et une avec des transactions. Les résultats montrent qu'avec ce support matériel limité, les MPSoCs peuvent tirer parti du modèle de programmation TM tout en ayant des performances similaires aux programmes basés sur des locks.