30
1 Министерство образования и науки Российской Федерации Федеральное агентство по образованию Саратовский государственный технический университет Анализ производительности вычислительных систем Методические указания к выполнению учебно-исследовательской лабораторной работы по дисциплине Вычислительные машины, системы и сети для студентов всех форм обучения специальности 210100 Одобрено редакционно-издательским советом Саратовского государственного технического университета Саратов 2010

Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

1

Министерство образования и науки Российской Федерации Федеральное агентство по образованию

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

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

Методические указания

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

Вычислительные машины, системы и сети для студентов всех форм обучения

специальности 210100

Одобрено редакционно-издательским советом

Саратовского государственного технического университета

Саратов 2010

Page 2: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

2

Цель работы:

1. изучить принципы анализа производительности вычислительных систем;

2. изучить методы и средства измерений и оценки функционирования; 3. произвести оценку производительности вычислительной системы на

модельной задаче.

Определения Система обработки данных (СОД) – совокупность технических

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

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

Основа СОД – это технические средства, так как их производительно-стью и надежностью в наибольшей степени определяется эффективность СОД.

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

Вычислительная система может строиться на основе ЭВМ или вычис-лительного комплекса общего применения и ориентация системы обеспечи-вается за счет программных средств – прикладных программ и, возможно, операционной системы.

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

Page 3: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

3

Эффективность определяет степень соответствия ВС своему назначе-

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

Критерий эффективности – это правило, служащее для сравнитель-ной оценки качества вариантом ВС. Строятся критерии эффективности на основе частных показателей эффективности (показателей качества).

Пример критериев эффективности приведен в табл. 1.

Пример критериев эффективности ВС Таблица 1. № п.п

Критерий Размерность Область применения

1 Стоимость единицы производительности

Относительная стоимость / MIPS

ВС общего применения

2 Масса единицы производительности

г/MIPS Бортовые ВС

3 Мощность и масса единицы произво-дительности

Вт*г/MIPS Переносные (мобильные) ВС

* MIPS – миллион инструкций в секунду. Наиболее часто на начальном этапе сравнения ВС в качестве критерия

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

Аналитические методы. Аналитические методы исследования вычис-

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

Аналитические методы и модели раскрывают фундаментальные свой-ства вычислительных систем и составляют ядро теории вычислительных сис-тем.

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

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

Экспериментальные методы. Экспериментальные методы осно-

Page 4: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

4

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

Экспериментальные исследования выполняются в следующем порядке: 1. Формулируется цель исследования. 2. Выбирается или разрабатывается методика исследования, которая

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

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

4. Измерительные данные обрабатываются и соответствующим обра-зом интерпретируются.

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

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

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

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

1. Принципы анализа производительности

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

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

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

Page 5: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

5

Системная производительность учитывает как вышеназванные фак-торы – быстро действие устройств и структуру связей между ними, так и влияние операционной системы.

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

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

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

Способы описания процессов функционирования

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

К ресурсам 푅 = {푅 , … , 푅 } относятся устройства 푅 , … , 푅 , разде-ляемые между процессами во времени, а также устройства памяти (память) 푅 , … , 푅 , разделяемые во времени и по емкости.

Процесс характеризуется тройкой параметров: 퐽 = ⟨푡, 퐴, 푇⟩ , где t

Page 6: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

6

– момент начала процесса; А – атрибуты, устанавливающие имя источника процесса (пользователя, программы и т.п.), и факторы, влияющие на режим обработки (имя класса, приоритет и др.); Т – трасса процесса.

Трасса характеризует порядок использования ресурсов и представляет-ся последовательностью событий 푇 = {푆 , … , 푆 }, связанных с изменением состояния процесса.

Событие Sk характеризуется моментом его возникновения tk, именем ресурса, с которым связано событие, и параметрами, определяющими ис-пользование ресурса (занятие или освобождение, тип операции, выполняемой устройством, емкость выделяемой памяти и т. д.). В трассе фиксируется весь объем данных, отображающих взаимодействие процесса с ресурсами и по-зволяющих установить порядок обращения к ресурсам и объем их использо-вания. Трасса представляет процесс наиболее полно. Однако у этой характе-ристики существенный недостаток – большой объем данных. Так, обычно на одну реализацию вычислительного процесса приходится 103–106 обращений к периферийным устройствам, что составляет 103–106 смен состояний про-цесса или 105–107 байт данных.

