Анализ производительности проекта параллельной системы
Теория планирования в реальном времени. Анализ производительности с помощью анализа последовательности событий. Пример анализа производительности с применением теории планирования в реальном времени. Оценка и измерение параметров производительности.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 06.03.2014 |
Размер файла | 1,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Первоначально задаче последовательности событий назначается естественный частотно-монотонный приоритет. Поскольку у апериодичной задачи последовательности событий такой же период, что и у двух других периодических задач - Корректировка Скорости и Путь и Скорость, - то ей присваивается наивысший приоритет. Но у задач Интерфейс Вала, Интерфейс Дросселя и Автодатчики более короткие периоды, поэтому их частотно-монотонные приоритеты будут выше, чем у задачи последовательности событий. Параметры алгоритма планирования для данного случая, а также назначенные задачам приоритеты показаны в табл.11. 4 (случай 1).
После подстановки оценок времени ЦП из табл.11.2 в уравнение 1 (см. раздел 11.5) получаем, что время Ce выполнения эквивалентной задачи последовательности событий равно 35 мс. Учитывая, что ее период Te составляет 250 мс, коэффициент использования ЦП оказывается равным 0,14. Так как полный коэффициент использования ЦП периодическими задачами равен 0,48, то в сумме получаем коэффициент 0,62, что меньше предельного значения 0,69. Следовательно, задача последовательности событий удовлетворяет временным ограничениям; то же можно сказать обо всех периодических задачах.
Таблица 4
Планирование в реальном времени для системы круиз-контроля и мониторинга: параметры периодических задач и задачи последовательности событий
Задача |
Время ЦП Ci |
Период Ti |
Коэффициент исполь-зования Ui |
Приоритет (слу-чай 1) |
Приоритет (слу-чай 2) |
|
Интерфейс вала |
2 |
10 |
0,20 |
1 |
1 |
|
Автодатчики |
6 |
100 |
0,06 |
3 |
3 |
|
Путь и Скорость |
11 |
250 |
0,04 |
5 |
5 |
|
Калибровка |
5 |
500 |
0,01 |
7 |
7 |
|
Корректировка Скорости |
15 |
250 |
0,06 |
6 |
6 |
|
Интерфейс Дросселя |
6 |
100 |
0,06 |
3 |
4 |
|
Интерфейс Кнопки Сброса |
4 |
500 |
0,01 |
8 |
8 |
|
Таймер Средних Показателей |
20 |
1000 |
0,02 |
10 |
10 |
|
Интерфейс Кнопки Сброса Обслуживания |
6 |
1000 |
0,01 |
9 |
9 |
|
Таймер Обслуживания |
15 |
2000 |
0,01 |
11 |
11 |
|
Задача Последо-вательности Событий |
35 |
250 |
0,14 |
4 |
2 |
Полный коэффициент использования Un=0,62
Назначение приоритетов:
Случай 1 - частотно-монотонные;
Случай 2 - не частотно-монотонные.
Отметим, что нажатие тормоза допустимо проанализировать так же, как и изменение положения ручки круиз-контроля. В обработке события от педали тормоза участвуют задачи Автодатчики, Круиз-Контроль, Корректировка Скорости и Интерфейс Дросселя, причем последние три задействованы и в обработке события от ручки круиз-контроля. Из табл.11.2 видно, что оценка времени выполнения задачи Автодатчики (5 мс) такая же, как для задачи Интерфейс Ручки Круиз-Контроля. Поэтому на обработку нажатия тормоза ЦП тратит столько же времени, сколько на обработку события от ручки круиз-контроля. Хотя период задачи Автодатчики равен 100 мс, мы предполагаем, что водитель не в состоянии генерировать события с частотой больше чем четыре раза в секунду, будь то нажатия на педаль тормоза или манипулирование ручкой круиз-контроля. Значит, частота запуска задачи Автодатчики вполне достаточна для того, чтобы не пропустить ни одного события.
Итак, можно считать, что случай нажатия педали тормоза аналогичен изменению положения ручки круиз-контроля и их допустимо рассматривать одинаково. Стало быть, и результаты анализа последовательности событий будут идентичными.
Назначение других приоритетов. В первом решении было сделано одно допущение и одно приближение. Сначала рассмотрим допущение о том, что всем задачам можно назначить частотно-монотонные приоритеты. В таком случае имеется вероятность, что задача последовательности событий пропустит прерывание от ручки круиз-контроля, если будет дожидаться завершения задач Интерфейс Вала, Интерфейс Дросселя и Автодатчики. С другой стороны, если назначить задаче последовательности событий наивысший приоритет, то задача Интерфейс Вала не успеет отработать, так как ее период равен 10 мс, а время выполнения задачи последовательности событий - 35 мс.
Чтобы избежать этого, мы присвоим задаче последовательности событий приоритет ниже, чем задаче Интерфейс Вала, но выше, чем у задач Интерфейс Дросселя и Автодатчики. Таким образом, приоритет задачи последовательности событий будет отличаться от частотно-монотонного; это показано в табл.11.4 (случай 2). Следовательно, нужно явно проверить, что каждая задача удовлетворяет своим временным ограничениям.
У двух задач с наивысшими приоритетами - Интерфейс Вала и задача последовательности событий - суммарный коэффициент использования ЦП равен 0,34, так что они без труда укладываются в срок. Но уже две следующие задачи - Интерфейс Дросселя и Автодатчики - могут быть задержаны задачей последовательности событий. Необходимо провести анализ худшего случая с целью убедиться, что они успеют завершиться вовремя, учитывая при этом, что период каждой равен 100 мс.
Рассмотрим самую большую нагрузку на процессор в течение интервала длиной 100 мс: десять раз активизируется задача Интерфейс Вала, по одному разу - четыре задачи, участвующие в обработке последовательности событий, и по одному разу - задачи Интерфейс Дросселя и Автодатчики. Задача Интерфейс Вала потребляет 10 Ч 2 = 20 мс. Четыре задачи, задействованные в обработке последовательности событий, требуют 35 мс. Для каждой из задач Интерфейс Дросселя и Автодатчики нужно еще по 6 мс. Всего ЦП затрачивает 67 мс, то есть меньше, чем период задач Интерфейс Дросселя и Автодатчики (100 мс). Таким образом, все задачи успевают завершиться в срок.
Отметим, что, хотя полный коэффициент использования ЦП составляет 62%, во время всплесков активности кратковременная нагрузка может быть гораздо больше. Так, на рассмотренном выше интервале протяженностью 100 мс полный коэффициент использования тремя стационарными задачами и одной задачей последовательности событий равен 0,67, а значит, при этом все еще будут выполняться низкоприоритетные задачи. Если в течение данного интервала активизируется еще и задача Путь и Скорость, то коэффициент использования поднимется до 0,78. Но алгоритм планирования в реальном времени гарантирует, что все задачи будут удовлетворять временным ограничениям при любых кратковременных всплесках активности.
Детальный анализ апериодических задач. Для более полного анализа задачи круиз-контроля нужно по отдельности рассмотреть все задачи, участвующие в обработке последовательности событий. Параметры каждой из четырех задач приведены в табл. 17.2 и 17.5, причем затраты на межзадачные коммуникации и контекстное переключение уже учтены во времени выполнения.
Таблица 5
Планирование в реальном времени для системы круиз-контроля и мониторинга: параметры периодических и апериодических задач
Задача |
Время ЦП Сi |
Период Тi |
Коэффициент использования Ui |
Приоритет |
|
Интерфейс Вала |
2 |
10 |
0,20 |
1 |
|
Автодатчики |
6 |
100 |
0,06 |
3 |
|
Путь и Скорость |
11 |
250 |
0,04 |
7 |
|
Калибровка |
5 |
500 |
0,01 |
8 |
|
Корректировка Скорости* |
16 |
250 |
0,06 |
6 |
|
Интерфейс Дросселя* |
6 |
100 |
0,06 |
4 |
|
Интерфейс Кнопки Сброса |
4 |
500 |
0,01 |
9 |
|
Таймер Средних Показателей |
20 |
1000 |
0,02 |
11 |
|
Интерфейс Кнопки Сброса Обслуживания |
6 |
1000 |
0,01 |
10 |
|
Таймер Обслуживания |
15 |
2000 |
0,01 |
12 |
|
Интерфейс Ручки Круиз-Контроля* |
6 |
250 |
0,02 |
2 |
|
Круиз-Контроль* |
7 |
250 |
0,03 |
5 |
* Задачи, участвующие в обработке последовательности событий.
Кроме того, время ЦП для задачи Интерфейс Ручки Круиз-Контроля равно С1 + С2. Все задачи, принимающие участие в обработке события, считаются периодическими с периодом, равным минимальному времени между событиями (250 мс). Единственное исключение - задача Интерфейс Дросселя, которая, кроме того, еще и выполняется каждые 100 мс.
Чтобы гарантировать своевременную реакцию на событие, задачам, которые участвуют в его обработке, следует по возможности назначить максимальный приоритет. В частности, для обеспечения быстрой обработки внешнего прерывания первая задача в цепочке - Интерфейс Ручки Круиз-Контроля - получает приоритет, выше которого стоит лишь задача Интерфейс Вала. Поскольку этот приоритет выше, чему двух задач с более коротким периодом (Интерфейс Дросселя и Автодатчики), монотонность частот нарушена. Впрочем, остальным трем задачам в цепочке назначаются обычные частотно-монотонные приоритеты. Задача Интерфейс Дросселя, имеющая период 100 мс, получает четвертый по величине приоритет, а за ней оказывается задача Автодатчики с таким же периодом. Двум другим задачам - Круиз-Контроль и Корректировка Скорости - с одинаковым периодом по 250 мс назначаются следующие два приоритета.
Чтобы завершить анализ, необходимо применить обобщенную теорию планирования в реальном времени, которая требует явно проверить, что ни одна задача не выходит за свою верхнюю границу.
Наивысший приоритет у задачи Интерфейс Вала с периодом 10 мс. Когда наступает время выполнения, она вытесняет все остальные задачи и работает в течение 2 мс, так что для нее временные ограничения заведомо удовлетворены. Задача Интерфейс Ручки Круиз-Контроля описывается вместе с остальными задачами в последовательности обработки события, поскольку важно, чтобы все четыре задачи успели завершиться за 250 мс.
Рассмотрим функционирование четырех задач на временном интервале Тe протяженностью 250 мс. Как и прежде, наша цель - удостовериться, что они закончат выполнение до истечения 250 мс. Применим обобщенную теорему о верхней границе коэффициента использования ЦП, принимая во внимание следующие четыре фактора:
- время выполнения задач, участвующих в обработке события. Полное время выполнения всех четырех задач Сe = 35 мс, а Тt = 250 мс. Коэффициент использования ЦП равен 0,14;
- время вытеснения более приоритетными задачами с периодами, меньшими 250 мс. Таких задач три. Задача Интерфейс Вала с периодом 10 мс может вытеснить любую задачу не более 25 раз и потребит 25 Ч 2 = 50 мс. Задачи Интерфейс Дросселя и Автодатчики с периодом 100 мс в состоянии вытеснить любую из остальных низкоприоритетных задач до трех раз и будут исполняться не дольше 3 (6 + 6) = 36 мс;
общее время вытеснения составляет 50 + 36 == 86;
суммарный коэффициент использования за счет вытеснения равен 0,2 + 0,06+0,06=0,32;
- вытеснение более приоритетными задачами с большими периодами. Таких задач нет;
- время блокировки задачами с более низким приоритетом. Таких задач нет.
Теперь мы можем определить общее затраченное время и полный коэффициент использования ЦП:
Общее затраченное время = общее время вытеснения + общее время выполнения = 86 + 35 - 121 <250.
Полный коэффициент использования = коэффициент использования за счет вытеснения + коэффициент использования за счет выполнения = 0,32 + 0,14 = 0,46 < 0,69.
Полный коэффициент использования 0,46 меньше предельного значения 0,69, которое дает теорема о верхней границе коэффициента использования, поэтому все четыре задачи удовлетворяют временным ограничениям.
Чтобы выяснить, верно ли сказанное в отношении двух задач с периодом 100 мс, необходимо рассмотреть вытеснение и время выполнения на интервале протяженностью 100 мс:
- время выполнения обеих задач. Они рассматриваются вместе, так как имеют одинаковый период. Полное время выполнения составляет 6 + 6 = 12 мс. Коэффициент использования ЦП равен 0,06 + 0,06 =0,12;
- время вытеснения более приоритетными задачами с периодами, меньшими 100 мс. Есть только одна такая задача - Интерфейс Вала, которая может вытеснить остальные задачи не более 10 раз на 100-миллисекундном интервале и потребит при этом 10 Ч 2 = 20 мс? Коэффициент использования за счет вытеснения равен 0,06;
- вытеснение более приоритетными задачами с большими периодами. Единственная такая задача Интерфейс Ручки Круиз-Контроля способна вытеснить любую из двух задач только один раз и занять 6 мс. Коэффициент использования равен 0,06;
- время блокировки задачами с более низким приоритетом. Таких задач нет.
Сделаем вывод.
Суммарный коэффициент использования за счет вытеснения равен 0,2 + 0,06 = 0,26.
Полный коэффициент использования = коэффициент использования за счет вытеснения + коэффициент использования за счет выполнения = 0,26 + 0.12 = 0,38 < 0,69.
Следовательно, по теореме о верхней границе обе периодические задачи удовлетворяют временным ограничениям. Точно так же можно показать, что это справедливо и для низкоприоритетных задач. На временной диаграмме изображены две из них: Путь и Скорость и Калибровка.
Рис. 3. Система круиз-контроля и мониторинга
8. Пересмотр проекта
Если первоначальный проект не отвечает требованиям, предъявляемым к эффективности, то его необходимо пересмотреть. Для этого применяются критерии разбиения на задачи и критерии инверсии задач, в частности более слабые формы группировки задач (темпоральная инверсия) и другие виды инверсии: инверсия нескольких экземпляров задачи и инверсия последовательных задач.
Если бы в примере системы круиз-контроля были проблемы с производительностью, то прежде всего стоило бы подумать об инверсии последовательных задач. Рассмотрим ситуацию, когда задача Круиз-Контроль посылает команду задаче Корректировка Скорости, которая, в свою очередь, отправляет сообщения задаче Интерфейс Дросселя. Эти три задачи можно объединить, применив инверсию последовательных задач, то есть заменив их одной задачей Круиз-Контроль с пассивными объектами Корректировка Скорости и Интерфейс Дросселя. Таким образом были бы устранены накладные расходы на межзадачные коммуникации и контекстное переключение. Пусть время ЦП, потребляемое инвертированной задачей, равно Сv . Обратившись к табл. 17.2, получаем:
Сv = С4 + C6 + C8 (уравнение 4)
Время, необходимое для выполнения двух задач в новой последовательности обработки события Сee равно
Cee = C1 + C2 + Cv + Cm + 2Сx (уравнение 5)
Интересно сравнить уравнение 5 (в последовательности только две задачи) с уравнением 1 из раздела 17.5 (в последовательности четыре задачи); накладные расходы на обмен сообщениями уменьшились с 3Сm до Сm , а на контекстное переключение - с 4Сx до 2Сx . Воспользовавшись оценками времени из табл. 17.2, увидим, что полное время выполнения сократилось с 35 до 32 мс. Если бы накладные расходы были выше, экономия оказалась бы более существенной. Например, при Сm = 3 мс и Сx = 2 мс общее время выполнения апериодических задач уменьшится с 47 до 37 мс.
9. Оценка и измерение параметров производительности
Прежде чем приступать к анализу производительности, необходимо оценить или измерить различные временные параметры. Это независимые переменные. Оценки для зависимых переменных дает теория планирования в реальном времени.
Основное предположение, на котором базируется теория планирования в реальном времени, состоит в том, что все задачи находятся в оперативной памяти, поэтому время на подкачку страниц не тратится. Такого рода накладные расходы могли бы внести дополнительную неопределенность и задержки, нетерпимые в системах с жесткими временными ограничениями.
Ниже приведены параметры, которые нужно оценить для каждой задачи:
- период задачи Тi, то есть частота ее выполнения. Для периодических задач период фиксирован. Для апериодических задач берется худший случай: минимальное время между последовательными внешними событиями, которые ее активизируют. Затем полученная величина экстраполируется на внутренние задачи, которые принимают участие в обработке данного события;
- время выполнения Сi, то есть потребляемое задачей время процессора. На этапе проектирования можно лишь приблизительно охарактеризовать эту величину. Оцените число строк исходного текста задачи и число команд в откомпилированном коде. Воспользуйтесь контрольными примерами, написанными на выбранном языке для работы на выбранном оборудовании под управлением выбранной операционной системы. Сравните результаты контрольного примера с его размером, чтобы получить оценку времени выполнения откомпилированного кода.
Следующие три показателя необходимо определить, выполняя измерения для контрольного примера, работающего в тех же условиях:
- затраты на контекстное переключение. Время, которое операционная система расходует на передачу ЦП от одной задачи к другой (см. главу 4);
- затраты на обработку прерываний. Время, предназначенное для обработки прерываний;
- затраты на межзадачные коммуникации и синхронизацию. Время, израсходованное на посылку сообщения или сигнализацию событию. Зависит от тех примитивов, которые применяет задача.
Эти параметры включаются в расчет времени ЦП, потребляемого задачей, как было показано в примерах выше.
Размещено на Allbest.ru
...Подобные документы
Оценка вариантов подключения Интернета для малой домашней PC сети и производительности приложения. Средства анализа и оптимизации локальных сетей. Влияние топологии связей и производительности коммуникационных устройств на пропускную способность сети.
дипломная работа [6,9 M], добавлен 12.09.2012Однопроцессорные вычислительные системы не справляются с решением военно-прикладных задач в реальном времени, поэтому для повышения производительности вычислительных систем военного назначения используются многопроцессорные вычислительные системы (МВС).
реферат [70,1 K], добавлен 30.05.2008OLAP: общая характеристика, предназначение, цели, задачи. Классификация OLAP-продуктов. Принципы построения OLAP системы, библиотека компонентов CubeBase. Зависимость производительности клиентских и серверных OLAP-средств от увеличения объема данных.
курсовая работа [113,6 K], добавлен 25.12.2013Модели производительности и эффективности затрат с учетом индивидуальных данных. Чувствительность системы обработки сообщений к изменению параметров М, Р, Т. Зависимость межпроцессорных накладных расходов и быстродействия процессора от параметров системы.
курсовая работа [2,7 M], добавлен 08.07.2012Разработка вычислительной системы обработки данных в реальном времени, состоящей из устройства ввода и ПЭВМ. Назначение данной разработки и основные требования к ее качеству и функциональности. Этапы создания данной системы и анализ результатов.
курсовая работа [223,5 K], добавлен 05.01.2010Значение астрофизических исследований. Международные космические проекты. Инфокоммуникационные технологии удаленного доступа к компьютеру. Основные возможности и достоинства Team Viewer. Порядок работы с астрофизическим комплексом в реальном времени.
дипломная работа [4,8 M], добавлен 12.11.2013Проведение тестирования производительности Node.js сервера в зависимости от количества и интенсивности подключений, анализ данных. Аппаратные и программные компоненты тестового стенда. Принцип работы протокола websocket. Серверная часть приложения.
курсовая работа [3,8 M], добавлен 07.07.2013Алгоритмы планирования мультипрограммных операционных систем. Оценка возможности выполнения двух процессов в реальном времени. Организация доступа к критической секции с использованием передачи сообщений. Обнаружение блокировок в вычислительной системе.
курсовая работа [858,7 K], добавлен 24.03.2015Аппаратные средства построения виртуальной частной сети (VPN), ее программные реализации. Алгоритмы и режимы шифрования в защищенных каналах, оценка их производительности. Создание модели функционирования сети. Тестирование платформы 1С: Предприятие 8.1.
дипломная работа [2,5 M], добавлен 26.07.2013Способы доступа к общей среде передачи данных в сети. Разработка программы методов случайного доступа к сети типа "асинхронная Алоха" и CSMA/CD, математическое описание и блок–схема. Сравнительная характеристика и оценка производительности программ.
курсовая работа [402,4 K], добавлен 17.09.2011Методики оценки производительности и пути выбора вычислительных систем. Использование альтернативных единиц измерения данных о работе на программно-аппаратной платформе используемого приложения. Скорость обработки транзакций; популярные тесты и бенчмарки.
презентация [937,6 K], добавлен 11.12.2013Процессный подход как технология формализации предметной области. Описание бюро труда и экономического планирования. Анализ затрат рабочего времени бюро. Описание документации для учета трудозатрат. Разработка и реализация проекта информационной системы.
курсовая работа [3,2 M], добавлен 12.10.2013Составление схемы алгоритма и программы для построения графика временной функции, работающей как в машинном, так и в реальном времени. Пример вычисления степенного ряда с помощью схемы Горнера. Описание переменных программы, листинг, процедуры и функции.
курсовая работа [67,6 K], добавлен 20.11.2012Разработка схемы организации связи объектов транспортной сети. Расчет характеристик резидентных шлюзов доступа (RAGW). Обоснование выбора типов интерфейсов. Расчет производительности коммутаторов транспортной сети и производительности Softswitch.
курсовая работа [1,8 M], добавлен 30.04.2014Исследование производительности труда методом компонентного и кластерного анализов. Выбор значащих главных компонент. Формирование кластеров. Построение дендрограммы и диаграммы рассеивания. Правила кластеризации в пространстве исходных признаков.
лабораторная работа [998,9 K], добавлен 25.11.2014Разработка программного комплекса для автоматизации получения и передачи сообщений между центром обработки звонков и клиентами. Пути сокращения среднего времени, затрачиваемого на телефонное соединение, повышение производительности работы менеджеров.
дипломная работа [6,1 M], добавлен 13.10.2013Разработка программы на языке Ассемблер для определения типа центрального процессора и его производительности. Основные этапы определения любого существующего Intel-совместимого процессора. Тактовая частота процессора, алгоритм и листинг программы.
курсовая работа [47,6 K], добавлен 26.07.2014Процесс создания канального вокодера. Программа на языке Matlab, модель, созданная с помощью системы Matlab Simulink. Осуществление сжатия и восстановления речевого сигнала в реальном времени до уровня не более 4800 бит/с с удовлетворительным качеством.
курсовая работа [393,7 K], добавлен 12.03.2009Определение необходимости применения средств промышленной автоматизации, контроллеров, промышленных сетей и компьютеров, операционных систем реального времени для повышения производительности предприятия. Концепция построения "интеллектуальных" зданий.
контрольная работа [689,6 K], добавлен 13.10.2010Автоматизация как средство повышения производительности труда. Виды управленческого анализа. Сравнительная характеристика систем управления базами данных. Разработка приложения "Анализ удельных норм". Проектирование пользовательского интерфейса.
дипломная работа [4,3 M], добавлен 02.06.2015