Je ne l'ai pas utilisé le compilateur Intel, cependant, Herb Sutter a eu quelques commentaires intéressants sur elle ...
De Sutter Speaks: The Future of Concurrency
Voyez-vous beaucoup d'intérêt et utilisation de la mémoire transactionnelle, ou le concept est-il trop difficile à comprendre pour la plupart des développeurs?
Il n'est pas encore possible de savoir qui l'utilise parce qu'il n'a pas encore été mis sur le marché. Intel dispose d'un prototype de compilateur de mémoire transactionnelle logicielle. Mais si la question est "Est-ce trop difficile à utiliser pour les développeurs?" la réponse est que j'espère certainement pas. Tout le problème est que c'est beaucoup plus facile que les verrous. C'est la seule chose importante sur l'horizon de la recherche qui laisse espérer une réduction importante de notre utilisation des serrures. Il ne remplacera jamais complètement les verrous, mais c'est notre seul grand espoir de les remplacer partiellement.
Il existe certaines limitations. En particulier, certaines E/S ne sont pas intrinsèquement transactionnelles: vous ne pouvez pas prendre un bloc atomique qui invite l'utilisateur à lire son nom et lire le nom depuis la console, et abandonner et réessayer automatiquement le bloc s'il est en conflit avec une autre transaction; l'utilisateur peut faire la différence si vous le lui demandez deux fois. La mémoire transactionnelle est idéale pour les choses qui ne font que toucher la mémoire.
Chaque fournisseur majeur de matériel et de logiciels que je connais dispose de plusieurs outils de mémoire transactionnelle dans R & D. Il existe des conférences et des articles académiques sur les réponses théoriques aux questions de base. Nous ne sommes pas encore au stade Model T où nous pouvons l'expédier. Vous verrez probablement des prototypes précoces et limités dans lesquels vous ne pouvez pas faire de mémoire transactionnelle illimitée - où vous ne pouvez lire et écrire, disons, que 100 emplacements de mémoire. C'est toujours très utile pour activer plus d'algorithmes sans verrouillage, cependant.
Cette question et ses réponses sont-elles toujours d'actualité? –
@JanusTroelsen vérifier les mises en œuvre disponibles dans https://en.m.wikipedia.org/wiki/Transactional_memory –
Connexes: https://www.realworldtech.com/haswell-tm/ pour l'écriture de David Kanter de certains sous -les détails sur la façon dont il est réellement implémenté sur les processeurs Intel. Et aussi quelques trucs intéressants sur la mémoire transactionnelle en général. –