Более компактная форма представления процесса – профиль процесса (рис. 1).

휏ВВ 휔ВХ 휔П 휔Р 휏ПР 휏УВВ 휏УВВ 휔ВЫВ 휏ВЫВ

Ввод

Ожи-дание во входной оче-реди

Ожида-ние па-мя-ти

Ожи-дание ресурсов

Про-цес-сорная обра-ботка

Рабо-та с УВВ1

Рабо-та с УВВ2

Ожидание вы-во-да

Вывод

Рис. 1. Профиль вычислительного процесса

Для построения профиля выделяются фазы процесса: ввод, ожидание во входной очереди, ожидание памяти и т. д. Реализация процесса представ-ляется в виде последовательности фаз, продолжительность пребывания в ко-торых характеризуется значениями 휏 (время использования устройств) и 휔 (время ожидания). Сумма этих значений составляет время пребывания задания в системе. Профиль процесса дает наглядное представление о про-должительности каждой фазы и соотношении длительности фаз. Для повы-шения информативности профиль снабжается данными о числе обращений к устройствам, а также о емкости используемой памяти, в том числе о мини-мальной, средней и максимальной требуемой емкости. Таким образом, профиль определяет время 휏 , … , 휏 использования устройств

Page 7: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

7

푅 , … , 푅 и число обращений 푛 , … , 푛 к каждому из устройств, а также по-требность в памяти.

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

Процессы в вычислительных системах можно разделить на два класса: прикладные и системные. Прикладной процесс связан с актом обслуживания пользователя и представляет собой некоторую единицу работы – выполнение задания. Прикладные процессы поддерживаются системными процессами, порождаемым управляющими программами операционной системы. К сис-темным относятся процессы системного ввода – вывода и супервизорные Системные процессы, как и прикладные; потребляют ресурсы системы – опе-ративную и внешнюю память, процессорное время, каналы ввода–вывода. Объем использования ресурса зависит от режима обработки (уровень муль-типрограммирования число инициированных процессов системного ввода – вывод и т. д.), а также от параметров заданий (число шагов и описаний набо-ров данных, число обращений к наборам данных и т. д.). Путем измерений определяется загрузка ресурсов со стороны системных процессов. Потреб-ность системных процессов в ресурса: обычно выражается в виде уравнений регрессии, аргументами которых являются параметры прикладных процес-сов.

Способы описания загрузки ресурсов

Производительность системы непосредственно связана с загрузкой устройств. Загрузка устройства – время, в течение которого устройство заня-то работой, т. е. не простаивает. Если 휏 , … , 휏 – длительность рабочих ин-тервалов и Т – время работы системы, то загрузка устройств; на отрезке вре-мени Т.

휌 =1푇

휏 ≤ 1 (1)

Если номинальное быстродействие устройства равно V операций в секунду, то фактическое быстродействие с учетом простоев устройства из-за недогрузки составляет 휌푉операций в секунду. Если 휐- среднее число операций, выполняемых устройством при обработке одного задания, то

Page 8: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

8

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

휆 =휌푉휐

(2)

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

При анализе производительности большую роль играет не только зна-чение, но и структура загрузки – составляющие, из которых складывается значение ρ. Типичная структура представлена на рис. 2.

Простой 휼

1

Оперативная обработка 흆ퟎ

흆 Пакетная об-работка 흆П

Системные процессы 흆С

Рис. 2. Структура загрузки устройства

В данном случае выделено три класса процессов (видов нагрузки): сис-темные процессы, пакетная и оперативная обработка. Два последних отно-сятся к прикладным процессам. Указанные классы процессов создают за-грузку ρс, ρп и ρ0 ,соответственно. Эти значения характеризуют время работы устройства, используемое для реализации соответствующих функций. Сумма 휌 = 휌С + 휌П + 휌 равна загрузке устройства, а значение 휂 = 1 − 휌 характе-ризует простой.

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

Page 9: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

9

грузки.

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

Сумма

푃 = 휌 (3)

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

