Основы вычислительных систем Курс лекций начало

 

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

 

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

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

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

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

 

Ввод

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

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

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

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

Работа с НМД

Работа с НМЛ

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

Вывод

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

 

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

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

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

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

  (7.10)

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

  (7.11)

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

При анализе производительности большую роль играет не только значение, но и структура загрузки – составляющие, из которых складывается значение р. Типичная структура представлена на рис. 7.9. В данном случае выделено три класса процессов (видов нагрузки): системные процессы, пакетная и оперативная обработка. Два последних относятся к прикладным процессам. Указанные классы процессов создают загрузку рс, рп и р0 соответственно.; Эти значения характеризуют время работы устройства, используемое для реализации соответствующих функций. Сумма   равна загрузке устройства, а значение   характеризует простой. Простой   обусловлен двумя факторами. Во-первых, для компенсации пульсаций нагрузки, связанной с оперативной обработкой данных, выделяется резерв, за счет чего обеспечивается приемлемое время ответа при пиковых нагрузках, во-вторых, возможна нехватка других ресурсов, из-за чего рассматриваемое устройство не может быть загружено полностью в рамках данной конфигурации, режима функционирования системы и текущей нагрузки.

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

 

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

 

 

Сумма

  (7.12)

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

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

 

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

Профиль загрузки системы строится следующим образом. Пусть   – состояние устройства: =0, если устройство не загружено (простаивает), и =1, если устройство занято работой. Состояние системы будем характеризовать вектором , составляющие которого – состояния устройств . Система, содержащая N устройств, может пребывать в 2я состояниях (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.

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

 

Пусть за время Т система находилась в состояниях   на протяжении интервалов   соответственно. Значение , характеризует долю времени, в течение которого система находилась в состоянии , а также вероятность этого состояния. Распределение вероятностей состояний системы наиболее наглядно представляется в графической форме, на пример для трех устройств (рис. 7,10,с). Каждому устройству   соответствует ось длиной 1. Оси разделяются на отрезки длиной, соответствующие интервалам времени, на протяжении которых система пребывает в состояниях . Отрезки rm выделяются жирной линией, если в состоянии Sm устройство Rn, n=1, 2, 3, загружено работой. Для устройства R1такими являются отрезки , а для устройства R2отрезки r1, r3, r5 и r7. Полученная таким способом диаграмма называется профилем загрузки системы. Из профиля загрузки видна степень совмещения работы разных устройств во времени. В данном случае очевидно, что возможна совместная работа устройств R1и R2 и одиночная работа устройства R2, а работа устройства R1в основном совмещается с работой остальных устройств. Суммарная длина отрезков, выделенных на осях R1, R2, R3, характеризует соответственно загрузку   устройств.

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

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

 

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

Имитационные модели производительности систем общего назначения состоят из трех основных блоков (рис. 7.11): рабочей нагрузки, планирования работ и выполнения задач. Модель рабочей нагрузки создает потоки заданий, формируемых пользователями на входе системы, и определяет параметры заданий. Модель настраивается на конкретный тип нагрузки набором параметров В1. Модель планирования работ воспроизводит обеспечение заданий ресурсами. Модель настраивается на конкретный режим обработки набором параметров В2(число разделов или инициаторов, распределение классов задач между инициаторами и т. д.). Задания, обеспеченные на фазе планирования ресурсами, образуют задачи, обработка которых воспроизводится моделью выполнения задач. Набор параметров В3характеризует структуру системы и быстродействие устройств, влияющие на продолжительность выполнения задач. Состояние процессов в общем случае влияет на состояние процессов планирования и порядок поступления задач в систему: данные о состоянии последующих фаз обработки передаются в предыдущие фазы (штриховая линия на рисунке).

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

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

 

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

 

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

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

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

Машиностроительное черчение, инженерная графика, начертательная геометрия. Выполнение контрольной