Научная статья на тему 'Анализ методов оценки производительности традиционных информационно-вычислительных систем'

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

CC BY
385
40
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Борзенков Дмитрий Петрович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Борзенков Дмитрий Петрович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Анализ методов оценки производительности традиционных информационно-вычислительных систем»

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ И АВТОМАТИЗИРОВАННЫЕ СИСТЕМЫ УПРАВЛЕНИЯ

УДК 004.412.2 д. П. БОРЗЕНКОВ

Омский государственный технический университет

АНАЛИЗ МЕТОДОВ ОЦЕНКИ

ПРОИЗВОДИТЕЛЬНОСТИ

ТРАДИЦИОННЫХ

ИНФОРМАЦИОННО-ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ

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

Целью этого анализа является рассмотрение сущ- Методологию оценки производительности [1,2,3,

ности основных методов оценки производительности 7, 8, 9] можно представить как последовательность

традиционных информационно-вычислительных шагов или этапов. Первым обычно является выбор ме-

систем. Первые методики оценки производитель- ры или мер производительности, то есть тех парамет- 3

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

созданы в 1973 году. Комплексное изложение различ- этого определяют зависимость производительности

ных аспектов теории вычислительных систем приве- от структуры анализируемой системы и ее рабочей д

дено в [2-8]. Анализ литературы показывает, что ос- нагрузки. Для этого строят модель рабочей нагрузки

новными задачами моделирования вычислительных и модель самой информационно-вычислительной

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

тельной системы в целом. уровней рассмотрения вычислительных систем [ 10]:

>

— CRT - уровень схем и регистровых передач;

— PMS - уровень взаимодействия процессор - память;

— ISP- уровень системы команд (здесь уже начинается программный уровень);

— SVC - уровень системных вызовов и прерываний;

— PS-уровеньпрограммных процессов;

— JOB - уровень работ (программ);

— TASK- уровень задач (комплексы работ).

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

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

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

— предоставить корректную, адекватную и представительную характеристику прикладных процессов пользователей для прогнозирования их поведения на классе систем настолько широком, насколько это возможно;

— обеспечить управляемые и воспроизводимые эксперименты при оценке производительности;

— сократить настолько, насколько это возможно количество анализируемых данных без ущерба точности анализа;

— предоставить данные в форме, пригодной для их использования моделью системы.

Основными видами моделей рабочей нагрузки на сегодняшний день являются:

— смеси команд (10,11);

— эталоны (6, 12,13];

— стохастические модели [2,7,14];

— трассы [1,15,16].

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

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

порядок их следования, он вообще не применим. В процессорах упомянутого типа есть, например, возможность сцепки команд, которая может существенно повлиять на производительность.

Этот недостаток является следствием того, что данный подход к моделированию рабочей нагрузки не охватывает внутренние и внешние факторы в вычислительной системе. Неявно предполагается, что появление команд является статистически независимым, что, естественно, не верно [17]. В настоящее время этот подход практически применяется редко.

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

Эталоны могут быть построены из уже существующих программ. Способы построения могут быть самыми разными: от случайного выбора программ на входе системы до тщательного подбора каждого оператора в эталоне. Однако одним или несколькими эталонами охватить достаточно точно весь класс работ довольно трудно [18]. Этот подход применяется в основном для сравнения существующих систем. Его применение в случае отсутствия анализируемой системы, как правило, основано на применении эмуляторов на уровне системы команд и характеризуется низкой эффективностью и большими накладными расходами [ 19], опасностью искажения собираемых данных о работе системы компонентами измерительной системы, либо той средой, в которой она работает.

В стохастических моделях рабочую нагрузку описывают с помощью случайных величин, которые представляют запросы на ресурсы. Распределения этих случайных величин подбираются на основе статистического анализа, результатов измерений потока запросов на соответствующие ресурсы реально действующей вычислительной установки. Как правило, полученный результат аппроксимируют экспоненциальным распределением, математические свойства которого хорошо известны. Такая модель рабочей нагрузки не точна и точность оценок производительности, получаемых с ее помощью, не более 40-30% [19,20]. Причин этому несколько:

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

— измерительная система, используемая для сбора данных, так же может искажать собираемые данные настолько, насколько она сама использует ресурсы системы. Без детального знания работы системы и предварительного анализа оценить это влияние практически невозможно.

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

Вследствие сказанного, использование этого подхода при проектировании вычислительных систем

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