Если система функционирует в однопрограммном режиме, причем не простаивает из-за отсутствия нагрузки, Р = 1. Если Р > 1, то производитель-ность системы в этом режиме в Р раз выше, чем в однопрограммном. Таким образом, загрузка системы характеризует производительность системы по отношению к производительности однопрограммного режима.

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

Профиль загрузки системы строится следующим образом. Пусть 푆 – состояние устройства: 푆 = 0, если устройство не загружено (простаивает), и 푆 = 1, если устройство занято работой. Состояние системы будем характе-ризовать вектором 푆 = (푆 , … , 푆 ) , составляющие которого – состояния уст-ройств 푅 , … , 푅 .

Система, содержащая N устройств, может пребывать в 2N состояниях (0, ...,0,0), (0, ...,0,1), (0, ..., 1, 0), .... (1, ,..., 1). Первое из них соответствует простою и последнее – одновременной работе всех устройств. Состояние системы будем нумеровать числами, представляющими десятичные значения двоичных наборов (푆 , … , 푆 ): S0=(0, ..., 0, 0), S1=(0,..., 0, 1), ... ...,SM=(1, ..., 1, 1), где M=2N-1.

Page 10: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

10

푅 푅 푅 푅 푅 푅 0 푟 푟 푟 푟 푟 푟 푟 푟 t 0 푟 푟 푟 푟 푟 푟 푟 푟 t

а) б)

Рис. 3. Профиль загрузки системы

Пусть за время Т система находилась в состояниях (푆 , … , 푆 )на про-тяжении интервалов (휏 , … , 휏 ) соответственно. Значение 푟 = , 푚 =0, … , 푀, характеризует долю времени, в течение которого система находилась в состоянии 푆 , а также вероятность этого состояния.

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

Покажем это на примере трех устройств (рис.3). Каждому устройству 푅 , 푅 , 푅 соответствует ось длиной 1. Оси разделяются на отрезки ной 푟 , … , 푟 , соответствующие интервалам времени, на протяжении которых система пребывает в состояниях 푆 , … , 푆 . Отрезки rm выделяются жирной линией, если в состоянии Sm устройство Rn, n=1, 2, 3, загружено работой. Для устройства R1 такими являются отрезки r4,…,r7 , а для устройства R3– отрезки r1, r3, r5 и r7.

Полученная таким способом диаграмма называется профилем загрузки системы. Из профиля загрузки видна степень совмещения работы разных устройств во времени. В данном случае очевидно, что возможна совместная работа устройств R1 и R2 и одиночная работа устройства R2, а работа устрой-ства R1 в основном совмещается с работой остальных устройств. Суммарная длина отрезков, выделенных на осях R1, R2, R3, характеризует соответственно загрузку 휌 , 휌 , 휌 устройств.

Наглядность профиля загрузки возрастает, если состояния Sm и соот-ветствующие им отрезки rm размещать в порядке, определяемом кодом Грея. При этом уменьшается число разрывов между отрезками, выделенными жир-ными линиями. Так, трехразрядный код Грея порождает последовательность кодов 000, 001, 011, 010, 110, 111, 101, 100, которой соответствует последо-вательность состояний r0,r1, r3, r2, r6, r7, r5, r4. Профиль загрузки системы, по-строенный на основе кода Грея и эквивалентный рассмотренному выше, изо-бражен на рис. 3, б. Данный профиль содержит только один разрыв между отрезками занятости, в то время как предыдущий – четыре разрыва.

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

Page 11: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

11

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

Модели производительности

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

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

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

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

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

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

Page 12: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

12

порядок поступления задач в систему: данные о состоянии последующих фаз обработки передаются в предыдущие фазы (штриховая линия на рисунке).

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

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

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

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

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

Page 13: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

13

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

2. Методы и средства измерений и оценки функционирования

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

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

Рис. 5. Организация измерений и оценки функционирования

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

Page 14: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

14

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

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

Трассировочный и выборочный методы измерений

