Аппаратные и программные измерительные мониторы
Введение
Наряду с аналитическими методами для исследования и оценки параметров программ активно используются измерительные методы. Привлекательной стороной этих методов является их высокая достоверность. Поэтому они применяются для проверки имитационных и аналитических методов оценки характеристик программ по принципу: практика – лучший критерий истины.
В целом измерительные методы имеют следующее назначение:
- Измерение параметров потребления программами ресурсов вычислительной системы с целью устранения дефектов производительности.
- Предварительное измерение параметров системы для имитационных или аналитических моделей программ перед их последующим использованием. Это связано со сложностью оценки параметров моделей, особенно при использовании новых системных средств с неизвестными динамическими параметрами (например устройств ввода-вывода, нового процессора с не вполне известными характеристиками и т.п.).
- Проверка адекватности имитационных или аналитических моделей и методов расчета характеристик выполнения программ по результатам моделирования.
Необходимые условия применения измерительных методов:
- Наличие готовой программы, подлежащей измерительному исследованию;
- Наличие реальной вычислительной системы (а не её модели) для прогона программы;
- Наличие аппаратных или программных средств проведения измерений;
- Создание условий снижения искажений, вносимых в функционирование системы в процессе проведения измерений, до приемлемого уровня.
- Аппаратные измерительные мониторы (АИМ).
АИМ подразделяются на встроенные и автономные.
Встроенные АИМ - включаются в аппаратуру системы заводом изготовителем, как правило, для выполнения тестовых измерений в фиксированном наборе внутренних точек устройств системы.
Основное назначение встроенного АИМ - для проверки, контроля и настройки ВС. Но т.к. в его составе могут находиться триггеры состояний схемы, счетчики и некоторые другие устройства, то они могут использоваться и ддя измерения параметров программ.
Автономные АИМ подключаются к измерительным точкам извне системы через специальные разъемы и могут задавать любые точки доступные для измерений. Автономные АИМ наиболее общий случай.
Рассмотрим структурную схему автономного АИМ, показанную на рис.1.
Измеряемая
вычислительная
система
Фильтр
событий
Регистратор
Архив
Часы реального времени
(ЧРВ)
Зонд
протяженность линий м.б. большой
Рис.1
Зонд - высокоомный датчик сигналов, не влияющий на функционирование системы.
Фильтр событий – устройство, вырабатывающее сигнал истинности, при наступлении какого-либо события. Может содержать аналоговые компараторы для сравнения уровней сигналов с заданными границами, цифровые компараторы для сравнения кодов, простейшие автоматы типа детекторов последовательностей команд или адресов памяти (2-3 команды или адреса, повторяющиеся друг за другом могут служить признаком наступления события).
Регистратор - набор счетчиков, осуществляющих фиксацию и первичное сжатие результатов измерений.
Архив - место длительного хранения результатов измерений. Так как счетчики регистратора могут переполниться и потерять результаты измерений, то их содержание периодически переписываются в архив, откуда данные могут быть извлечены при необходимости.
Часы реального времени - служат для регистрации моментов наступления событий или длительностей интервалов времени между событиями.
Регистр
сосотояния
ЦП
&
Счетчик А
&
Счетчик
В
ГТИ
Часы реального времени
Блок управления
Старт
Стоп
Занят
Измеряемая ВС
Пример
АИМ с фиксированной
программой и последовательным
входом (рис.2) для измерения коэффициента
загрузки процессора или другого ресурса
по формуле
Рис. 2
Пример АИМ с фиксированной программой и параллельным входом для снятия частотного профиля операций процессора, используемых при выполнении программы.
Каждому коду операции процессора ставится в соответствие ячейка таблицы, размещаемой в памяти прямого доступа (ППД), подключаемой в инкрементном режиме. За одно обращение к ячейке ППД с заданным алресом читается ее содержимое, инкрементируется и возвращается в ту же ячейку. Смещение адреса ячейки задается выходом фильтра событий, фиксирующего операцию исполняемой команды программы. В результате ячейки таблицы работают как счетчики количества использования каждой операции процессора и формируют частотный профиль программы.
ЦП
Блок
управления
Регистр
или дешифратор
кода
операции
Измеряемая ВС
&
&
&
&
КОП
ГОТ
Регистр
адреса
памяти
Базовый адрес
Таблицы
операций
Смещение
адреса
текущей операции
Память прямого доступа.
Таблица фиксации числа операций
БуфРгДан
(Чт-Инкр-.Зап.)
Рис. 3
АИМ
неудобны тем, что легко регистрируют
события в аппаратных средствах,
но менее ориентированы на измерения
параметров, характеризующих выполнение
программ.
- Программные измерительные мониторы.
Программные
измерительные мониторы (ПИМ) - это
совокупность команд или программ,
выполняемых исключительно с
целью проведения измерений. Обычно
ПИМ – это специальные
То, что эти команды ПИМ должна выполнять сама измеряемая система, приводит к возникновению искажений. Количество искажений зависит от частоты обнаруживаемых событий и от операций, выполняемых измерителем при обнаружении каждого события.
Идея
использовать измерительные средства
в процессе разработки программ - не
нова. В настоящее время существует
несколько типов таких
- как и на что расходуется время работы программы;
-
сколько раз выполняется
- сколько раз и какими модулями вызывается данный модуль программы.
Один
из самых известных
Другой подход реализован, например, в пакете Interval Performance Monitoring (IPM) Калифорнийского Университета. IPM ориентирован исключительно на временные измерения и состоит из набора отдельных функций для замера времени и протоколирования результатов измерения. Функции вставляются в нужные места программы, после чего программа компилируется. Такой подход позволяет резко повысить точность измерений, но требует значительных дополнительных усилий по сбору и классификации полученной информации. Трудоемкость проведения измерительного эксперимента не позволяет считать системы типа IPM полноценными профилировщиками.
Многие из полезных принципов организации системы Turbo Profiler и пакета IPM были реализованы на кафедре МОЭВМ в ПИМ Sampler. Особенностью работы ПИМ Sampler являются:
1. Исследуемая программа запускается под управлением монитора и монитор берет на себя все функции по накоплению результатов измерений и протоколированию.
2. Исследуемая
программа выполняется "
3. Измерения
времени выполняются с
4. Искажения,
вносимые ПИМ за счет
5. По
результатам измерений
На этапе
планирования измерительного эксперимента
производится задание контрольных
точек. После этого исследуемая
программа компилируется. Задание
контрольной точки предполагает
вызов некоторой функции на языке
программирования исследуемой программы.
Назовем эту функцию функцией
задания контрольных точек или
просто функцией контрольных точек.
Эта функция не должна вносить
больших искажений в работу исследуемой
программы. Для этого она должна
быть небольшого размера и обладать
высоким быстродействием. Вызов
функции контрольных точек
Проведение
измерительного эксперимента начинается
с запуска монитора. Работа измерительного
монитора состоит из нескольких фаз.
- Подготовительные
операции. На этом этапе производится
проверка допустимости входных параметров,
формирование необходимых структур
данных и операции по калибровке измерительного
монитора. После окончания
подготовительных операций управление передается исследуемой программе. Управление передается по схеме - "запуск программы-потомка с возвратом в предок". - Идентификация и накопление измерительный информации. Эти действия производится после перехвата прерывания от исследуемой программы. Идентификация информации подразумевает не только анализ положения контрольных точек, но и определение ряда статистических сведений о проходах между контрольными точками. Накопление такого рода измерительной информации облегчает последующее формирование отчета и позволяет резко сократить расход памяти, потребляемой монитором. При накоплении измерительная информация корректируется для снятия временных искажений монитора. Таким образом, исследуемая программа выполняется без трассировки и освобождается от операций по анализу и протоколированию измерительной информации. Это полностью соответствует принципам 1, 2 и 4.
- Операции по анализу измерительной информации и формированию отчетов. Эта фаза является заключительной и наступает после окончания работы исследуемой программы. Реализация условия 5 требует значительных ресурсов ВС. В этой связи, целесообразно графическую интерпретацию снятого профиля выполнять в отдельной программе - просмотрщике. Снятый профиль программы выдается в виде текстового файла и в виде двоичного.
В «Sampler»e замеры системного времени проводятся, как и для IPM, внутри тестируемой программы вызовом функции задания точки профилирования. Этим достигается высокая точность измерения времени и отсутствие ограничений на использование отладочной информации и оптимизации компилятора. Функция задания точки профилирования определена в модуле на соответствующем языке программирования, подключаемом к тестируемой программе. С другой стороны, запуск тестируемой программы осуществляется, как и для Turbo Profiler, через монитор. Это позволяет освободить пользователя от сбора и классификации измерительной информации. Результаты измерения могут быть представлены как на экране компьютера, так и твердой копией после вывода протокола измерения на принтер.
ПИМ Sampler состоит из двух исполняемых модулей следующего функционального назначения:
- Измерительный монитор Sampler. Монитор запускает программу пользователя и перехватывает прерывания, несущие информацию о прохождении тестируемой программы пользователя через определяемые им точки (контрольные точки ). После отработки тестируемой программы, монитор выгружает собранную информацию в текстовый файл с профилем тестируемой программы и создает специальный двоичный файл для графической интерпретации результатов;
- Программа графической интерпретации результатов профилирования Smpview. Программа выдает снятый профиль на экран в максимально информативной форме. Такой формой является ориентированный граф с вершинами в контрольных точках снятия отсчетов. Программа анализирует схему переходов между контрольными точками и отображает ее в виде дуг графа. Информацию о времени перехода можно получить отметив нужные вершины на графе.
ЛИТЕРАТУРА
1. Липаев В.В. Качество программного обеспечения. - М.: Финансы и статистика, 1983. -263с.
2. Назаров
С.В., Барсуков А.Г. Измерительные
средства и оптимизация
3. Боэм Б.У.
Инженерное проектирование
4. Авен О.И. и др. Оценка качества и оптимизация вычислительных систем. - М.: Наука, 1982. -485с.
5. Кузовлев В.И., Шкатов П.Н. Математические методы анализа производительности и надежности САПР, М.: Высшая школа, 1990.
6. Липаев В.В. Надежность программного обеспечения. - М.: Энергоиздат, 1981. -241с.

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