Трассы представляют рабочую нагрузку в виде множества упорядоченных записей, содержащих данные о работе программ пользователей и различных внешних устройств. Эти данные собирают с помощью специальных измерительных средств, а затем, после специальной обработки, используют как модель рабочей нагрузки. Главным достоинством этого подхода является то, что он сохраняет все взаимозависимости между действиями как отдельной программы пользователя, так и комплекса программ. Этот подход применялся исключительно для решения задачи настройки (оптимизации) системы, то есть когда объект моделирования уже существовал. В этом случае важным достоинством этого подхода являлась простота проверки модели систем. Для проверки модели достаточно было сравнить результаты моделирования и результаты измерений при одинаковой рабочей нагрузке [2].

Как слабые места этого подхода можно отметить то, что:

— как и в предыдущем подходе, при измерениях всегда существует опасность, что они внесут возмущения в работу системы, которые приведут к искажениям в измеряемых данных;

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

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

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

Основным способом достижения необходимых показателей эффективности вычислительной системы является усовершенствование науки о вычислительных системах. Так, для анализа вычислительных систем можно выделить три вида моделей системы:

— структурные

— функциональные

— модели анализа производительности.

Структурные модели характеризуют составные

части вычислительной системы, взаимосвязи и

интерфейсы между ними. Как правило, эти модели строят с помощью различного рода структурных диаграмм, существенно использующих теорию графов [16]. Эти модели описывают топологию информационных и управляющих потоков в системе, но не определяют их взаимное влияние друг на друга.

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

— графовые модели;

— конечные автоматы;

— сети;

— модели с очередями.

Теория графов широко используется при моделировании как программных, так и аппаратных компонентов вычислительных систем [21,22].

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

Сети, используемые для построения функциональных моделей, появились в результате попыток описания динамики функционирования систем. Наиболее популярной моделью стали сети Пртри [11] и ее обобщения [17].

Модели с очередями [4,8] основываются на теории массового обслуживания [5]. В этих моделях вычислительная система представляет из себя множество ресурсов - обрабатывающих приборов и очередей к ним. Отметим лишь, что они позволяют выполнять только количественный анализ функционирования систем. Для алгоритмического анализа они не годятся.

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

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

— аналитические;

— эмпирические.

Основные методы и результаты аналитического моделирования вычислительных систем приведены в [10]. Аналитическую модель информационно-вычислительной системы определим как аналитическое выражение:

Р = М(1ЛГ) (1)

где IV — модель рабочей нагрузки на информационно-вычислительную систему;

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

Очень широкое распространение получило применение теории массового обслуживания для получения выражения (1). Класс проблем, разрешимых с помощью существующих математических методов, весьма ограничен [24]. Чтобы описать аналитически даже не очень сложную систему, необходимо сделать

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

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

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

Другим способом получения данных для построения модели производительности является численное решение функциональной модели, когда она построена, например, в виде системы с очередями [26]. Как уже отмечалось, данные в этом случае имеют достаточно обобщенный, усредненный характер, что естественным образом сказывается на модели производительности. Использование эмулятора анализируемой системы есть другой путь получения тех данных, о которых здесь идет речь. Идея этого подхода состоит в построении эмулятора системы, который работает на базе имитатора, воспроизводящего работу аппаратных блоков. Моделью рабочей нагрузки в данном случае являются эталоны. Этот подход характеризуется:

- высокой точностью получаемых данных;

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

— низкой скоростью работы (0,01 - 0,001 от скорости инструментальной ЭВМ), что позволяет апробировать вычислительные системы лишь на небольших, модельных задачах [25];

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

— разработка и создание такого комплекса трудоемко и дорого, требует предельно подробного описания работы вычислительной системы;

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

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

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

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

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

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

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

Использование имитационной модели вычислительной системы предполагает достижение следующих целей:

— оценить пропускную способность сети и ее компонентов;

— определить узкие места в структуре вычислительной системы;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

— сравнить различные варианты организации вычислительной системы;

— осуществить перспективный прогноз развития вычислительной системы;

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

— сравнить различные варианты модернизации вычислительной системы;

— оценить влияние на вычислительную систему модернизации ПО, мощности рабочих станции или серверов, изменения сетевых протоколов.

Библиографический список

1. Ларионов A.M., Майоров С.А., Новиков Г.И. Вычислительные комплексы, системы и сети: Учебникдля вузов. Л.: Энергатом-издат, 1987.-288с.

2. ФеррариД. Оценка производительности вычислительных систем: Пер. с англ. А.И. Горлина, Ю.Б. КотоваиЛ.В.Ухова / Под ред. В.В.Мартынюка, - М.: Мир, 1981. — 576с.

3. Авен О.И., Гурин Н.Н., Коган А.Я. Оценка качества и оптимизация вычислительных систем. М.:Наука, 1982,- 464с.