Трассировочный метод измерений основан на регистрации событий, соответствующих моментам изменения состояний вычислительной системы. К таким событиям, в частности, относятся начало и конец ввода задания, ша-га задания, этапа процессорной обработки, обращения к внешней памяти и т. д. События регистрируются монитором в виде событийного набора данных T (рис. 7), состоящего из последовательности записей s1, s2, ..., соответствую-щих последовательности событий. В записи регистрируется момент возник-новения события, имена процесса и ресурса, с которыми оно связано, и пара-метры события, – например емкость занимаемого или освобождаемого блока памяти, число передаваемых байтов данных и т. д. Событийный набор дан-ных, создаваемый монитором, содержит информацию о процессах 퐽 , 퐽 , … и одновременно о ресурсах. На рисунке изображена диаграмма использования устройства 푅 , представляющая его состояния (0 – свободно и 1 – занято), и диаграмма использования памяти 푀 , характеризующая суммарную емкость, занятую процессами. Мониторы, измеряющие процесс функционирования системы трассировочным методом, называются трассировочными.

Рис. 6. Классификация мониторов

Page 15: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

15

Рис. 7. Состав измерительных данных

Выборочный метод измерений основан на регистрации состояний вы-числительной системы в заданные моменты времени, как правило, через промежутки длительностью 훿. В моменты 푡 = 푛훿, 푛 = 0,1,2. .,, выборочный монитор регистрирует состояние системы, фиксируя в соответствующих за-писях данные из управляющих таблиц, или значения электрических сигна-лов, характеризующих состояния устройств системы. Полученные данные позволяют с погрешностью не более 26 оценивать продолжительность пре-бывания процессов и ресурсов в различных состояниях и вероятности со-стояний. Последние определяются значениями 푝 = , где ni – число выбо-рок, при которых было зарегистрировано состояние i, и n – длительность процесса измерений, определяемая числом выборок.

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

Универсальные и специализированные мониторы

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

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

Page 16: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

16

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

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

Программные мониторы

Мониторы, реализованные в виде программы, выполняемой вычисли-тельной системой, называются программными.

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

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

В зависимости от местоположения и от статуса программные мониторы подразделяются на встроенные и автономные (см. рис. 6).

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

Page 17: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

17

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

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

Основное достоинство программного способа построения мониторов – возможность получения сколь угодно детальной информации. Недостатки – зависимость программных мониторов от типа ЭВМ и операционной системы, а также влияние монитора на временные аспекты функционирования систе-мы. Программные мониторы создаются для ЭВМ и операционных систем конкретных типов. Поэтому постановка на ЭВМ новой операционной систе-мы или расширение операционной системы требует модификации измери-тельных средств. Поскольку программы монитора реализуются совместно с прикладными и системными программами, обработка заданий при измерени-ях растягивается во времени. Встроенные программные мониторы характери-зуются незначительной ресурсоемкостью и порождаемая ими нагрузка на процессор невелика. Автономные программные мониторы имеют значитель-ную ресурсоемкость, которая может составлять 10-15% процессорного вре-мени. Выборочные мониторы позволяют снижать нагрузку на ресурсы за счет увеличения периода регистрации, однако при этом для получения пред-ставительного объема данных приходится увеличивать продолжительность измерений.

Аппаратные мониторы

Аппаратный монитор – комплекс технических и, возможно, про-

Page 18: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

18

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

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

Рис. 8. Измерения с помощью аппаратного монитора

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

Page 19: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

19

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

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

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

Гибридные мониторы

Page 20: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

20

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

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

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

Page 21: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

21

Рис. 9. Состав системы оценки функционирования

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

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

Page 22: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

22

4. Анализ производительности универсальных ВС

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

Основа для измерения производительности УВС - время. Но необходи-мо помнить, что существует, так называемое "чистое", процессорное время, определяемое как период работы собственно процессора при выполнении то-го или иного задания, и время ответа, включающее выполнение операций ввода/вывода, работу ОС и т.д. Понятно, что для мультипрограммного режи-ма оценка временных характеристик еще более затруднена - в период выпол-нения операции ввода/вывода, заданной тестовым заданием, процессор мо-жет выполнять другую работу, что может и не учитываться при оценке про-изводительности с помощью данного теста. Для оценки времени работы про-цессора может быть использована также интегральная оценка, основанная на среднем количестве тактов синхронизации на одну команду. Большинство современных процессоров используют специальные генераторы тактовых импульсов, задающие такты синхронизации или частоту работы процессора. (Период синхронизации определяется как обратная величина к такту синхро-низации.) Поэтому процессорное время может быть определено как общее количество тактов синхронизации при выполнении той или иной программы, умноженное на длительность такта. Однако для комплексного анализа раз-личных систем необходимо учитывать еще одну характеристику - количество выполняемых команд, которое на разных системах может быть разное для одного и того же теста. Архитектура процессора определяет набор его команд, который теснейшим образом связан с технологий определяю-

