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

 

7.5. Модели рабочей и системной нагрузки

 

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

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

2) измерения процесса функционирования ЭВМ и обработки измерительных данных.

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

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

Рис. 7.17. Граф программы

 

 

Марковская модель программы. Для определения нагрузки, создаваемой программой в отношении устройств системы, используется марковская модель программы. Как правило, модель представляет собой граф, в вершинах которого, соответствующих операторам программы, отмечены объемы ресурсов, используемых при выполнении оператора, а на дугах – вероятностных переходов к следующим операторам. Пример графа программы приведен на рис. 7.17. Вершины графа обозначены номерами 0, 1, ..., К, К+1... Вершина 0 – начальная, а вершина К+1 – конечная. Если   –устройства вычислительной системы, то каждой из вершин k=1, ..., К ставится в соответствие вектор , определяющий потребность оператора kв ресурсах устройств. Значения   могут задаваться в виде объемных характеристик ресурса (число процессорных операций, вводимых и выводимых символов или записей, обращений к внешним запоминающим устройствам и т. д.) или в виде временных характеристик (время использования процессора, устройств ввода – вывода и других устройств системы). Если из оператора выходит единственная дуга, то переход по ней происходит с вероятностью i. Если из оператора kвыходит несколько дуг ,то выбор направления перехода рассматривается как случайное событие, характеризуемое вероятностями исходов , причем . Вероятности определяются путем анализа операторов переходов и циклов, влияющих на пути вычислительного процесса. Так, если вероятность выполнения условия в операторе перехода равна 0,25, то двум путям развития вычислительного процесса соответствуют вероятности 0,25 и 0,75. Если цикл повторяется в среднем 100 раз, то вероятность выхода из цикла равна 0,01, а возврата в начало цикла – 0,99.

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

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

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

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

Рис. 7.18. Модель центрального обслуживания

 

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

Рис. 7.19. Распределение параметра заданий для неоднородной нагрузки

 

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

Матрица вероятностей переходов для марковской цепи

  (7.13)

и распределение вероятностей начальных состояний π0= (0, 1, 0, .... 0). Граф марковской цепи представлен на рис. 7.18. Процесс начинается этапом процессорной обработки, которому соответствует состояние S1. По окончании этого этапа с вероятностью   процесс переходит в состояние , соответствующие работе периферийных устройств , т. е. вводу – выводу. По окончании этапа ввода–вывода следует очередной этап процессорной обработки, затем переход к очередному этапу ввода – вывода. Процесс продолжается до тех пор, пока с вероятностью   не перейдет в поглощающее состояние, в котором и заканчивается.

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

С учетом этого

  (7.14)

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

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

 

Матрица вероятностей переходов (7.13) порождает случайный процесс со следующими характеристиками. Среднее число этапов , дисперсии   и распределения   числа попаданий   процесса в состоянии   равны

;

;

;  (7.15)

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

  (7.16)

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

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

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

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

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

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

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

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

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

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

 

Класс

Емкость памяти, кбайт

Интенсивность ввода-вывода, с-1

A

B

C

D

E

Любая

 

Рис. 7.20. Диаграммы Кивиата для разных заданий

 

Рис. 7.21. Классификация задач

 

Согласно этим правилам задание с параметрами х=200 и z=12,5 будет отнесено к классу D. Решающие правила назначаются исходя из целевых требований к классификации и Ц состава ресурсов системы. Часто границы классов назначаются на основе многомодальных распределителей значений признаков. При этом в качестве границ принимаются средние точки между соседними модами распределения. Например для распределения на рис. 7.19 могут использоваться следующие правила распределения на классы:

Классификация по ядру нагрузки сводится к выделению подмножества заданий, создающих основную нагрузку на систему, например 90% нагрузки. Ядро нагрузки выделяется следующим образом. Для заданий одного наименования определяется число реализаций и средние показатели нагрузки, по которым вычисляется суммарная нагрузка, создаваемая всеми реализациями задания. Задания упорядочиваются по убыванию суммарной нагрузки на ресурсы системы. Первые Н заданий, создающие в сумме 90%-ную нагрузку, рассматриваются в качестве ее ядра. Как правило, ядро состоит из небольшого числа заданий, обычно 10–20, и вполне обозримо. Путем анализа параметров заданий, входящих в ядро, назначаются классы каждый из которых состоит из небольшого числа заданий, обычно 1–3. Для выделенных классов устанавливаются граничные значения параметров, на основе которых строятся решающие правила для параметрической классификации заданий, не вошедших в ядро. Во многих случаях последние просто объединяются л в один дополнительный класс.

При классификации удобно представлять свойства объектов в виде диаграммы Кивиата (рис. 7.20). Диаграмма состоит из совокупности осей 1, 2, 3,..., на которых в определенном масштабе в направлении от центра отмечаются значения параметров объекта. Затем точки на осях соединяются прямыми линиями, образующими некоторую фигуру (образ объект а). (Использование диаграмм Кивиата основано на способности человека распознавать сходство и различие геометрических фигур). Если диаграммы, соответствующие заданиям, имеют сходную: конфигурацию, задания можно объединить в один класс. Различие конфигураций свидетельствует о несходстве заданий и является основанием для отнесения заданий к разным классам.

Методы автоматической классификации – кластер-анализа: – основаны на использовании вычислительных процедур, оценивающих расстояния между классифицируемыми объектами в объединяющих близлежащие объекты в компактные множества, называемые кластерами (классами). При классификации объектов по п признакам каждый объект рассматривается как точка в n-мерном пространстве с координатами, oопределяемыми признаками классификации. На рис. 7.21 приведена типичная картина образования кластеров. Здесь х1и х2 – значения признаков классификации, Аiобъект с признаками 1i, x2i) иС1, C2, С3 – кластеры, образованные подмножествами классифицируемых объектов. Число кластеров, выявляемых в процессе автоматической классификации, зависит от числа признаков классификации, их дисперсии и свойств объектов. Чем больше число признаков и их дисперсии, тем больше вероятность существования значительного числа кластеров.

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

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

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

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

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