Авторитетность издания
ВАК - К1
RSCI, ядро РИНЦ
Добавить в закладки
Следующий номер на сайте
№3
Ожидается:
16 Сентября 2025
Исследование влияния профилирования памяти средствами библиотеки jemalloc на время выполнения многопоточных приложений
An experimental study of the performance impact of jemalloc memory profiler on execution time of multithreaded applications
Дата подачи статьи: 12.01.2015
УДК: 004.4`6
Статья опубликована в выпуске журнала № 2 за 2015 год. [ на стр. 55-59 ]Аннотация:Для проведения экспериментов на основе популярных синтетических тестов реализовано многопоточное приложение, позволяющее варьировать различные параметры, связанные с выделением памяти. Предложен критерий для оценки результатов профилирования памяти. На примере системы алгоритмической торговли Tbricks показано, что синтетические тесты не обладают достаточной степенью адекватности для анализа влияния профилирования памяти на характеристики оперативности реального приложения. Установлено, что неактивное профилирование не влияет на рассматриваемые характеристики, в то время как при активном профилировании наблюдаемые значения зависят от интервала выборки и могут ухудшаться в несколько раз. Проведен анализ исходного кода библиотеки jemalloc, отве-чающего за профилирование памяти, что помогло определить сбор стеков как основную причину накладных расхо-дов при профилировании. Выполнено сравнение рассматриваемых характеристик оперативности при использовании библиотек для сбора стеков libunwind и prof-libgcc: результаты экспериментов, выполненных с использованием би б-лиотеки для сбора стеков libunwind, в среднем на 20 % хуже, чем при использовании библиотеки prof-libgcc. На ос-нове проведенных экспериментов авторами рекомендован интервал выборки, при котором результаты профилирова-ния содержат информацию не менее чем о 90 % всей выделенной памяти. При этом увеличение времени выполнения приложения с высокой степенью параллелизма составляет порядка 5 % по сравнению с отключенным профилированием, что позволяет анализировать выделение памяти в приложениях в процессе их работы в промышленных условиях.
Abstract:This paper examines the performance impact of jemalloc memory profiler on execution time of multithreaded applications. Using popular synthetic tests the authors implemented a multithreaded application which allows varying different parameters related to memory allocation. A special criteria is suggested to com-pare and estimate profiling results. Tbricks algorithmic trading system is used to demonstrate that popular syn-thetic tests are not adequate enough to analyze memory profiling impact on operational characteristics of the ap-plication. Studies have shown that inactive profiling doesn’t affect the characteristics while with active profiling its values depend on sampling interval and can decrease manyfo ld. According to our analyses of jemalloc library source code related to memory profiling, the part which takes stacktraces is the main reason of extra overhead during profiling. Thus, we compare performance impact on operational characteristics of the app lication using libunwind and prof-libgcc stacktrace libraries: results of experiments made with libunwind stacktrace library are in average 20 % worse than with prof-libgcc. Based on experimental study we recommend using sampling inte r-val which allows of capturing information of at least 90 % of all allocated memory, while execution time of highly multithreaded applications decreases by less than 5 % in comparison with the disabled profiling. This al-lows analyzing memory allocations of applications while executing in production environment.
Авторы: Иванов Е.Ю. ( i@eivanov.com, eiva@tbricks.com) - Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, «Тбрикс АБ» (аспирант, инженер-программист), Санкт-Петербург, Россия, Торопов А.В. (tav@tbricks.com) - Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, «Тбрикс АБ» (аспирант, руководитель отдела), Санкт-Петербург, Россия, Косяков М.С. (mkosyakov@gmail.com, mkosyakov@tbricks.com) - Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, «Тбрикс АБ» (доцент), Санкт-Петербург, Россия, кандидат технических наук | |
Ключевые слова: интервал выборки, стек вызовов, jemalloc, многопоточность, характеристики оперативности, профилирование, память |
|
Keywords: sampling interval, stacktrace, jemalloc, multithreading, operational characteristics, profiling, memory |
|
Количество просмотров: 12105 |
Версия для печати Выпуск в формате PDF (4.84Мб) Скачать обложку в формате PDF (0.35Мб) |
Исследование влияния профилирования памяти средствами библиотеки jemalloc на время выполнения многопоточных приложений
DOI: 10.15827/0236-235X.110.055-059
Дата подачи статьи: 12.01.2015
УДК: 004.4`6
Статья опубликована в выпуске журнала № 2 за 2015 год. [ на стр. 55-59 ]
Для проведения экспериментов на основе популярных синтетических тестов реализовано многопоточное приложение, позволяющее варьировать различные параметры, связанные с выделением памяти. Предложен критерий для
оценки результатов профилирования памяти. На примере системы алгоритмической торговли Tbricks показано, что
синтетические тесты не обладают достаточной степенью адекватности для анализа влияния профилирования памяти
на характеристики оперативности реального приложения. Установлено, что неактивное профилирование не влияет на
рассматриваемые характеристики, в то время как при активном профилировании наблюдаемые значения зависят от
интервала выборки и могут ухудшаться в несколько раз. Проведен анализ исходного кода библиотеки jemalloc, отве-чающего за профилирование памяти, что помогло определить сбор стеков как основную причину накладных расхо-дов при профилировании. Выполнено сравнение рассматриваемых характеристик оперативности при использовании
библиотек для сбора стеков libunwind и prof-libgcc: результаты экспериментов, выполненных с использованием би б-лиотеки для сбора стеков libunwind, в среднем на 20 % хуже, чем при использовании библиотеки prof-libgcc. На ос-нове проведенных экспериментов авторами рекомендован интервал выборки, при котором результаты профилирова-ния содержат информацию не менее чем о 90 % всей выделенной памяти. При этом увеличение времени выполнения
приложения с высокой степенью параллелизма составляет порядка 5 % по сравнению с отключенным профилированием, что позволяет анализировать выделение памяти в приложениях в процессе их работы в промышленных условиях.
Иванов Е.Ю. ( i@eivanov.com, eiva@tbricks.com) - Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, «Тбрикс АБ» (аспирант, инженер-программист), Санкт-Петербург, Россия, Торопов А.В. (tav@tbricks.com) - Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, «Тбрикс АБ» (аспирант, руководитель отдела), Санкт-Петербург, Россия, Косяков М.С. (mkosyakov@gmail.com, mkosyakov@tbricks.com) - Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, «Тбрикс АБ» (доцент), Санкт-Петербург, Россия, кандидат технических наук
Ключевые слова: интервал выборки, стек вызовов, jemalloc, многопоточность, характеристики оперативности, профилирование, память
Ссылка скопирована!
Постоянный адрес статьи: http://swsys.ru/index.php?page=article&id=3998&lang= |
Версия для печати Выпуск в формате PDF (4.84Мб) Скачать обложку в формате PDF (0.35Мб) |
Статья опубликована в выпуске журнала № 2 за 2015 год. [ на стр. 55-59 ] |
Статья опубликована в выпуске журнала № 2 за 2015 год. [ на стр. 55-59 ]
Возможно, Вас заинтересуют следующие статьи схожих тематик:Возможно, Вас заинтересуют следующие статьи схожих тематик:
- Репрезентативность метрик на основе событий процессора Intel Sandy Bridge при анализе времени обработки данных в памяти
- Сравнительный анализ реализаций спин-блокировок
- Сетевые и многопоточные аспекты архитектуры распределенных СУБД
- Генератор текста программ в исходном виде для систем реального времени
Назад, к списку статей