Page 23: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

23

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

Использование астрономического или реального времени работы про-граммы является более надежной и объективной оценкой и уж более чем "простой" манипуляцией с тактовой частой без комплексного анализа всех факторов, влияющих на работу системы. Одна из наиболее распространен-ных единиц измерения производительности процессоров MIPS (Million Instruction Per Second), которая может быть вычислена как отношение числа команд в программе ко времени ее выполнения. При всей кажущейся просто-те данной метрики - чем больше MIPS, тем быстрее выполняется программа - ее использование связано с рядом проблем. Во-первых, для различных про-грамм MIPS может принимать различные значения. Во-вторых, вследствие того, что процессоры имеют различный набор команд, эта метрика затрудня-ет сравнение процессоров. Но еще большие затруднения связаны с использо-ванием сопроцессоров плавающей арифметики и оптимизирующих компиля-торов. Так, применение сопроцессора увеличивает производительность сис-темы, однако рейтинг MIPS может уменьшиться - время выполнения команд вещественной арифметики значительно больше, и за единицу времени может быть выполнено меньшее число команд, нежели при выполнении соответст-вующих этим командам подпрограмм. С понятием MIPS связывалась ранее и другая метрика, основанная на производительности вычислительной системы DEC VAX 11/780. Производительность этого компьютера определялась как 1 MIPS, а производительность вновь тестируемых систем вычислялась в MIPS - относительных единицах к системе DEC VAX 11/780. Следует отметить, что существует еще одно определение MIPS, которое используется пользова-телями и производителями техники компании IBM, когда за точку отсчета выбирается одна из моделей RS/6000. Следует отметить, что эта метрика все же мало распространена и практически не приводится ее соотношение с DEC MIPS, которое может быть приблизительно определено следующим образом: 1 IBM MIPS равен 1.6 DEC MIPS.

Еще одна традиционная метрика, но в большей степени характеризую-щая использование вычислительной техники в научно-технических прило-жениях - MFLOPS (миллион арифметических операций над числами с пла-вающей точкой, выполненных в секунду). Эта метрика предназначена для оценки быстродействия работы только плавающей арифметики, поэтому ее использование, например, при работе компиляторов не корректно - при этом даже для высокопроизводительной системы значение MFLOPS может быть просто нулевым. Метрика MFLOPS, так же как и MIPS, зависит от конкрет-ной архитектуры и программы, однако, в меньшей степени, она базируется на количестве выполненных операций, а не команд. Однако и эта зависи-мость может быть весьма существенной, особенно для некоторых со-

Page 24: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

24

временных RISC-архитектур. Так, например, использование совмещенной операции умножения и сложения векторов в процессоре POWER2 имеет су-щественно влияние именно на общее число операций. Другая проблема, свя-занная с метрикой MFLOPS, заключается в том, что можно выделить "быст-рые", например сложение, вычитание, и "медленные", например деление, операции, а в результате на разной командной смеси рейтинг MFLOPS ока-жется разным.

Для работы с метриками MIPS и MFLOPS чаще всего используются системы тестов Dhrystone, LINPACK и так называемые "Ливерморские цик-лы". Тестовая смесь Dhrystone состоит из 100 команд: 53 - операторы при-своения, 32 - управления и 15 - вызовы функций. Результатом работы этого очень короткого теста является число Dhrystone в секунду. При этом на сис-теме DEC VAX 11/780 результат составлял 1757 Dhrystone, и поэтому счита-лось, что 1 DEC MIPS равен 1757 Dhrystone. Сейчас Dhrystone практически не применяется, и его результаты не предлагаются фирмами производителя-ми. Больше повезло тестам LINPACK и "Ливерморским циклам", которые можно отнести к долгожителям - этот тестовый набор появился в середине 60-х годов и состоит из фрагментов программ на языке Фортран, имеющих реальное хождение в Ливерморской Национальной лаборатории им. Лоурен-са в США. Считается, что "Ливерморские циклы" - это типичный набор про-грамм для решения численных задач. В этих фрагментах используются раз-личные вычислительные алгоритмы: сеточные, последовательные, волновые, что существенно с точки зрения соответствия вычислительных и аппаратных структур. Соответствие этих структур друг другу должно обеспечить макси-мальную эффективность вычислений. При проведении тестовых испытаний может использоваться либо набор из 14 циклов (малый набор), либо набор их 24 циклов (большой набор). При использовании векторных и параллельных машин важным фактором, определяющим эффективность работы для кон-кретного приложения, является коэффициент векторизуемости алгоритма. На "Ливерморских циклах" этот коэффициент составляет от 0 до 100% , что под-тверждает возможность их применения для широкого круга вычислительных систем.

