'

Дипломная работа

Понравилась презентация – покажи это...





Слайд 0

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


Слайд 1

Профайлинг Профайлинг - измерение использования ресурсов время – основной ресурс Инструменты разрабатываются уже 40 лет


Слайд 2

Измерения никогда не бывают точными Проблемы профайлинга Программа Программа программа программа программа


Слайд 3

Постановка задачи Протестировать и сравнить современные промышленные профайлеры Intel VTune AMD CodeAnalyst AQTime Определить, в каких случаях один профайлер предпочтительнее другого Сравнить их со своей разработкой


Слайд 4

Единицы измерений До некоторого времени использовались clocks Tclocks / ? – время выполнения инструкции в секундах Сейчас все используют другие единицы события, timer samples, однозначно не переводятся в секунды


Слайд 5

Причины проблем Конвейер инструкций (суперскалярность), Предсказание ветвлений (спекулятивность), Беспорядочность, Гиперпоточность, суперпоточность, Кеши


Слайд 6

Тестирование профайлеров Примеры подбирались таким образом, чтобы внести наибольшие погрешности в показания Пример теста std::cin >> k; int m = n / k; for (int i = 0; i < m; i++) { for (int j = 0; j < k; j++) { s += j; } }


Слайд 7

Автоматизация тестирования Intel VTune пакетный файл, скрипт извлечения данных из отчета AMD CodeAnalyst пакетный файл, программа на С++ AQTime пакетный файл, GUI, excel


Слайд 8

Результаты тестирования (1/7) Использование памяти Без использования памяти AMD INTEL


Слайд 9

Результаты тестирования (2/7) Использование памяти Активное использование памяти AMD INTEL


Слайд 10

Результаты тестирования (3/7) Использование памяти Использование памяти с промахами кеша AMD INTEL


Слайд 11

Результаты тестирования (4/7) Предсказание ветвлений Маленький цикл AMD INTEL


Слайд 12

Результаты тестирования (5/7) Предсказание ветвлений Периодически выполняемые операции AMD INTEL


Слайд 13

Результаты тестирования (6/7) Потеря контекста Погрешность семплирования AMD


Слайд 14

Результаты тестирования (7/7) Частый вызов процедур Ошибка профайлера AQTime AMD


Слайд 15

Сравнение профайлеров AMD CodeAnalyst проявил себя лучше всех Работает на процессорах обоих типов Intel VTune на процессорах Intel работает так же хорошо как и CodeAnalyst AQTime хуже всех значительная погрешность в некоторых тестах ошибка профайлинга отсутствие гибких средств автоматизации тестирования


Слайд 16

Результаты Разработан собственный профайлер использующий метод подсчета инструкций Предложена методика тестирования профайлеров разработаны тесты автоматизирован процесс тестирования предложена функция перевода единиц Выявлены преимущества и недостатки профайлеров Предложены рекомендации по использованию инструментов


Слайд 17

Плюсы метода подсчета инструкций Результат зависит только от программы (детерминизм) На результаты не влияют оптимизации процессора На результаты не влияют обращения к памяти операции ввода-вывода фоновая нагрузка


×

HTML:





Ссылка: