L'intérêt des mémoires transactionnelles est qu'elles rendent le code bien plus simple à écrire (et à comprendre !). Le problème (selon moi) des MT est que la plupart sont faites au niveau logiciel, ce qui les rend généralement bien plus lentes que l'utilisation de verrous (ou d'instructions atomiques). C'est en fait ma principale raison de ne pas aimer les systèmes à base de STM (software transactional memory). Par contre il existe toute une littérature concernant les MT faites au niveau matériel, avec des modifications plus ou moins grosses à effectuer sur les processeurs actuels, et ça je crois vraiment que ça peut aider beaucoup, beaucoup de monde.
Il existe une étude (je n'arrive plus à trouver le lien) qui montre que des étudiants confrontés aux verrous et mémoires transactionnelles pour la première fois ont différents niveaux de productivité une fois formés à leur utilisation. Si je me souviens bien, l'ordre de productivité (time-to-solution) était ceci:
Verrouillage à gros grain (mettre un gros verrou sur une liste, un tableau dynamique, etc.)
Mémoires transactionnelles
Verrouillage à grain fin (plein de deadlocks possibles, dur à debugger pour un débutant et même des programmeurs relativement expérimentés ! — etc.)
[^] # Re: Instructions atomiques
Posté par lasher . En réponse à la dépêche IBM lance la mémoire transactionnelle dans le matériel. Évalué à 4.
L'intérêt des mémoires transactionnelles est qu'elles rendent le code bien plus simple à écrire (et à comprendre !). Le problème (selon moi) des MT est que la plupart sont faites au niveau logiciel, ce qui les rend généralement bien plus lentes que l'utilisation de verrous (ou d'instructions atomiques). C'est en fait ma principale raison de ne pas aimer les systèmes à base de STM (software transactional memory). Par contre il existe toute une littérature concernant les MT faites au niveau matériel, avec des modifications plus ou moins grosses à effectuer sur les processeurs actuels, et ça je crois vraiment que ça peut aider beaucoup, beaucoup de monde.
Il existe une étude (je n'arrive plus à trouver le lien) qui montre que des étudiants confrontés aux verrous et mémoires transactionnelles pour la première fois ont différents niveaux de productivité une fois formés à leur utilisation. Si je me souviens bien, l'ordre de productivité (time-to-solution) était ceci: