Proceedings of the Institute for System Programming of the RAS
RUS  ENG    JOURNALS   PEOPLE   ORGANISATIONS   CONFERENCES   SEMINARS   VIDEO LIBRARY   PACKAGE AMSBIB  
General information
Latest issue
Archive

Search papers
Search references

RSS
Latest issue
Current issues
Archive issues
What is RSS



Proceedings of ISP RAS:
Year:
Volume:
Issue:
Page:
Find






Personal entry:
Login:
Password:
Save password
Enter
Forgotten password?
Register


Proceedings of the Institute for System Programming of the RAS, 2015, Volume 27, Issue 6, Pages 135–150
DOI: https://doi.org/10.15514/ISPRAS-2015-27(6)-9
(Mi tisp189)
 

This article is cited in 1 scientific paper (total in 1 paper)

Instrumentation and optimization of transactional sections execution in multithreaded programs

I. Kulagina, M. Kurnosovb

a SibSUTIS
b Saint Petersburg Electrotechnical University "LETI",
Full-text PDF (608 kB) Citations (1)
References:
Abstract: Software transactional memory (STM) is approach to develop thread-safe programs. In contrast to locking a block of code by mutex, the main idea of this approach is to protect memory areas from concurrent access by threads. In this paper, we investigate efficiency of software transactional memory implementation in GCC compiler. Software tools for instrumentation and profiling STM-programs are proposed. Profile-guided method for reducing false conflicts. in STM-programs is presented. False conflict is conflict that exist on the level of runtime library but not when the memory accessing happens. The instrumentation module analyzes the code of transactional sections and puts calls for registration of the some events (begin transactions, transactional read/write, commit transactions and abort transactions). The profiling of the instrumented program allows get dynamic properties of execution transactional code like size of used data, read/write addresses, timestamp of events, etc. The static instrumentation allows to optimize dynamic properties of execution transactional sections. The method of reducing false conflicts performs the tuning of transactional memory parameters value in GCC implementation (libitm runtime-library) by using the profiling results (profile-guided optimization). The efficiency of reducing false conflicts is investigated on the STAMP benchmarks. These benchmarks contains eight tests that operate with hash tables, lists, arrays protected by software transactional memory. Using the proposed method of the tests time is reduced approximately to 20%.
Keywords: software transactional memory, instrumentation, profile-guided optimization, multithreaded programming, compilers.
Funding agency Grant number
Russian Foundation for Basic Research 15-37-20113
15-07-00653
Ministry of Education and Science of the Russian Federation 02.G25.31.0058
Bibliographic databases:
Document Type: Article
Language: Russian
Citation: I. Kulagin, M. Kurnosov, “Instrumentation and optimization of transactional sections execution in multithreaded programs”, Proceedings of ISP RAS, 27:6 (2015), 135–150
Citation in format AMSBIB
\Bibitem{KulKur15}
\by I.~Kulagin, M.~Kurnosov
\paper Instrumentation and optimization of transactional sections execution in multithreaded programs
\jour Proceedings of ISP RAS
\yr 2015
\vol 27
\issue 6
\pages 135--150
\mathnet{http://mi.mathnet.ru/tisp189}
\crossref{https://doi.org/10.15514/ISPRAS-2015-27(6)-9}
\elib{https://elibrary.ru/item.asp?id=25476303}
Linking options:
  • https://www.mathnet.ru/eng/tisp189
  • https://www.mathnet.ru/eng/tisp/v27/i6/p135
  • This publication is cited in the following 1 articles:
    Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Proceedings of the Institute for System Programming of the RAS
     
      Contact us:
     Terms of Use  Registration to the website  Logotypes © Steklov Mathematical Institute RAS, 2025