Методы измерения временных характеристик в реальном времени

Имеется три вида методов сбора информации о производительности параллельной программы:

· рабочий профиль программы (execution profile) представляет собой общее время, проведенное в различных участках программы;

· счетчики событий или совокупного времени;

· трассировка событий.

Рабочий профиль

формируется автоматически для каждого процессора. При этом используется метод выборки данных через фиксированные промежутки времени, поэтому точность измерения не столь высока. По результатам можно построить гистограмму рабочих величин, например, определить задачу, которая забирает наибольшую часть вычислительного времени параллельного алгоритма на текущий момент.

Счетчик

представляет собой переменную, которая может быть увеличена каждый раз при наступлении определенного события. Счетчик может использоваться для подсчета количества вызовов данной процедуры, общего количества переданных или принятых сообщений, общего размера переданных или принятых данных для каждого процессора, задачи или канала. Некоторые счетчики встроены в библиотеки среды параллельного программирования, и можно заводит новые путем вставки соответствующих вызовов библиотеки в исходный код задач.

Другой вариант счетчика – интервальный таймер. Он может использоваться для точного измерения времени выполнения определенных участков кода программы (задачи). Поэтому с помощью таймера можно измерять такой критичный ресурс процессора как производительность.

Информация, накопленная счетчиками, может использоваться в рабочих профилях программы.

Трассировка

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

Трассировка событий может использоваться для локализации источников простоя и временной перегрузки программы, и так называемых «узких мест» в каналах передачи данных.

Полученные трассировочные данные могут также использоваться в рабочем профиле программы и счетчиках.