Аппаратная транзакционная память. Обзор решений. Часть 4. Заключение

После двадцати лет теоретических исследований и экспериментальных решений поддержка транзакционной памяти наконец-то нашла своё место в процессорах. При этом каждый вендор подошёл к проблеме обеспечения HTM по-своему, и не последнюю роль при этом сыграла необходимость совместимости с уже существующей кодовой базой, а также особенности архитектур процессоров. Разработчики ПО теперь в роли догоняющих — необходимо научиться писать параллельные приложения, использующие транзакции. Более того, необходимо научить использовать столь мощный инструмент подрастающее поколение студентов! К чему я и призываю всех читателей. Спасибо за внимание!

Литература

[1] Chung Jaewoong, Diestelhorst Stephan, Pohlack Martin et al. ASF: AMD64 Extension for Lock-free Data Structures and Transactional Memory. 2010. 
[2] Harris Tim, Larus James, Rajwar Ravi. Transactional Memory, 2nd Edition. 2nd edition. Morgan and Claypool Publishers, 2010. ISBN: 1608452352, 9781608452354.
[3] Herlihy Maurice, Moss J. Eliot B. Transactional memory: architectural support for lock-free data structures // Proceedings of the 20th annual international symposium on computer architecture. ISCA '93. New York, NY, USA : ACM, 1993. P. 289-300. URL: http://doi.acm.org/10.1145/165123.165164.
[4] Implementing AMD's Advanced Synchronization Facility in an out-of-order x86 core / Stephan Diestelhorst, Martin Pohlack, Michael Hohmuth et al. // 5th ACMSIGPLAN Workshop on Transactional Computing. 2010. 8 p. URL: http://www.amd64.org/fileadmin/user_upload/pub/transact10-asfooo.pdf (online; accessed: 2012-07-04).
[5] Intel C++ STM Compiler, Prototype Edition. URL: http://software.intel.com/en-us/articles/intel-c-stm-compiler-prototype-edition (online; accessed: 2013-09-28).
[6] Intel® Architecture Instruction Set Extensions Programming Reference. 2013. URL: http://software.intel.com/sites/default/files/319433-015.pdf (online; accessed: 2013-09-28).
[7] Jacobi C., Slegel T., Greiner D. Transactional Memory Architecture and Implementation for IBM System Z // Microarchitecture (MICRO), 2012 45th Annual IEEE/ACM International Symposium on. 2012. P. 25-36.
[8] Kleen Andi. Linux C Library development, Intel RTM branch. URL: https://github.com/andikleen/glibc/tree/rtm-2.17-2 (online; accessed: 2012-11-12).
[9] Kleen Andi. Lock elision in the GNU C library. URL: http://lwn.net/Articles/533894/ (online; accessed: 2013-09-28).
[10] Moir Mark, Moore Kevin, Nussbaum Dan. The adaptive transactional memory test platform: a tool for experimenting with transactional code for ROCK (poster) // Proceedings of the twentieth annual symposium on Parallelism in algorithms and architectures. SPAA '08. New York, NY, USA : ACM, 2008. P. 362-362. URL: http://doi.acm.org/10.1145/1378533.1378595.
[11] Rajwar Ravi, Dixon Martin. Intel Transactional Synchronization Extensions. 2012. URL: http://intel.com/go/idfsessions (online; accessed: 2012-11-29).
[12] Robust architectural support for transactional memory in the POWER architecture / Harold W. Cain, Maged M. Michael, Brad Frey et al. // SIGARCH Comput. Archit. News. 2013. Vol. 41, no. 3. P. 225-236. URL: http://doi.acm.org/10.1145/2508148.2485942.
[13] Rock: A High-Performance Sparc CMT Processor / S. Chaudhry, R. Cypher, M. Ekman et al. // Micro, IEEE. 2009. Vol. 29, no. 2. P. 6-16.

 

如需更全面地了解编译器优化,请参阅优化注意事项