Лекция 6. Методы и средства измерения характеристик программ. Аппаратные измерительные мониторы

Наряду с аналитическими методами для исследования и оценки параметров программ активно используются измерительные методы. Привлекательной стороной этих методов является их высокая достоверность. Поэтому они применяются для проверки имитационных и аналитических методов оценки характеристик программ по принципу: практика – лучший критерий истины.

В целом измерительные методы имеют следующее назначение:

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

2) Предварительное измерение параметров системы для имитационных или аналитических моделей программ перед их последующим использованием. Это связано со сложностью оценки параметров моделей, особенно при использовании новых системных средств с неизвестными динамическими параметрами (например устройств ввода-вывода, нового процессора с не вполне известными характеристиками и т.п.).

3) Проверка адекватности имитационных или аналитических моделей и методов расчета характеристик выполнения программ по результатам моделирования.

Необходимые условия применения измерительных методов:

1) Наличие готовой программы, подлежащей измерительному исследованию;

2) Наличие реальной вычислительной системы (а не её модели) для прогона программы;

3) Наличие аппаратных или программных средств проведения измерений;

4) Создание условий снижения искажений, вносимых в функционирование системы в процессе проведения измерений, до приемлемого уровня.

Общая схема проведения измерений показана на рис.4.

 
  Лекция 6. Методы и средства измерения характеристик программ. Аппаратные измерительные мониторы - №1 - открытая онлайн библиотека

Рис.4

Представленная на рис.4 схема измерений включает следующие компоненты:

1) Исследуемую ВС с установленными программами.

2) Средства регистрации параметров потребляемых ресурсов при выполнении данной рабочей нагрузки.

3) Архив для хранения результатов многочисленных измерений.

4) Результаты измерений обрабатываются некоторой ВС (отдельная ВС или та же, на которой снимались измерения, но после выполнения сеанса измерений.).

5) Рабочая нагрузка - одна или несколько программ или наборов данных для получения статистики проводимых измерений.

Процесс измерения подготовки и проведения измерений включает следующие три этапа:

1) Выбор рабочей нагрузки представительной с точки зрения исследования параметров выполнения программы на исследуемой системе.

2) Выбор (разработка) средств регистрации параметров потребления ресурсов системы.

3) Выбор (разработка) алгоритмов расчетов характеристик программ по результатам измерений.

Все эти три этапа увязываются в единое целое в зависимости от того, какой проводится эксперимент и как он планируется.

Существует два основных способа регистрации измеряемых параметров:

- трассирующий:

- выборочный.

При трассирующем способе измеряемые параметры фиксируются в момент наступления какого-либо события, связанного с изменением управляющих таблиц операционной системы. В результате получаем множество значений ri потребления i - го ресурса, взятых в моменты времени наступления j-го события.

{ri (ej)} e -event.

В качестве событий обычно рассматриваются обращения к некоторым операторам программы, программным модулям, наборам данных или устройствам системы.

Если рассматривается емкостная нагрузка - то берутся наборы данных, а если временная нагрузка - то выбираются обращения к программным компонентам.

Вторая группа событий - прерывания процессора как внутренние, так и внешние, наступаю-щие при обмене данными с внешними устройствами.

При выборочном способе измерения производятся в моменты времени tj, обычно равноудаленные друг от друга.

tj = tj-1 +Dt

Трассирующий метод характеризуется меньшим количеством измерений параметров и сильной зависимостью от конкретной рабочей нагрузки.

Выборочный метод имеет на 1-2 порядка большее число измерений параметров в связи со статистическими методами последующей обработки результатов измерений.

Выборочный способ применяется потому, что регистрация событий - дело довольно сложное, но для того, чтобы не пропустить момент наступления события, измерения надо производить часто (через малые промежутки времени) и, как следствие, приходится брать много лишних отсчетов измеряемой величины, поэтому количество измерений возрастает.

Достоинства выборочного способа - более простой, т.к. не надо регистрировать наступление событий.

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

К измерительным мониторам предъявляются следующие требования:

1) Минимальные искажения в системе при выполнении программы.

Искажения бывают двух типов:

- временные искажения - искажения связанные с рассогласованием реального времени наступления события и временем регистрации параметра монитором;

- пространственные искажения - сам монитор и собираемые им данные занимают место в памяти ЭВМ и препятствуют размещению объектов программы).

2) Достаточная точность измерений.

3) Достаточно высокая разрешающая способность (по интервалам времени фиксации событий).

4) Независимость от измеряемой системы (программы).

5) Низкая стоимость (Чтобы не отпугивать пользователей.)

6) Простота использования.

Лекция 6. Методы и средства измерения характеристик программ. Аппаратные измерительные мониторы - №2 - открытая онлайн библиотека Классификация измерительных мониторов.

Общую схему классификации измерительных мониторов можно представить в виде, пока-занном на рис.5.

Рис.5

Обычно с помощью измерительных мониторов получают следующие типы характеристик:

1. Трассировочная запись - множество пар {ri ; tj } значений, где:

ri - некоторое i-ый параметр потребления ресурсов системы;

tj - интервал времени между предыдущим и текущим регистрируемым событием, либо момент регистрации.

Трассировочная запись является наиболее полной характеристикой поведения анализируемой программы и может содержать 10-ки тысяч записей. Её достоинством также является хронология последовательности выполнения программы.

2. Профиль (динамический) выполнения программы.

Они делятся на две группы:

- частотные;

- временные.

Частотные профили определяют количественное распределение потребления рассматриваемых ресурсных параметров.

Временные профили задают распределение времён потребления ресурсов в абсолютном или относительных масштабах.

Достоинства профилей - позволяют выявлять узкие места выполнения программ в монопольном режиме. В дальнейшем можно улучшить эти участки программы изменением алгоритма или заменой программных действий аппаратными.

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

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

Примеры частотного и временного профилей распределения арифметических команд некоторого процессора приведены в табл.9

Таблица 9

  Выполняемые операции. Частотный профиль Временной профиль
абсолютный Относител.
Сложение с фикс.запятой 514 раз 0,5 мс 4,46 %
Умножение с фикс.запятой 72 раз 1,4 мс 12,50 %
Вычитание, сравнение 256 раз 0,3 мс 2,68 %
Деление 14 раз 2,0 мс 17,86 %
Операции с плав. Запятой 78 раз 7,0 мс 62,50 %
         

3. Смеси (динамические) (команд/программ).

Позволяют оценивать для различных совокупностей команд или программ частотные распределения использования ресурсов системы. Для различных программ можно составлять различные смеси (смеси вычислительных задач, смеси для диалоговых сценариев, смеси для графических систем и т.п.). Смеси имеют меньшую зависимость от конкретных программ и предметную ориентированность. Позволяют анализировать производительность ВС в целом.

4. Коэффициенты загрузки позволяют оценить загруженность некоторого ресурса при выполнении программы как отношение времени использования ресурса к общему времени исполнения программы Кз = Тиспобщ.

Аппаратные измерительные мониторы (АИМ).

АИМ подразделяются на встроенные и автономные.

Встроенные АИМ - включаются в аппаратуру системы заводом изготовителем, как правило, для выполнения тестовых измерений в фиксированном наборе внутренних точек устройств системы.

Основное назначение встроенного АИМ - для проверки, контроля и настройки ВС. Но т.к. в его составе могут находиться триггеры состояний схемы, счетчики и некоторые другие устройства, то они могут использоваться и ддя измерения параметров программ.

Автономные АИМ подключаются к измерительным точкам извне системы через специальные разъемы и могут задавать любые точки доступные для измерений. Автономные АИМ наиболее общий случай.

Рассмотрим структурную схему автономного АИМ, показанную на рис.6.

Лекция 6. Методы и средства измерения характеристик программ. Аппаратные измерительные мониторы - №3 - открытая онлайн библиотека

Рис.6

Зонд - высокоомный датчик сигналов, не влияющий на функционирование системы.

