Сборники трудов ИСП РАН


Инструментация и оптимизация выполнения транзакционных секций многопоточных программ

Кулагин И.И. (СибГУТИ, г. Новосибирск), Курносов М.Г. (СПбГЭТУ «ЛЭТИ», г. Санкт-Петербург)

Аннотация

В работе выполнено исследование эффективности реализации программной транзакционной памяти (software transactional memory) в компиляторе GCC, предложен метод инструментации параллельных программ, использующих транзакционную память, для осуществления задач профилирования, а также предложен подход к сокращению числа ложных конфликтов, возникающих при выполнении транзакционных секций. Суть подхода заключается в варьировании параметров реализации транзакционной памяти в runtime-библиотеке компилятора GCC по результатам предварительного профилирования программы (profile-guided optimization). Предложенный метод инструментации позволяет оптимизировать динамические характеристики выполнения транзакционных секций. Эффективность подхода к сокращению числа ложных конфликтов исследована на тестовых многопоточных программах из пакета STAMP.

Ключевые слова

программная транзакционная память, инструментация, оптимизация по результатам предварительного профилирования, многопоточное программирование, компиляторы

Издание

Труды Института системного программирования РАН, том 27, вып. 6, 2015, стр. 135-150.

ISSN 2220-6426 (Online), ISSN 2079-8156 (Print).

DOI: 10.15514/ISPRAS-2015-27(6)-9

Полный текст статьи в формате pdf Вернуться к содержанию тома