Наряду с этим, ввиду сложности проблемы анализа производительно-сти ВС, ведущие фирмы производители компьютерных систем в 1988 году создали некоммерческую корпорацию SPEC - Strandart Performance Evaluation Corporatiuon, призванную дать пользователям объективную оцен-ку производительности вычислительных систем. SPEC является разработчи-ком стандартных тестовых систем, проводит тестирование и публикует ре-зультаты в специальном бюллетене "The SPEC Newsletter", который разме-щается сегодня на WWW сервере www.SPEC.com.

Основным набором SPEC в период его создания был тестовый набор SPECInt89 для оценки производительности процессора на опера-

Page 25: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

25

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

Дальнейшее развитие тестового набора SPECint92 состоит из шести программ на языке Си, соответствующих различным прикладным областям: теория цепей, Лисп-интерпретатор, схемотехника, упаковка текстовых фай-лов, электронные таблицы и компиляция программ. Тестовый набор SPECfp92 состоит их 14 программ (12 программ написаны на языке про-граммирования Фортран, а 2 - на Си). Это следующие предметные области: проектирование аналоговых схем, применение метода Монте-Карло, кванто-вая физика и химия, оптика, робототехника, астрофизика, прогнозирование погоды и др. Этот тестовый набор использует как одинарную (5 программ), так и двойную (9 программ) точность. В настоящее время используется система тестов SPECint2006, SPECfp2006.

Предлагаемые независимой компанией AIM Technology (1981) методи-ки оценок и тестовые смеси предназначены для работы с UNIX-системами и тестируют практически все компоненты вычислительной системы. Разрабо-танные методики позволяют получить более комплексную, чем тесты SPEC, оценку тестируемой архитектуры и основаны на сочетании нескольких кри-териев: пиковая производительность (выбор рабочей станции); максимальная загрузка (выбор сервера); обработка UNIX-утилит (выбор станции для рабо-чего места разработчика программного обеспечения); пропускная способ-ность; цена системы.

5. Техническое и программное обеспечение Для выполнения лабораторной работы необходимо: - IBM – PC совместимый компьютер; - операционная система GNU/Linux; - компилятор GCC для C/C++;

6. Требования безопасности труда Питание IBM-PC совместимого компьютера осуществляется от сети 220 В, 50 Гц. При работе с ним должны выполняться общие правила работы с электрическими установками.

7. Методика эксперимента

В лабораторной работе анализ производительности ВС произво-дится экспериментальным методом.

Page 26: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

26

В качестве объекта исследования используется IBM – PC совместимый компьютер.

В качестве рабочей нагрузки – программное обеспечение сортировки данных.

В ходе выполнения лабораторной работы необходимо:

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

2. По согласованию с преподавателем сформировать набор ре-сурсов, необходимых для формирования профиля загрузки ВС при выполнении сортировки (процессор, память и др.)

Определить возможные состояния исследуемой системы 푆 .

3. Составить программу на языке С/C++ сортировки /3/ данных в 3-х архивах.

Каждая запись в архивах должна содержать не менее 3-х полей.

Ключевое поле записи формируется случайным образом.

Дополнительные поля содержат информацию произвольного характера.

4. Выбрать тип программного монитора (ПМ).

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

5. Составить программу обслуживания ПМ.

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

6. Произвести серию экспериментов по оценке математического ожидания и дисперсии времени сортировки архива для различ-ного количества записей. Количество экспериментов - не менее 1000.

Построить профиль загрузки системы.

7. Произвести оценку соответствия экспериментального времени сортировки теоретическим оценкам.

