Применение модели производительности в инженерном программировании

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

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 10.10.2012
Размер файла 202,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Модели производительности системы и эффективности затрат. Модели производительности

производительность инженерный программирование затрата

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

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

В качестве процессора обработки сообщений был выбран конкретный микропроцессор, лучше всего подходящий для выполнения функций СОС. Этот микропроцессор обладает быстродействием 1 млн. операций в секунду (1000 тыс. оп/с) и может обрабатывать сообщения, затрачивая 20000 операций на сообщение (20 тыс. оп./сообщ.).

Таким образом, если бы операционная система СОС не требовала для своей работы вычислительных ресурсов, то каждый процессор СОС мог бы обрабатывать 50 сообщ./с. Однако операционная система должна выполнять несколько административных функций, например планирование, управление ресурсами, диспетчеризацию, обнаружение и обработку ошибок и контроль работы. Каждый процессор расходует на такие функции приблизительно 200 тыс. оп./с, что уменьшает производительность СОС до 40 сообщ./с на один процессор.

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

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

S -- быстродействие процессора, тыс. оп./с;

P -- внутри процессорные накладные расходы, тыс. оп./с;

М -- коэффициент межпроцессорных накладных расходов, тыс. оп./с;

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

1.1

Поскольку для данной СОС S = 2600, Р = 900, М = 125 и T = 650, то приведенная формула примет вид:

П (N)=N[2600 - 900 - 125 (N - 1)]/650 = (1700 - 125N+125)/650 = N(1825 -125 N)/650.

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

Рис.1.1. Зависимость производительности СОС П (N) от числа процессоров

Таблица

N

П(N)

1

2,6

2

4,8

3

6,9

4

8,1

5

9,2

6

9,9

7

10,2

8

10,1

9

9,6

10

8,8

Общее обсуждение. Уравнение (1.1) задает некоторую модель производительности в зависимости от набора переменных, называемых системными параметрами. В уравнении не только N, но также S, Р, М и Т являются системными параметрами. Таким образом, строго говоря, П (N) следует обозначить как П (N, S, Р, М, Т).

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

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

2. Данные анализа чувствительности. В результате анализа моделей производительности можно определить чувствительность производительности системы к характеристикам модели.

Использование этих типов информации обсуждается поочерёдно в следующих двух разделах.

Оптимальная производительность

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

Если определить Nmax как точку, в которой тангенс угла наклона касательной равен нулю

,

то, подставив выражение для из (1.3) в (1.4)

и разрешив полученное уравнение относительно Nmax, получим

(1.5)

Для рассматриваемого примера СОС, когда S = 1000, Р = 200и М = 80, оптимальное число процессоров

Nmax =(2600--900+125)/250 =7,3.

Поскольку на практике можно работать только с целым числом процессоров, придется довольствоваться системой из 7 или 8 процессоров с П (N) = =10 сообщ./с. Одним очень полезным следствием знания точного значения Nmax является возможность оценить ухудшение производительности из-за того, что нельзя на практике реализовать абсолютно оптимальное решение. В рассмотренном случае т.е. убеждаемся, что ухудшение производительности относительно невелико.

П (7,3) = 7,3[2600--900--125(6,3)]/650= 10 сообщ./с,

Рис. 1.2

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

1. Несколько максимумов или (и) минимумов. В точке x0 на рис.1.2 производная обращается в нуль, и функция имеет в этой точке локальный максимум, но x0 не является оптимальной точкой, точкой глобального максимума. С подобной ситуацией можно сталкиваться довольно часто. Таким образом, нахождение оптимальной точки связано с исследованием всех точек, в которых производная обращается в нуль.

2. Точки перегиба и седловые точки. На графике в левой части (см. рис. 1.3) точка х=0 является точкой перегиба функции П (х)=х3. Производная этой функции dП/dх=Зх2 обращается в нуль при х=0, однако функция в этой точке не имеет ни максимума, ни минимума.

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

Рис. 1.3

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

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

Рис. 1.4

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

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

Анализ чувствительности

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

Допустим, однако, что указанное предположение на практике подтверждается. Какое влияние окажет это на производительность СОС?

Рассмотрим ситуацию, в которой М = 160, а все остальные системные параметры остались прежними. В этом случае из (1.1) получаем

