Аппаратные и программные измерительные мониторы

Автор работы: Пользователь скрыл имя, 23 Января 2012 в 12:11, курсовая работа

Описание работы

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

Файлы: 1 файл

Курсовая_метрология.docx

— 135.97 Кб (Скачать файл)

Введение

 

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

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

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

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

  1. Наличие готовой программы, подлежащей измерительному исследованию;
  2. Наличие реальной вычислительной системы (а не её модели) для прогона программы;
  3. Наличие аппаратных или программных средств проведения измерений;
  4. Создание условий снижения искажений, вносимых в функционирование системы в процессе проведения измерений, до приемлемого уровня.
 
 
 
 
    1. Аппаратные  измерительные мониторы (АИМ).
 

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

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

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

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

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

         

Измеряемая

вычислительная

система 
 

Фильтр

событий 
 

Регистратор 
 

Архив

Часы  реального времени 

(ЧРВ)

Зонд

протяженность линий м.б. большой

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

    Рис.1 

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

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

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

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

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

Регистр

сосотояния

ЦП

 & 

Счетчик А

 & 

Счетчик В 

ГТИ

Часы  реального времени

Блок  управления

Старт

Стоп

Занят

Измеряемая ВС

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

Рис. 2

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

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

ЦП 

Блок  управления 
 

Регистр

или дешифратор

кода 

операции 

Измеряемая ВС

 & 
 

 & 

 & 

 & 
 

КОП

ГОТ

Регистр

 адреса

памяти 

Базовый  адрес

Таблицы

операций 

Смещение

 адреса

текущей операции

Память  прямого доступа.

Таблица фиксации числа операций

БуфРгДан

(Чт-Инкр-.Зап.)

 

       

       

       

       

       

         
 
 
 
 

Рис. 3

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

    1. Программные измерительные мониторы.
 

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

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

Идея  использовать измерительные средства в процессе разработки программ - не нова. В настоящее время существует несколько типов таких программных  средств.  Особое место среди них  занимают профилировщики. Профилировщики (называемые также анализаторами  процесса выполнения программ) - это  программы, позволяющие получить ряд  количественных данных о процессе выполнения объекта разработки (снять профиль  разрабатываемой программы) и на основании этих  данных  выявить  в  программе "узкие места", отрицательно сказывающиеся на эффективности  ее работы. Профиль программы может  содержать, например, следующую информацию  о процессе выполнения программы:

  - как и на что расходуется  время работы программы;

  - сколько раз выполняется данная  строка программы;

- сколько  раз и какими модулями вызывается данный модуль программы.

Один  из самых известных профилировщиков  -  Turbo  Profiler  фирмы Borland International. Система Turbo Profiler контролирует каждый шаг выполнения программы и предоставляет подробные статистические сведения о всех этапах ее работы. Такой подход к измерениям позволяет проводить профилирование в интерактивном режиме и получать большое количество сведений о работе программы,  но вносит большие временные искажения в процесс ее выполнения. Кроме того, для проведения измерительного эксперимента тестируемая  программа должна быть откомпилирована с отладочной информации  при  отключении оптимизации компилятора. Это делает профилирование неадекватным реальному выполнению программы. Для получения достоверной информации о времени выполнения от программиста требуется  достаточно высокая квалификация в методике планирования и проведения измерительного эксперимента. Таким образом, Turbo Profiler ориентирован прежде всего на профессиональных программистов. За счет грамотного  планирования эксперимента и отказа от ряда сервисных функций можно повысить точность временных измерений до 55 мс. Тем не менее, такая точность в ряде случаев недостаточна.

       Другой  подход реализован, например, в пакете Interval Performance Monitoring (IPM) Калифорнийского Университета. IPM ориентирован исключительно на временные измерения и состоит из набора отдельных функций для замера времени и протоколирования результатов измерения. Функции вставляются в нужные места программы, после чего программа компилируется. Такой подход позволяет резко повысить точность измерений, но требует значительных дополнительных усилий по сбору и классификации полученной информации. Трудоемкость проведения измерительного эксперимента не позволяет считать системы типа IPM полноценными профилировщиками.

       Многие  из  полезных  принципов  организации  системы  Turbo Profiler и пакета IPM были реализованы на кафедре МОЭВМ в ПИМ Sampler. Особенностью работы ПИМ Sampler  являются:

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

2. Исследуемая  программа выполняется "естественным" образом, а не по шагам и  без использования отладочной  информации.

3. Измерения  времени выполняются с максимально  возможной точностью.

Информация о работе Аппаратные и программные измерительные мониторы