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

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,77 Мб
  • Опубликовано:
    2012-07-07
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

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

Содержание

Введение

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

2. Оптимальная производительность с учетом индивидуальных данных

3.   Анализ чувствительности с учетом индивидуальных данных

3.1       Чувствительность СОС к числу процессоров

3.1.1 Чувствительность СОС к изменению параметра М

.1.2 Зависимость производительности от быстродействия процессора

.1.3 Чувствительность СОС к изменению параметра P

.1.4 Чувствительность СОС к изменению параметра T

3.2       Перекрестные зависимости

3.2.1 Зависимость межпроцессорных накладных расходов от параметров системы

.2.2 Зависимость быстродействия процессора от параметров системы

.2.3 Зависимость внутрипроцессорных накладных расходов от параметров системы

.2.4 Зависимость числа операций на обработку сообщения от параметров системы

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

Заключение

Библигорафичекий список

Введение

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

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

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

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

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

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

S = 1550 - быстродействие системы, тыс. операций в секунду;

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

M = 115 - коэффициент межпроцессорных накладных расходов, тыс. операций в секунду;

T = 18 - число операций на обработку одного сообщения, тыс. операций на сообщение;

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

производительность затрата расход процессор


Поскольку для данной СОС S = 1550, Р = 130, М= 115, Т= 18, то приведенная формула примет вид


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


2. Оптимальная производительность с учетом индивидуальных данных

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

, (2)

Можно легко вычислить требуемую производную:

. (3)

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

 (4)

то, подставив выражение для dП/dN из (3) в (4), получим


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

. (5)

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

опт = (1550-130+115)/2*115=6,7

Поскольку на практике можно работать только с целым числом процессоров, то придется довольствоваться системой из 6 или 7 процессоров с П (N) ≈ 281,7сообщ./с и с П (N) ≈ 283,9 сообщ./с. (см. рис. 1).

Одним полезным следствием знания точного значения Nопт является возможность оценить ухудшение производительности из-за того, что иногда нельзя на практике реализовать оптимальное решение. В данном случае, производительность была бы равна:

П (6,7) =6,7*(1550 - 115*6,7) / 18 = 290,1472

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

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

3. Анализ чувствительности с учетом индивидуальных данных

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

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

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

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

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


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


На графике представлено сравнение ситуаций, когда коэффициент межпроцессорных накладных расходов равен заданному значению 115, и когда он равен 230. Таким образом, получается, что в случае отклонения параметра М до значения 230, покупка 7 процессоров принесет очень маленькую прибыль, производительность системы будет равна всего 15,5, что почти в 18 раз меньше, чем при заданном коэффициенте межпроцессорных расходов М=115.

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

Рассмотрим влияние изменения величины внутрипроцессорных накладных расходов на производительность системы. Пусть Р = 260 тыс.оп./с. Тогда из (2) следует:


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

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

Можно сделать вывод о том, что СОС очень чувствительна к величине внутрипроцессорных накладных расходов, и ее изменения нужно четко отслеживать.


Зависимость производительности от быстродействия процессора

Оценим производительность системы при увеличении быстродействия процессора в 2 раза: S = 3100 тыс.оп./с. Из формулы (2) получается:


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

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


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

Рассмотрим влияние изменения числа операций на обработку сообщения на производительность системы. Пусть Т = 36 тыс.оп./сообщ. Тогда из формулы (1) следует:


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

Получается, что при шестипроцессорной системе с числом затрачиваемых операций на сообщение равным 36 тыс., производительность будет примерно в 2 раза ниже исходной. Так, для шестипроцессорной СОС, производительность снизится с 291,67 сообщ./с. до 141 сообщ./с.


3.1 Чувствительность СОС к числу процессоров

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

(a0, b0, … z0).

В случае СОС по формуле (1) можно получить

(S, P, M, T) = N[S - P - M(N - 1)]/T = N(S - P)/T - MN(N - 1)/T (6)

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

Полученное значение представляет собой тангенс угла наклона характеристики чувствительности (рис.6, 7, 8, 9).

Из этих графиков видно, что производительность шестипроцессорной системы:

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

более чувствительна к изменению быстродействия процессора (рис. 7) и повышается с его увеличением;

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

более чувствительна к изменению числа операций на обработку сообщения (рис.9) и понижается с увеличением этого коэффициента.

.1.1 Чувствительность СОС к изменению параметра М


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

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


3.1.2 Зависимость производительности от быстродействия процессора



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

3.1.3 Чувствительность СОС к изменению параметра P



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

3.1.4 Чувствительность СОС к изменению параметра T



