Исследование и тестирование семплирующего метода профайлинга на примере профилировщика производительности Intel VTune Amplifier XE 2011 Выполнил: Одеров.

Презентация:



Advertisements
Похожие презентации
Теоретический анализ и разработка методик оценки достоверности информации, получаемой современными профайлерами Исполнитель: Булычев И.Д. Научный руководитель:
Advertisements

Оптимизация управляющего графа программ, имеющих избыточные условные вычисления Выполнил: Степнов Денис, 816 гр. Научный руководитель: Бучнев А.Ю. Выпускная.
1 Web – администрирование системы электронных ведомостей Выполнил студент гр.4637 Ерёменко Е.А. Руководитель Горюнов В.А.
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ ЭЛЕКТРОНИКИ И МАТЕМАТИКИ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ) КАФЕДРА ИКТ Дипломный проект на тему: Студент: Руководитель проекта:
Задачи связности и реберной двусвязности на динамически меняющихся графах Автор: Сергей Копелиович, студент 545 группы Научный руководитель: старший преподаватель.
1 Web – администрирование системы электронных ведомостей Выполнил студент гр.4637 Ерёменко Е.А. Руководитель Горюнов В.А.
Реализация индексного анализа для деревьев циклов любого вида сложности Выполнил : студент 818 гр. Юдин Павел Научный руководитель : к. т. н. Муханов Л.
Декомпозиция сложных дискретных систем, формализованных в виде вероятностных МП-автоматов. квалификационная работа Выполнил: Шляпенко Д.А., гр. ИУ7-83.
Функции замера времени.
Моделирование динамики твердых тел и систем связанных тел с механическими соударениями Исполнитель: ст. гр. МП-50 Дябин Е. М. Руководитель: Асоцкий Д.
Система предотвращения отключений клиентов на основе статистического анализа использования инструментов удержания Выполнил: Медведев А.А. Руководитель:
1 Трус Мария Александровна ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ ТЕХНИЧЕСКИЙ.
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ ЭЛЕКТРОНИКИ И МАТЕМАТИКИ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ) КАФЕДРА ИКТ 1 Лекция 1 (окончание). О ключах и целостности. Курс:
Девятая независимая научно-практическая конференция «Разработка ПО 2013» октября, Москва Евгения Фирсова, Яндекс.Деньги KPI разработчика.
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В ЛОГИСТИКЕ: как обеспечить эффективность их применения Минск, 2013.
Model/View-архитектура CASE-пакета REAL-MV Тимофей Брыксин, гр. 545 Научный руководитель: А.Н.Терехов Рецензент: Д.В.Кознов.
Дипломная работа Разработка подсистемы табельного учета для конфигурации 1С: «Зарплата и управление персоналом 8.2» Научный руководитель: ст. преподаватель.
Разработка программного обеспечения (Software Engineering) Часть 2. Создание ПО.
РАЗРАБОТКА И РЕАЛИЗАЦИЯ МОДУЛЯ ПРОГНОЗИРОВАНИЯ ВОЛАТИЛЬНОСТИ С ИСПОЛЬЗОВАНИЕМ РАНДОМИЗИРОВАННЫХ АЛГОРИТМОВ Федяшов Виктор Алексеевич,545 группа Научный.
Адаптивный инструментарий для поддержки разработки и развития Web- систем Саяпин Роман Новосибирск, ФИТ НГУ 18 апреля 2011 г.
Транксрипт:

Исследование и тестирование семплирующего метода профайлинга на примере профилировщика производительности Intel VTune Amplifier XE 2011 Выполнил: Одеров Роман, 345 гр. Научный руководитель: Баклановский М.В., ст. преподаватель кафедры СП 2012

Повысить производительность! 2

Методы профайлинга Семплирование – Периодический замер системных счетчиков Инструментирование – Добавление в код специальных команд, осуществляющих сбор информации о ее работе 3

Достоинства и недостатки методов Семплирование + относительная простота + не изменяет код программы - статистический подход Инструментирование + точность - изменение кода программы 4

Существующие продукты 5 Intel VTune Amplifier XE Microsoft xPerf AMD CodeAnalyst

Постановка задачи Определить недостатки семплирования слабые места профайлера влияние на производительность системы 6

Simple Asm 7 mov rcx, l1: mov rax,rbp loop l1 Функция, выполняющая mov rcx раз Результат: не обнаружено ничего лишнего без VTune ~ мс с VTune ~16458 мс

Main AExternal AMiddle AInternal FunctionStackTest 8 Вложенные функции Результат: с оптимизацией профайлер обнаружил только функции main и AMiddle. Без оптимизации – все. С VTune ~ 9000 мс Без VTune ~ 9000 мс

CreateProcessesTest 9 NewProcessCreateAndExit(){ CreateProcess(EmptyFunction.exe,...); } Main(){ for (i = 0; i < quantity; i++) NewProcessCreateAndExit(); } Функция, создающаяпустые процессы Результат: 500 процессов без VTune ~ 18 секунд 500 процессов с VTune ~ 15 минут Замечание: сбор результатов ~ 30 минут

Оценка пропущенных вызовов 10 Идея: вызывать в циклах (в разных местах программы П1) функцию IncCounter() замерить время работы функции с профайлером/без профайлера оценить замедление (накладные расходы по времени) и количество пропущенных вызовов. Реализация: Дополнительная программа (П2), реализующая подсчет времени работы только функции IncCounter()

lightweight hotspots Hotspots IncCounter() в программе П2 (итераций 75*10 8 ) ms ms Программа П ms ms IncCounter() в программе П1 (итераций 3*10 8 ) ms ms Программа П ms ms

It' – кол-во итераций, замеченных профайлером It – общее кол-во итераций T 1 – время работы программы П1 без профайлинга T 2 – время работы программы П1 с профайлингом Т 0 – время работы 3*10 8 IncCounter() без профайлинга T x – время работы 3*10 8 IncCounter() с профайлингом K = T 2 /T 1 – коэффициент замедления всей программы T 2.IncCounter – время работы IncCounter() в П1 с VTune It'/It = T 2.IncCounter/T x It'/It = T 2.IncCounter/(T 0 * K) T 2.Counter/T x T 2.Counter/(T 0 * K)K lightweight hotspots

13 Цель: выявить ошибки семплирующего подхода, вызванные аппроксимирующей техникой Способ: из стека вызовов функций соорудить распределенную (во времени) пилу Реализация: нужно вызывать различные функции N раз в глубину, причем N будет выбираться случайно Saw

Состояние стека во времени 14 t Глубина вложенности функций

Результаты Выявлены недостатки семплирования – Функция может быть незамеченной, даже если работает большую часть времени – Функция может быть отражена, как hotspot, даже если работает ничтожно малое время Накоплен набор тестов, подтверждающих выдвинутые гипотезы Замечено серьезное влияние на производительность Планы на будущее Продолжение разработки прототипа профайлера ядра MS WS2008 R2 x64 15