4. Налимов В. В. Вероятностная модель языка. - М.: Наука, 1979—303 с.

5. ПрангишвилиИ.Б.,Стецюра ГГ. Микропроцессорные системы. Наука, 1980.

6. T.F.Wyrick Benchmarking distributed system: objectives and techniques. Perfomance of computer instollations.NorthHolland, 1984, pp. 17-34.

7. Ferrary A perfomance-oriented procedure for modeling interacting workloads. Experimental computer perfomance evaluation. North-Hollangd. 1981, pp.57-79.

8. ЗадорожныйВ.Н. Разработка и исследование методов имитационного моделирования производительности вычислительных систем: Дисс. на соиск. учен, степени канд. техн. наук (05.13.01)./ Науч. рук. В.И.Потапов.-Омск:ОмПИ, 1982.-275с.

9. Пуртов А.М. Анализ производительности сетей ЭВМ на графах и имитационных моделях: Дисс. на соиск. учен, степени канд. техн. наук (05.13.16)./Науч. рук. В.А. Шапцев. - Омск: ИИТПМ СОРАН, 1994.-138с.

10. A.Lunde Evaluation of instruction set processor architecture by programm tracing. Cornegie-Mellon Univ. Pres. 1974.

11. A.B.Salisbure The evaluation of microprogram implemented emulator. TR-60 Stanford, California, 1978.

12. K.Sreenivasan, A.J.Kleiman On the construction on repre-santable synthetic workload. CACM.V, 17,N.3.1974.,pp. 127-133.

13. D.M.Conti US efforts to develop standart benchmark programs. Perfomance of computer installations. NorthHolland, 1984; pp. 55-67.

14. J.Hammond Perfomance analysis of local computer networks. 1986, p. 287.

15. M.S. Obaidat A trace-driven simulation study of two-level cache systems. Computers & Electrical Engineering, 1995, pp. 201 -210.

16. Richard A. Uhlig, Trevor N. MudgeTrace-Driven Memory Simulation: A Survey Lecture Notes in Computer Science, 2000, pp. 97-139.

17. Смелянский Р.Л.,Бахмуров А.Г., Гурьев Д. Об одной вероятностной модели программ. Программирование, N.6,1986.

18. E.Hunt,G,Diehr,D.Garnatz Who are the users? - An analysis of computer use in university computer center. AFIPS Proc. SJCC, 19711, pp. 231-238.

19. H.BeilnerOn the construction on computing system simulator. Experimental computer perfomance evaluation, 1984, pp.1-32,

20. E.F.Gehringer.H.G.Schwetman Run-time characteristics of a simulation model. Proc,Simp.on the Simulation Computer System. 1984,pp,121-129.

21. S.W.Sherman Trace driven modeling: an updade. Proc. Simp.on the Simulation of Computer Systems. 1976, pp. 87-91.

22. O. Balsi,R.Sarget Evaluation of multivariance response trace-driven simulations models.Proc.Perfomance evaluation of compu 1er system. 1983, pp.309-323.

23. G.Baillin.D.Ferrary A methods to model microprograms and analyze their behavior. COMCON-72, p. 115-118.

24. Computer perfomance modeling handbook. N-Y. 1983.

25. ТькжиДж. Анализ результатов наблюдений. M.Мир, 1981.

26. КлейнрокЛ. Вычислительные системы с очередями. М.: Мир, 1978.

БОРЗЕНКОВ Дмитрий Петрович, старший преподаватель кафедры «Автоматизированные системы обработки информации и управления».

Информация

Международная научная конференция

ИНТЕЛЛЕКТУАЛЬНЫЕ СИСТЕМЫ -AIS'05

Россия, Дивноморское 03.09.2005-10.09.2005 Официальные языки: русский, английский

• Case, Cals-технологии, CAD, САМ, CAE

• Биоинформатика

• Интеллектуальные САПР

• Искусственная жизнь

• Когнитивное моделирование

• Квантовые алгоритмы на графах и гиперграфах

• Многоагентные системы и распределенный интеллект

• Мягкие вычисления и нечеткие модели

• Перспективные информационные технологии

• Поддержка принятия решений

• Открытое образование

• Синергетический интеллект

• Эволюционное моделирование и генетические алгоритмы

• Экспертные системы

Адрес организатора: проф. В.В. Курейчику, ТРТУ, 44, пер. Некрасовский, г. Таганрог, 347922, Российская Федерация. Тел. 8634 39-32-60, тел/факс 8634 31-14-87 e-mail: vkur@tsure.ru, kur'œtsure.ru

i Надоели баннеры? Вы всегда можете отключить рекламу.