Page 27: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

27

Варианты заданий № п.п

Способ сор-тировки /3/

Требуемое время сор-тировки

Требуемая до-полнительная память

Количество записей в архивах

1 2 3 1 Сортировка

с помощью кучи (heap-sort)

O(n log n) O(1) (не зависит от размеров сор-тируемого мас-сива )

1000 10000 100000

2 Сортировка слиянием (mergesort)

O(n log n) O(n) 2000 20000 200000

3 Быстрая сортировка (quicksort)

max Θ(n2) 10000 100000 1000000

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

Вариант задания включает в себя способ сортировки и количество за-писей в архивах и может быть представлен в виде 1.3 – что означает «Сортировка с помощью кучи, количество записей в архиве 100000».

Более детальная информация представлена в п.3 раздела.

8. Вопросы для самопроверки 1. Опишите способы оценки производительности 2. Приведите определение номинальной производительности 3. Приведите определение комплексной производительности 4. Приведите определение системной производительности 5. Приведите определение производительности на рабочей нагрузке 6. Приведите факторы, влияющие на производительность вычисли-

тельной системы (ВС). 7. Определите понятие профиля вычислительного процесса 8. Приведите способы описания загрузки ресурсов 9. Приведите выражение для оценки производительности ВС, исчис-

ляемой в обрабатываемых за секунду заданиях 10. Приведите алгоритм построения профиля загрузки системы 11. Приведите критерий оценки загрузки ВС по ее профилю 12. Приведите способы повышения производительности 13. Приведите состав модели оценки производительности 14. Опишите методы и средства измерений и оценки функционирования

системы 15. Опишите принцип действия программных мониторов 16. Опишите принцип действия аппаратных мониторов

Page 28: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

28

17. Опишите принцип действия гибридных мониторов 18. Приведите состав системы оценки функционирования 19. MIPS, MFLOPS 20. Тесты Dhrystone, LINPACK 21. Тесты SPEC 22. Тесты AIM

9. Содержание отчета

1. Титульный лист 2. Цель работы 3. Структурная схема программного комплекса 4. Описание алгоритма сортировки. Структурная схема алгоритма сор-

тировки. 5. Программа сортировки 6. Описание алгоритма программного монитора 7. Программа ПМ 8. Результаты экспериментов 9. Программа обработки результатов экспериментов 10. Результаты экспериментов (гистограммы и др.) 11. Выводы 12. Ответы на вопросы для самопроверки.

в отчете должны быть приведены ресурсы ПК (процессор, часто-та, и др.)

10. Литература

1. Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем.- СПб.: Питер, 2004.- 668 с.

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

3. Т.Кормен, Ч. Лейзерсон, Р.Ривест Алгоритмы: построение и анализ / Пер. с англ. Под реж. А.Шеня.-М.: МЦНМО, 2002.- 960 с.

4. www.SPEC.com. Содержание Определения ......................................................................................................... 2 1. Принципы анализа производительности ........................................................ 4

Способы описания процессов функционирования ......................................... 5 Способы описания загрузки ресурсов ............................................................. 7 Модели производительности ......................................................................... 11

2. Методы и средства измерений и оценки функционирования ...................... 13

Page 29: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

29

Трассировочный и выборочный методы измерений..................................... 14 Универсальные и специализированные мониторы ....................................... 15 Программные мониторы................................................................................. 16 Аппаратные мониторы ................................................................................... 17 Гибридные мониторы ..................................................................................... 19

4. Анализ производительности универсальных ВС ....................................... 22 5. Техническое и программное обеспечение .................................................. 25 6. Требования безопасности труда .................................................................. 25 7. Методика эксперимента............................................................................... 25

Варианты заданий ........................................................................................... 27 8. Вопросы для самопроверки ......................................................................... 27 9. Содержание отчета ....................................................................................... 28 10. Литература ................................................................................................. 28

Page 30: Анализ производительности вычислительных ...dump.bitcheese.net/files/unusyga/Методичка.pdfВычислительные машины,

30

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

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

по дисциплине Вычислительные машины, системы и сети

для студентов всех форм обучения специальности 210100

Составил: ТРЕФИЛОВ Петр Анатольевич Рецензент Лисицкий Л.А. Редактор