2.2 Характеристики и параметры
Главной задачей разработчиков систем обработки данных является обеспечение соответствия системы своему назначению. Степень соответствия системы своему назначению определяет ее качество, называемое так же эффективностью системы. Системы обработки данных являются очень сложными, и для них определение эффективности является также сложной задачей. Одной величиной определить эффективность такой системы просто невозмож-но, поэтому пытаются это сделать с помощью набора величин, каждая из которых связана с определенным свойством или свойствами системы, в совокупности называемых характеристиками системы. Из всего набора характеристик стараются выделить некоторую их совокупность, которая давала бы наиболее полное представление об эффективности системы. В качестве наиболее весомых и информативных характеристик приняты и выделены:
- производительность;
- время ответа системы;
- надежность;
- стоимость.
В дополнение к ним используются: габариты, масса, потребляемая мощность, диапазон рабочих температур, ремонтопригодность и целый ряд других.
Характеристики зависят от организации системы, от структу-ры, состава программного обеспечения, режима функционирования системы и др. Эффективность системы, иначе, ее характеристики, выражаются через некоторые величины, показатели, определенные
как параметры системы. Параметры представляют в виде неких математических объектов, определяющих, например, число и быстродействие устройств, емкость памяти, рабочую нагрузку и др. Математические объекты могут представляться также в виде множеств, графов, алгоритмов и т.д. В число параметров включаются все объекты, характеризующие первичные аспекты организации системы и существенно влияющие на характеристики.
Таким образом, характеристики определяют свойства системы как единого целого, представляемого соответствующим набором параметров. В математическом аспекте характеристики можно рассматривать как наименования функций, реализуемых системой, аргументами которых являются все те же параметры.
Рассмотрим, каким образом, и, с помощью каких параметров можно оценить влияние на основные, перечисленные выше, характеристики систем.
2.2.1 Производительность
Производительностьхарактеризует вычислительную мощность системы, определяемую количеством вычислительной работы, выполненной в единицу времени. Общепринятой методики оценки производительности покане существует, что связывается с отсутствием единиц измерения количества вычислительной работы, поэтому для оценки производительности используется достаточно большое число показателей, которые ни в отдельности, ни в совокупности не удовлетворяют потребностям теории, практики и эксплуатации систем обработки данных.
Поскольку, с одной стороны, эта характеристика является очень важной для любой отдельной ЭВМ, а тем более для системы, с другой стороны, представляют интерес «исторические» и совре-менные подходы ее количественной оценки. Стоит рассмотреть различные варианты и рассуждения по данной проблеме. Можно, например, оценить производительность через быстродействие устройств, составляющих систему обработки данных. Технические средства любой системы обработки данных, такие как ЭВМ и периферийное оборудование, обладают производительностью вне связи с операционной системой, программным обеспечением и режимом эксплуатации системы. Производительность технических средств оценивается их быстродействием – числом операций, выполняемых в секунду.
Совокупность значений V =(), определяющих быстродействие устройств 1, …, N, входящих в состав системы, характе-ризует номинальную производительность системы. Номинальная производительность характеризует только потенциальные возможности устройств, которые не могут быть использованы полностью
из-за влияния структурных связей и организации взаимодействия между ними, что проявляется в изменении скорости работы одних устройств при работе других. Так, суммарная производительность устройств ввода-вывода, подключенных к мультиплексному каналу, ограничена пропускной способностью канала, а фактическая производительность накопителей на магнитных дисках, подключенных к такому же каналу, меньше их суммарного номинального быстродействия и т.д.
Чтобы оценка номинальной производительности была по возможности простой, стремятся уменьшить число составляющих элементов в наборе (). При этом, во-первых, быстродействие устройств, выполняющих одинаковые операции и способных работать параллельно, можно представить суммарным быстродействием, то есть в виде набора значений. Например, быстродействием процессоров 1,2 млн. операций в секунду или быстродействием внешней памяти 2000 обращений в секунду, скоростью ввода - 6 тыс. символов в секунду и т.д. Во-вторых, быстродействие некоторых устройств можно считать несущественным, не влияющим в целом на производительность. Так, быстродействием внешней памяти и устройств ввода-вывода можно пренебречь, и тогда номинальную производительность можно характеризовать только суммарным быстродействием процессоров системы.
Чтобы оценить влияние структуры системы на быстродействие устройств, используется специальная характеристика – комплексная производительность. Комплексная производительность оценивается набором быстродействий устройств , обеспечиваемых при их совместной работе, то есть в составе комплекса технических средств. По описанным выше причинам, комплексная
производительность ниже номинальной: V1*£V1, …, VN*£VN. Комплексную производительность можно оценить, например, с помо-
щью искусственно синтезированной программы, порождающей процесс с заданной смесью операций, при прогоне которой измеряется время ее выполнения.
Кроме параметра, характеризующего быстродействие устройства, существует некое понятие, определяющее занятость конкретного устройства по отношению ко времени работы всей системы – называмое загрузкой. Загрузка i-го устройства определяется отношением ri= Ti/T, где Ti – время, в течение которого устройство работало, и T – продолжительность работы системы в целом. В течение промежутка времени T-Ti устройство простаивает.
Очевидно, что загрузка ri £ 1. Если загрузка устройств 1, …, N равна r1, …, rN соответственно, то количество работы, выполняемой устройствами с быстродействием V1, …, VN за единицу времени, равно r1V1, …, rNVN. Совокупность значений r1V1, …, rNVN характеризует производительность технических средств с
учетом простоев, возникающих в процессе функционирования системы. Таким образом, оценка фактической производительности системы сводится к оценке загрузки устройств в конкретных условиях работы системы.
На загрузку устройств оказывают влияние управляющие программы операционной системы в связи с необходимостью обслуживания устройств ввода-вывода (участие процессора и запоминающих устройств для промежуточного хранения информации). Такая же ситуация возникает при использовании режима разделения времени и других вспомогательных функций.
Оценку влияния операционной системы на производительность предложили характеризовать системной производительностью. Системную производительность определили также набором r1V1, …, rNVN, в котором загрузка r1, …, rN определена при работе технических средств под управлением операционной системы. С учетом затрат времени на различные вспомогательные функции, системная производительность оказалась ниже комплексной (r1V1£V1*, …, rNVN£VN*) и, следовательно ниже номинальной (r1V1£V1, …, rNVN£VN).
Для систем обработки данных, находящихся в эксплуатации или разрабатываемых для конкретного применения, введен еще один вид количественной оценки системной производительности. В данном случае определен класс задач, по крайней мере, статически, то есть, определена рабочая нагрузка, и производительность оценивается числом задач, решаемых в единицу времени - l задач/час. Эта оценка ни о чем не свидетельствует, если не опреде-лен класс решаемых задач, по-другому, она не может применяться для сравнения систем, работающих с различными наборами задач.
Тем не менее, пусть за время T система завершила обработку n задач или заданий. Тогда производительность системы за время T составит:
(2.2)
задач в единицу времени, например, в час.
Обычно задачи поступают на обработку в случайные моменты времени, и время их пребывания в системе зависит от состава «смеси» (числа и характеристик) задач, одновременно обрабатываемых системой. В результате этого, число задач n, обработан-ных системой за время T, - величина случайная, и производительность l в этом временном интервале оценивается с погрешностью, имеющей статистическую природу и зависящей от случайной величины n и ее дисперсии (рассеяния). С увеличением длительности интервала T значение n возрастает, и погрешность оценки l стремится к нулю при T®¥. Другой способ определения производительности l через среднее значение интервала t между момен-
тами окончания обработки задач (рисунок 2.3). В этом случае в течение времени T регистрируются интервалы t1, …, tn между моментами завершения обработки задач. Среднее время этого интервала определяется интенсивностью выходного потока задач.
, (2.3)
а производительность системы (2.4)
Оценки производительности (2.2) и (2.3) совпадают, если
начало и конец промежутка времени T совпадают с моментами начала и окончания обработки задач.
Интересна зависимость между средним числом задач, поступающих в единицу времени на вход системы с интенсивностью L и средним числом задач, покидающих систему в единицу времени l. Зависимость представлена на рисунке 2.4.
В области 0£L£L* интенсивность выходного потока полностью определяется интенсивностью входного потока l= L. При L > L* система из-за ограниченности ресурсов – числа и быстродействия устройств, а также емкости памяти, не может в течение единицы времени обслужить все поступившие на обработку задания. И интенсивность выходного потока l, достигнув предельного значения l*, остается постоянной при любых значениях L > L*, причем L*= l*. Значение l* определяет максимальную производительность системы для заданного класса задач и является характеристикой самой системы, не зависящей от интенсивности входного потока задач. Таким образом, производительность системы является ограниченной сверху величиной: 0£ l £ l*. В области 0£L£ l* все
ресурсы системы в какой-то степени недоиспользуются. В области, L³ l* по крайней мере, один ресурс загружен полностью. Остальные ресурсы могут быть недогружены из-за нехватки одного или одновременно нескольких ресурсов.
В общем, на производительность наиболее существенно влияют следующие параметры:
1) число и быстродействие устройств, емкость оперативной и внешней памяти, с увеличением которых производительность может возрастать, а также структура системы и пропускная способность связей между элементами системы;
2) режим обработки задач, определяющий порядок распределения ресурсов системы между задачами, поступающими на обработку;
3) рабочая нагрузка, - в первую очередь объем вводимых, хранимых в памяти, выводимых данных и число процессорных операций, необходимых для решения задачи.
Оценка производительности числом задач, решаемых системой за единицу времени, годится только для конкретной системы, работающей с определенным, заданным множеством задач. Для оценки производительности различных систем, обрабатывающих различные классы задач, производительность на рабочей нагрузке определяют объемом вычислительной работы, выполненной в еди-ницу времени. Такую оценку представляют набором значений , составляющие которого определяют объем обработки, параметры ввода и вывода данных в единицу времени и т.п. Например, значение может определять число процессорных операций в секунду, а значение – число вводимых символов за секунду и т.д. Объемы вычислительных работ могут характеризоваться их предельными значениями , достигаемыми при насыщении системы. Оценки производительности через интенсивность выходного потока задач и объемы вычислительных работ за единицу времени связаны соотношением:
, (2.5)
где n = 1,…, N – число типов операций;
- показатель сложности вычислений, характеризуемый средним числом операций типа 1,…, N, выполняемых при решении одной
задачи. Причем, сюда включаются и операции, относящиеся к системным процессам (выполняемые операционной системой). Из формулы (2.5) следует зависимость (2.6)
Для различных индексов n различия в оценках λ, свидетельствуют о погрешностях в измерении значений и .
Если известны характеристики задач и быстродействия устройств , реализующих операции типа 1,..., N соответственно, и, предположительно, управляющими программами обеспечивается параллельный режим обработки задач и параллельная работа устройств, то можно получить верхнюю оценку максимальной производительности системы в форме:
, (2.7)
определяемую наименее производительным устройством в этой вычислительной системе. Здесь отношения определяют максимальную производительность устройств типа n = 1,…, N, характеризуемую числом задач, которые способны обслужить устройства за единицу времени. Оценка (2.7) будет ближе к реальному значению , если вместо подставить значения , характеризующие комплексную производительность системы.
Еще одним из способов оценки производительности является оценка производительности через процессорное время. Напомним, что одним из компонентов общего времени выполнения программ является процессорное время – Т [с]. Как известно, программы обычно пишутся на одном из языков высокого уровня, не завися-щих от конкретной организации процессора и архитектуры ЭВМ. После перевода такой программы на машинный язык – трансляции, объем программы, как правило, увеличивается за счет увеличения количества машинных команд - N, которые будут реально выполнены. Известно также, что каждая команда разбивается на ряд элементарных – базовых шагов. Положим, что среднее количество базовых шагов, необходимых для выполнения одной команды равно – S и что каждый базовый шаг выполняется за один такт про-цессора. Если тактовая частота процессора равна F тактам в секунду, то время выполнения программы составит:
, секунд (2.8)
Это равенство и определяет производительность компьютера. Некоторые специалисты называют его основной формулой вычисления производительности. Из равенства видно, что разработчик компьютера должен искать пути уменьшения значения T, для чего необходимо предельно уменьшить значения N и S и увеличить зна-
чение F. Значение N уменьшается, когда исходная программа транслируется в машинные коды с меньшим количеством команд.
Значение S уменьшается, когда команда выполняется за меньшееколичество базовых шагов или когда некоторые шаги могут выполняться одновременно. С повышением тактовой частоты F уменьшается время выполнения базового шага команды.
Естественно предположить, что параметры N, S и F являются зависимыми – изменение одного может повлиять на величину другого, поэтому значащей величиной является только значение параметра T.
Несмотря на кажущуюся простоту формулы (2.8), вычислить значение T не так-то просто. Более того, такие параметры как тактовая частота, а также различные архитектурные параметры компьютера не являются достоверными показателями производительности.
Поэтому для определения производительности был разработан еще один метод с помощью тестовых программ. Показателем производительности стало время, в течение которого компьютер выполняет тестовую программу. В настоящее время общепринято использовать для этого наборы специально разработанных реальных программ. Подбором таких программ занимается организация под названием System Performance Evaluation Corporation (SPEC) – акционерное общество по разработке систем определения характеристик производительности компьютеров. Она публикует списки программ для разных прикладных областей и результаты тестирования имеющихся на рынке моделей компьютеров. В список входят самые разнообразные программы: вычислительные программы в области астрофизики и квантовой механики и химии, управление базами данных, редакторы, игры и т.д. Программы компилируются и выполняются на тестируемом компьютере. Никакая эмуляция не допускается. Эти же программы компилируются и выполняются на компьютере, выбранном в качестве эталона. Коэффициент производительности названный SPEC вычисляется по формуле:
Так SPEC-коэффициент = 50 указывает на то, что тестируемый компьютер в 50 раз работает быстрее, чем эталонный. Для полного тестирования выполняются все программы из списка SPEC. Итоговый SPEC-коэффициент для компьютера рассчитывается по формуле:
,
где n – количество программ в тестовом наборе. Выполнение программ и измерения производятся в реальном времени, поэтому суммарно учтены все факторы, влияющие на производительность тестируемого компьютера, в том числе влияние компилятора, операционной системы, процессора и памяти.
2.2.2 Время ответа
Время ответа, иначе время пребывания заданий (задач) в системе, - длительность промежутка времени от момента поступления задания в систему до момента окончания его выполнения. На рисунке 2.3 указано время ответа u1, u2, … для заданий J1, J2, соответственно.
В общем случае время ответа – случайная величина, что обусловлено следующими факторами:
1) влиянием исходных данных на число операций ввода, обработки и вывода данных и непредсказуемостью значений исходных данных;
2) влиянием состава смеси задач, одновременно находящихся в системе, и непредсказуемостью состава смеси из-за случайности момента поступления задач на обработку.
Время ответа как случайная величина наиболее полно характеризуется функцией распределения P(u<x) или функцией плотности вероятностей p(u). Чаще всего время ответа оценивается средним значением, которое определяется как статистическое среднее случайной величины u i, i = 1,…,n, наблюдаемой для Ji задач
(2.9)
Время ответа слагается из двух составляющих: время выполнения задачи и время ожидания выполнения. Время выполнения задачи при отсутствии параллельных процессов равно суммарной длительности всех этапов процесса – ввода, обращения к внешней
памяти, процессорной обработки и вывода. Это время зависит от сложности вычислений и быстродействия устройств 1,..., N:
(2.10)
Время ожидания – сумма промежутков времени, в течение которых задача находилась в состоянии ожидания требуемых ресурсов. Ожидание возникает при мультипрограммной обработке, когда ресурс, необходимый задаче, занят другой задачей и первая
задача не выполняется, ожидая освобождение ресурса. Время ожидания зависит от режима обработки задач и интенсивности входного потока задач (заданий).
Таким образом, время ответа зависит от тех же параметров, что и производительность, то есть от структуры и характеристик технических средств, режима обработки и характеристик задач. Зависимость среднего времени ответа U от интенсивности входного потока задач L приведена на рис. 2.4. При L 0 время ответа
U Тзадачи, где Тзадачи определяется (2.10). С увеличением L среднее время ответа монотонно возрастает и может принимать сколь угодно большие значения, если интенсивность входного потока L превышает производительность системы λ * в течение сколь угодно большого периода времени.
Среднее время ответа характеризует быстроту реакции системы на входные воздействия: задания, запросы абонентов и т.п. Качество системы тем выше, чем меньше среднее время ответа.
2.2.3 Характеристики надежности
Надежность – это свойство системы выполнять возложенные на нее функции в заданных условиях функционирования с заданными показателями качества. По-другому – свойство системы сохранять величины выходных параметров в пределах установленных норм при заданных условиях.
Показателями качества могут служить: достоверность результатов, пропускная способность, время ответа и другие. Под «заданными условиями» подразумеваются различные факторы, которые могут влиять на выходные параметры системы и выводить их за пределы установленных норм.
Известно, что работоспособность системы или отдельных, составляющих ее частей время от времени нарушается. Случаются выходы из строя элементов или соединений, называемые отказами. Отказом называют событие, после которогосистема не выполняет своих функций в установленном объеме, не обеспечивает нормальной работы. Надежность системы характеризуется степенью ее безотказной работы во времени. Поскольку отказ являетсяслучайной функцией времени, то и надежность характеризуетсяслучайной функцией времени, то есть подчиняется вероятностным законам.Важнейшей характеристикой надежности является интенсивность отказов, определяемая средним числом отказов за единицу времени, обычно это один час. Чем больше элементов и соединений, тем больше вероятность отказов. Можно определить интенсивность отказов для каждого элемента или соединения – λ i и интенсивность отказов системы или изделия, состоящего из n элементов:
Так, если Λ = 10 –2 ч, то в среднем за 100 часов работы происходит один отказ. Средний промежуток времени между двумя смежными отказами называется средней наработкой на отказ и равен T ср. о = 1/Λ. При том же значении Λ = 10 –2 ч наработка на отказ составит 100 ч. Промежутки между отказами являются случайными величинами со средним значением T ср.о распределяются, как правило, по экспоненциальному закону.
Для надежной работы элементов необходимо, чтобы t << T ср. о. Так, например, если t/ T ср. о = 0,01, то P(t) =0,99; если
t/ T ср. о = 0, 1, то P(t) =0,9.
Таким образом, в качестве количественной меры надежности элементов можно использовать интенсивность отказов. Эта мера не является единственно возможной, но она позволяет легко определить время и вероятность безотказной работы.
Надежность системы можно характеризовать и другой количественной мерой – коэффициентом готовности (availability).
Дело в том, что нарушенную в результате отказа работоспособность системы можно восстановить путем ее ремонта. Ремонт состоит в выявлении причины отказа через диагностику системы и замены неисправного элемента. Промежуток времени, затраченный на восстановление работоспособности системы, называется временем восстановления. Его длительность зависит от сложности системы, совершенства средств диагностики, уровня ремонтопригодности, профессионализма обслуживающего персонала. Время восстановления – случайная величина, характеризуемая средним значением ТВ - средним временем восстановления.
С учетом средней наработки на отказ T ср. о и среднего времени восстановления ТВ, надежность системы оценивается значением коэффициента готовности:
,
определяющим долю времени, в течение которого система находится в работоспособном состоянии.
Значение 1 - К г представляет собой долю времени, в течение которого система не работоспособна – ремонтируется. Например, если К г = 0,95, это значит 95% времени система работоспособна, а 5% времени ремонтируется. Кроме того, коэффициент готовности определяет вероятность того, что в любой произвольный момент времени система работоспособна, а значение 1 - К г - вероятность того, что в этом промежутке времени система восстанавливается.
Надежность системы может быть повышена за счет различных вариантов резервирования ее элементов. Резерв – это избыточность элементов, которые не участвуют в действиях, но которые в определенный момент могут быть действующими. Понятно, что резервирование связано с дополнительными затратами на систему, то есть увеличивают ее конечную стоимость.
2.3 Режимы обработки данных
Режим обработки данных – это способ выполнения заданий (задач), характеризующийся порядком распределения ресурсов системы между заданиями (задачами). Требуемый режим обработки данных обеспечивается управляющими программами операционной системы. Последние выделяют заданиям оперативную и внешнюю память, устройства ввода-вывода, процессорное время и другие ресурсы в требуемом заданием порядке, с учетом приоритетов заданий, сложности задач, вычислений и др.
Режим обработки данных порождает соответствующий режим функционирования системы. Последний проявляется в порядке выполнения задач и предоставлении некоторым из них преимущественного права на использование ресурсов, организации ввода-вывода данных, хранения программ в оперативной памяти и т.д. Порядок распределения ресурсов в конечном итоге влияет: на продолжительность пребывания задач в системе; производительность системы; стоимость обработки данных и другие характеристики системы, а также на процессы обработки задач. В связи с этим, выбор режима обработки обусловлен необходимостью обеспечения тех или иных характеристик системы и процессов обработки. Характеристики системы, в свою очередь, влияют на способы взаимодействия пользователя с системой и, следовательно, на интенсивность взаимодействия, продолжительность взаимодействия и т.д.