Optimization of conflict detection in parallel programs with transactional memory
Vestnik Ûžno-Uralʹskogo gosudarstvennogo universiteta. Seriâ Vyčislitelʹnaâ matematika i informatika, Tome 5 (2016) no. 4, pp. 46-60 Cet article a éte moissonné depuis la source Math-Net.Ru

Voir la notice de l'article

Transactional memory is a perspective abstraction for the creating a scalable parallel programs for multi-core systems. It will be included in C++17. In this work, are proposed optimization method of conflicts detection, that accur in parallel programs with the software transactional memory during execution. The autors have implemented a module for GCC compiler for profiling parallel programs with software transactional memory and a tool for adaptive tuning runtime-library. The efficiency of method is investigated on the STAMP benchmarks.
Keywords: software transactional memory, parallel programming, profiling, compilers.
@article{VYURV_2016_5_4_a3,
     author = {I. I. Kulagin and M. G. Kurnosov},
     title = {Optimization of conflict detection in parallel programs with transactional memory},
     journal = {Vestnik \^U\v{z}no-Uralʹskogo gosudarstvennogo universiteta. Seri\^a Vy\v{c}islitelʹna\^a matematika i informatika},
     pages = {46--60},
     year = {2016},
     volume = {5},
     number = {4},
     language = {ru},
     url = {http://geodesic.mathdoc.fr/item/VYURV_2016_5_4_a3/}
}
TY  - JOUR
AU  - I. I. Kulagin
AU  - M. G. Kurnosov
TI  - Optimization of conflict detection in parallel programs with transactional memory
JO  - Vestnik Ûžno-Uralʹskogo gosudarstvennogo universiteta. Seriâ Vyčislitelʹnaâ matematika i informatika
PY  - 2016
SP  - 46
EP  - 60
VL  - 5
IS  - 4
UR  - http://geodesic.mathdoc.fr/item/VYURV_2016_5_4_a3/
LA  - ru
ID  - VYURV_2016_5_4_a3
ER  - 
%0 Journal Article
%A I. I. Kulagin
%A M. G. Kurnosov
%T Optimization of conflict detection in parallel programs with transactional memory
%J Vestnik Ûžno-Uralʹskogo gosudarstvennogo universiteta. Seriâ Vyčislitelʹnaâ matematika i informatika
%D 2016
%P 46-60
%V 5
%N 4
%U http://geodesic.mathdoc.fr/item/VYURV_2016_5_4_a3/
%G ru
%F VYURV_2016_5_4_a3
I. I. Kulagin; M. G. Kurnosov. Optimization of conflict detection in parallel programs with transactional memory. Vestnik Ûžno-Uralʹskogo gosudarstvennogo universiteta. Seriâ Vyčislitelʹnaâ matematika i informatika, Tome 5 (2016) no. 4, pp. 46-60. http://geodesic.mathdoc.fr/item/VYURV_2016_5_4_a3/

[1] M. Herlihy, N. Shavit, The Art of Multiprocessor Programming, Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2008, 508 pp.

[2] D. Hendler, N. Shavit, L. Yerushalmi, “A Scalable Lock-free Stack Algorithm”, Proceedings of the Sixteenth Annual ACM Symposium on Parallelism in Algorithms and Architectures, 2004, 206–215 | DOI

[3] S.D. Kuznetsov, Tranzaktsionnaya pamyat, (data obrascheniya: 21.06.2016) http://www.citforum.ru/programming/digest/transactional_memory/

[4] N. Shavit, D. Touitou, “Software Transactional Memory”, Proceedings of the Fourteenth Annual ACM Symposium on Principles of Distributed Computing (Aug. 1995, New York, NY, USA), 204–213 | DOI

[5] P. Felber, C. Fetzer, P. Marlier, T. Riegel, “Time-based Software Transactional Memory”, IEEE Transactions on Parallel and Distributed Systems, 21:12 (2010), 1793–1807 | DOI

[6] T. Riegel, P. Felber, C. Fetzer, “A Lazy Snapshot Algorithm with Eager Validation”, 20th International Symposium on Distributed Computing, 2006 | DOI | MR

[7] V. Luchango, J. Maurer, M. Moir, Transactional Memory for C++, (data obrascheniya: 21.06.2016) http://www.openstd.org/jtc1/sc22/wg21/docs/papers/2013/n3718.pdf

[8] M.L. Scott, Rochester Software Transactional Memory Runtime, (data obrascheniya: 21.06.2016) http://www.cs.rochester.edu/research/synchronization/rstm/

[9] M.F. Spear , L. Dalessandro , V.J. Marathe , M.L. Scott, “A Comprehensive Strategy for Contention Management in Software Transactional Memory”, Proc. 14th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (February 2009), 141–150 | DOI

[10] K.E. Moore, J. Bobba, M.J. Moravan, M.D. Hill, D.A. Wood, “LogTM: Log-based Transactional Memory”, Proceedings of the 12th International Symposium on High-Performance Computer Architecture (February 2006), 254–265 | DOI

[11] M.F. Spear , M.M. Michael , C. Praun, “RingSTM: Scalable Transactions with a Single Atomic Instruction”, Proceedings of the 20th Annual Symposium on Parallelism in Algorithms and Architectures (June 2008), 275–284 | DOI

[12] D. Dice , O. Shalev , N. Shavit, “Transactional Locking II”, Proceedings of the 20th International Symposium on Distributed Computing (September 2006), Lecture Notes in Computer Science, 4167, 194–208 | DOI | MR

[13] P. Felber, C. Fetzer, T. Riegel, “Dynamic Performance Tuning of Word-based Software Transactional Memory”, Proceedings of the 17th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2008, 237–246 | DOI

[14] C. Zilles , R. Rajwar, Implications of False Conflict Rate Trends for Robust Software Transactional Memory, (data obrascheniya: 21.06.2016) http://zilles.cs.illinois.edu/papers/tm_false_conflicts.iiswc2007.pdf

[15] M. Olszewski, J. Cutler, J.G. Steffan, “JudoSTM: A Dynamic Binary-Rewriting Approach to Software Transactional Memory”, Proceedings of the 16th International Conference on Parallel Architecture and Compilation Techniques, 2007, 365–375 | DOI

[16] Intel Corporation. Intel Transactional Memory Compiler and Runtime Application Binary Interface, (data obrascheniya: 21.06.2016) https://software.intel.com/sites/default/files/m/5/a/2/a/f/8097-Intel_TM_ABI_1_0_1.pdf