3.2 Перекрестные зависимости

Для полного анализа системы необходимо рассмотреть и перекрестные зависимости - зависимости параметров системы от остальных параметров.

3.2.1 Зависимость межпроцессорных накладных расходов от параметров системы

Межпроцессорные накладные расходы рассчитываются по следующей формуле:

 (7)

Зависимость коэффициента М от внутрипроцессорных накладных расходов Р

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


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


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


Зависимость коэффициента М от числа процессоров N


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

Зависимость коэффициента М от числа операций на обработку сообщений Т



3.2.2 Зависимость быстродействия процессора от параметров системы

Быстродействие процессора вычисляется по следующей формуле:

;

Зависимость параметра S от числа процессоров N


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

Зависимость параметра S от внутрипроцессорных накладных расходов Р



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

Зависимость параметра S от числа операций на обработку сообщения Т


На графике (рис. 16) видно, что при возрастании числа операций обработки сообщения параметр S возрастает и при 5 процессорах и при 6, что говорит о зависимости параметров друг от друга, хоть и не очень значительной.

.2.3 Зависимость внутрипроцессорных накладных расходов от параметров системы

Внутрипроцессорные накладные расходы рассчитываются по формуле:

;

Зависимость параметра P от числа процессоров N



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

Зависимость параметра P от числа операций на обработку сообщения Т

=1090 - 53,334T



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

3.2.4 Зависимость числа операций на обработку сообщения от параметров системы

Число операций на обработку одного сообщения вычисляется по формуле:

;

Зависимость параметра Т от числа процессоров



Из графика видно (Рис. 19), что параметр Т зависим от изменений параметра N, то есть при увеличении числа процессоров число операций на обработку одного сообщения сначала увеличивается, а начиная с семипроцессорной системы начинает уменьшаться.

Анализ чувствительности чрезвычайно важен для трех главных работ инженерного программирования:

)        анализа осуществимости на исследовательских фазах, отвлеченных от конкретных практических вопросов;

)        анализа степени риска на фазах планирования;

)        анализа требований к изделию и его проектированию.

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

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

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

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

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

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

В предыдущих частях была предложена модель решения проблемы оптимальной производительности: для данных значений системных параметров S, P, M и T было определено число процессоров N, необходимое для получения максимальной производительности П (N, S, P, M, T).

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

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

;

Поскольку будет изготовлено К = 19 копий СОС и каждый процессор обработки сообщений стоит 400 д. е., получим, что добавление одного процессора в базовую структуру СОС обойдется в 7.6 тыс. д. е. Поэтому при измерении С в тысячах денежных единиц получим :

;


С помощью понятия эффективности затрат легче оценить, действительно ли вариант (N = 6 или N = 7), максимизирующий производительность системы, является наилучшим способом распределения ограниченных ресурсов. Безусловно, вариант N = 7 лучше, чем вариант N = 8, но лучше ли он, чем вариант N = 6? Например, может оказаться необоснованным расход 7 600 или 15 200 д. е. для перехода от шестипроцессорной системы к семипроцессорной при увеличении производительности только на 2,2222 тыс. сообщений в секунд. Можно сделать выводы, что в большинстве случаев, данное решение окажется невыгодным.

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

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

ü  240 д. е. - цена для процессоров свыше 75.

Найдем функцию производительности для процессоров под номерами свыше 75. Так как К = 19 копий система сообщений стоит 240 д. е., получим, что добавление одного процессора в базовую структуру СОС обойдется в 4,56 тыс. д. е. Поэтому при измерении С в тысячах денежных единиц получим :

;


Заключение

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

В результате выполнения работы была построена модель производительности, используя которую была получена шестипроцессорная система обработки сообщений, т.к. количество процессоров равное шести является оптимальным для рассмотренной системы, производительность при этом равна 266,67 сообщ./сек.

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

·        оценке эффективности затрат и текущей стоимости;

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

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

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

Список используемой литературы

1.      Боэм Б. У., Инженерное программирование программного обеспечения/ Б.У. Боэм. - М.: Радио и связь, 1995. -512 с.

.        Иконников О.А. Методические указания к выполнению курсовой работы "Теория систем и системный анализ".- СибГАУ.- Красноярск,2008.- 24 с.;

.        Орлов С. А., Технологии разработки программного обеспечения: Разработка сложных программных систем, уч. пособие. - СПб.: Питер, 2002. - 528с.

.        Синк Д .С., Управление производительностью: планирование, измерение и оценка, контроль и повышение.- М.: Прогресс, 1999. - 528с.


Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!