Фильтр событий – устройство, вырабатывающее сигнал истинности, при наступлении какого-либо события. Может содержать аналоговые компараторы для сравнения уровней сигналов с заданными границами, цифровые компараторы для сравнения кодов, простейшие автоматы типа детекторов последовательностей команд или адресов памяти (2-3 команды или адреса, повторяющиеся друг за другом могут служить признаком наступления события).

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

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

Часы реального времени - служат для регистрации моментов наступления событий или длительностей интервалов времени между событиями.

Пример АИМ с фиксированной программой и последовательным входом (рис.7) для измерения коэффициента загрузки процессора или другого ресурса по формуле

Лекция 6. Методы и средства измерения характеристик программ. Аппаратные измерительные мониторы - №4 - открытая онлайн библиотека

 
  Лекция 6. Методы и средства измерения характеристик программ. Аппаратные измерительные мониторы - №5 - открытая онлайн библиотека

Рис. 7

Пример АИМ с фиксированной программой и параллельным входом для снятия частотного профиля операций процессора, используемых при выполнении программы.

Каждому коду операции процессора ставится в соответствие ячейка таблицы, размещаемой в памяти прямого доступа (ППД), подключаемой в инкрементном режиме. За одно обращение к ячейке ППД с заданным алресом читается ее содержимое, инкрементируется и возвращается в ту же ячейку. Смещение адреса ячейки задается выходом фильтра событий, фиксирующего операцию исполняемой команды программы. В результате ячейки таблицы работают как счетчики количества использования каждой операции процессора и формируют частотный профиль программы.

Лекция 6. Методы и средства измерения характеристик программ. Аппаратные измерительные мониторы - №6 - открытая онлайн библиотека

АИМ неудобны тем, что легко регистрируют события в аппаратных средствах, но менее ориентированы на измерения параметров, характеризующих выполнение программ. Более гибкими являются измерительные средства, в которых программно фиксируются события, а аппаратным способом осуществляется регистрация параметров при их наступ-лении - такой принцип работы заложен в гибридных измерительных мониторах (ГИМ).

Пример ГИМ для оценки распределения частот использования нерезидентных и резидентных модулей программы (например, при настройке конфигурации ОС) показан на рис.8. При ограниченном ресурсе основной памяти часть модулей резидентно располагается в памяти с произвольным доступом RAM, другие же модули загружаются в память по мере необходимости из дисковой памяти и после их использования память очищается. Так как нерезидентные модули загружаются в свободные сегменты памяти, их размещение может быть произвольным и поэтому на основе фиксации участков памяти, используемых ЭВМ в данный момент, трудно определить, какой модуль занимает процессорное время в данный момент (за исключением резидентных модулей).

Лекция 6. Методы и средства измерения характеристик программ. Аппаратные измерительные мониторы - №7 - открытая онлайн библиотека Место загрузки нерезидентного модуля в RAM можно выяснить из управляющих таблиц ОС измеряемой ЭВМ - но для этого надо использовать дополнительную измери-тельную ЭВМ, которая может программно получить доступ к управляющим таблицам ОС измеряемой ЭВМ и соответствующим образом настроить компараторы фильтра событий.

Рис.8

На рис.8 показаны:

- RAM - память с произвольным доступом; управляющие таблицы ОС хранят адреса загрузки и размеры модулей программы в RAM;

- Контроллер диска с триггером состояния «занято» позволяет фиксировать моменты выполнения операций чтения - записи информации на диск, изменяющих размещение нерезидентных модулей;

- Фильтр событий (включающий счетчики и компараторы с уставками адресов размещения модулей), управляемый измерительной ЭВМ, позволяет отслеживать, с какими модулями работает программа и как часто к ним идет обращение;

- Через ШВВ (шину ввода - вывода) измерительная ЭВМ связана с управляющими таблицами RAM измеряемой ЭВМ, что позволяет ей определять, какой модуль программы размещен в заданных адресах ОЗУ.

Гибридные измерительные мониторы сочетают достоинства аппаратных и программных мониторов, но являются более специализированными, чем программные, и дорогими.