П(N)=N(2600-900-250(N-1)/650=N(1950-250N)/650

Результаты сравнения с первоначальным примером показаны (см. рис. 1.5).

Таким образом, если бы было закуплено семь процессоров и после включения их в работу обнаружено, что коэффициент межпроцессорных накладных расходов равен 250, а не 125, то была бы получена семипроцессорная СОС с производительностью 10 сообщ./с. Этот результат был бы не лучше, чем для однопроцессорной СОС и существенно отличался бы от ожидаемой производительности 120 сообщ./с.

Можно получить более полную картину чувствительности функции П (N,S, М, Т) к М, положив N=5, оставив S =2600, Р=900 и Т=650 и изучив поведение следующей функции:

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

Рис. 1.5. Производительность СОС для двух значений коэффициента межпроцессорных накладных расходов

Общее обсуждение. В общем случае, если имеется функция П (а, b, z) от нескольких параметров, ее чувствительность код-ному из них, например z, в данной точке (а0, b0 ,…, z0) можно определить вычислением производной функции П по z в точке (а0, b0 ,…, z0):

В случае СОС из (1.1) можно получить

Поэтому частная производная функция П по М

Полученное значение представляет собой тангенс угла наклона характеристики чувствительности.

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

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

Модели эффективности затрат

В предыдущих разделах была предложена модель решения проблемы оптимальной производительности:

Для данных значений системных параметров S, Р, М и Т определить число процессоров N, необходимое для получения максимальной производительности П(N, S, Р, М, Т).

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

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

П (С)=N(С)[S -Р - М(N(С) - 1)]/Т.

Поскольку будет изготовлено 25 копий СОС и каждый процессор обработки сообщений стоит 400 долл., получим, что добавление одного процессора в базовую структуру СОС обойдется в 10 тыс. долл. (25•400 долл. = 10 000 долл.). Поэтому при измерении С в тысячах долларов получим N (С) = С/10 и

П (С) = С/10[S - Р - М (С/10 - 1)]/Т.

Таким образом, кривую эффективности затрат, соответствующую рис. 1.1, можно получить простым изменением масштаба по оси абсцисс, как показано на рис. 1.6.

С помощью понятия эффективности затрат можно легче оценить, действительно ли вариант (N = 5 или N = 6), максимизирующий производительность системы, является наилучшим способом распределения ограниченных ресурсов. Безусловно, вариант N = 5 лучше, чем N = 6, но лучше ли он чем N = 4? Ведь может оказаться необоснованным расход 10 тыс. долл. для перехода от четырехпроцессорной системы к пятипроцессорной при увеличении производительности только на 8 сообщ./с.

Результаты улучшения функции затрат. Иногда выбор подходящего варианта упрощается с улучшением функции затрат N (С). Например, пусть имеется возможность договориться с поставщиками аппаратуры относительно следующего (весьма упрощенного) прейскуранта со «скидной с количества» (предусматривающего снижение цены при покупке крупной партии процессоров):

цена каждого из первых 75 процессоров равна 400 долл.;

цена каждого процессора сверх 75 равна 240 долл.

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

Общее обсуждение.

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

Модели эффективности затрат обычно состоят из двух частей:

1) модели затрат С = С (F), определяющей затраты на приобретение некоторых средств F;

2) модели производительности П = П (F), определяющей производительность при использовании средств F.

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

Ниже приводятся несколько примеров таких средств и их типичные прейскуранты.

Рис.1.6

Рис.1.7

При издержках 10 тыс. долл. При покупке процессоров на процессор со скидкой.

Техническое обеспечение ЭВМ. Типичный прейскурант на техническое обеспечение выглядит так:

1000 долл. за каждое из первых четырех устройств (с 1-го по 4-е);

850 долл. за каждое из последующих 10 устройств (с 5-го по 14-е);

750 долл. за каждое из последующих 35 устройств (с 15-го по 49-е);

650 долл. за каждое из последующих 150 устройств (с 50-го по 199-е);

600 долл. за каждое приобретенное сверх того устройство (с 200-го).

Машинное время. Типичная расценка за минуту времени работы центрального процессора универсальной ЭВМ такова: 5 долл. для срочных работ, 3 долл. для нормального (2 ч.) цикла обращения и 1 долл. для ночного (12 ч) цикла обращения.

Программные изделия. Типичный прейскурант на программное изделие выглядит так: 10 тыс. долл. за использование на первой установке в некоторой организации и 2000 долл. за использование на каждой из дополнительных установок в той же организации.

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

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

Формула эффективности затрат П (С) показывает, какую производительность можно получить при заданных затратах. Как же определить желательную производительность?

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

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

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

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

Размещено на Allbest.ru


Подобные документы

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

    курсовая работа [2,7 M], добавлен 08.07.2012

  • Дерево целей и функций. Построение функциональной модели структуры управления предприятием. Количественный анализ моделей. Оценка экономической эффективности. Функции обработки информации. Диаграммы потоков данных. Определение текущей стоимости затрат.

    курсовая работа [647,7 K], добавлен 11.07.2015

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

    презентация [1,4 M], добавлен 10.11.2013

  • Основная цель технологии СОМ (объектная модель компонентов) - обеспечение возможности экспорта объектов. Объектно-ориентированное программирование и его место в программировании. Принципы и применение описаний информационных систем (UML и аналоги).

    курсовая работа [698,3 K], добавлен 09.12.2013

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

    дипломная работа [7,3 M], добавлен 29.11.2015

  • История создания и общая характеристика операционных систем Windows Server 2003 и Red Hat Linux Enterprise 4. Особенности установки, файловых систем и сетевых инфраструктур данных операционных систем. Использование протокола Kerberos в Windows и Linux.

    дипломная работа [142,7 K], добавлен 23.06.2012

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

    курсовая работа [38,5 K], добавлен 08.05.2011

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

    курсовая работа [483,6 K], добавлен 01.12.2010

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

    презентация [1,4 M], добавлен 24.01.2014

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

    курсовая работа [72,7 K], добавлен 08.10.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.