Опубликован: 22.12.2006 | Доступ: свободный | Студентов: 1222 / 123 | Оценка: 4.73 / 4.45 | Длительность: 18:17:00
ISBN: 978-5-94774-546-7
Специальности: Программист
Лекция 12:

Эффективность вычислительных систем

< Лекция 11 || Лекция 12: 123 || Лекция 13 >
Аннотация: Освещаются проблемы оценки производительности многопроцессорных вычислительных систем, организации помехоустойчивых вычислений и оценки надежностных характеристик при испытаниях.
Ключевые слова: ВС, эффективность, производительность, надежность, стоимость, АСУ, коэффициент загрузки процессоров, коэффициенты загрузки процессоров, производительность, класс решаемых задач, класс решаемых, ПО, Смеси операций, Гибсон-3, ЯВУ, фиксированная запятая, методу, Ветстоун, Ядра, ядра Ауэрбаха, коррекция последовательного файла и файла на диске, сортировка, обращение матрицы и др., Бенчмарки, Программа синтетической нагрузки, модель вычислительной нагрузки, модель программы, индексация массива, тесты, количество, сравнительные оценки, Итак, структурные средства повышения уровня языка, параллелизм работы устройств, введение дополнительных операций все с меньшей определенностью соответствуют традиционным тестам, АЛУ, поток, значение, эквивалентная производительность, испытания ВС, контрольная задача (КЗ), алгоритмические операции, вычислительная нагрузка, комплексный подход, затраты, помехозащищенный вычислительный процесс, строятся контрольные задачи, по которым производительность оценивается с учетом надежности, надежность ВС , вероятность, надежность, дерево логических возможностей, исчерпывающее множество событий, коэффициент готовности, среднее время восстановления, безотказно, сбой, отказ, Примечание, синхронные и асинхроные аварии, команда, авария, Приведенные ниже выкладки хорошо известны и бесспорны для отдельных ЭВМ (однопроцессорных ВС). Поэтому в последующих разделах будет показано, как они обобщаются и переносятся на общий случай ВС, отрезок, предел, частота события, Защита от сбоев, интегрирование, координаты, окрестность, контроль, сигнал прерывания, использование сигнала аппаратного контроля, программа, сегменты, контрольныe точки, выход, малый рестарт, рестарт, Резервирование, Дополнение, мажоритарная схема контроля, линейка, горячий, холодный резерв, ("две девятки"), ("три девятки"), распределенный резерв, скользящий резерв, избыточность, Виртуализация, работ, согласование между разработчиком ВС и системщиком, большой рестарт, виртуальный ресурс, структурное резервирование, реконфигурация системы, "живучесть" системы, система автоматической реконфигурации и перезапуска при сбоях и отказах, САР, программные средства, Аппаратно, специальные шины, Программно, процесс пользователя, исключение, модуль, процесс ОС, прогон, центральная часть, периферия

Оценка производительности ВС

Если несколько процессоров составляют ВС, то важной характеристикой ее эффективности эффективности (основные составляющие эффективности — производительность, надежность, стоимость ) при специализированном использовании (например, в составе АСУ) является коэффициент загрузки процессоров kЗ. Для его определения находят коэффициенты загрузки процессоров

\begin{align*}
k_{\text{з}i} = \frac{T_i}{T_{\text{реш}}}
\end{align*}
где T i, i = 1, ..., n — время занятости каждого процессора решением задачи на всем отрезке полного решения задачи, длиной Tреш (рис. 12.1).

К эффективности загрузки процессоров

Рис. 12.1. К эффективности загрузки процессоров

Тогда

\begin{align*}
k_\text{З} = \frac{1}{n}\sum_{i=1}^n k_{\text{З}i}
\end{align*}

Если P0производительность одного процессора, то реальная производительность ВС, состоящей из n процессоров, при решении данной задачи (!) составляет

PBC = n kЗ P0.

P0 определяется классом решаемых задач.

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

Известны несколько подходов к формированию тестов, по которым определяется производительность P0 единичных ЭВМ или процессоров ВС.

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

    Для вычислительных задач применялась (утвержденная ГОСТом) смесь "Гибсон-3". Она хорошо отражала архитектуру ЕС ЭВМ, воспроизводящей архитектуру IBM. Однако ранее говорилось о тенденции повышения уровня языка пользователя, об аппаратной поддержке ЯВУ. Смесь Гибсона, приведенная ниже, не отражает этих тенденций. Набор операций примитивен, соответствует ЭВМ ранних поколений. Интерпретация в ней "языковых" операций затруднительна и уменьшает точность оценки. Ее использование определялось требованиями советских ГОСТов.

    Смесь "Гибсон-3"
    1. Загрузка регистра без индексации 31 %
    2. Загрузка регистра с индексацией 18 %
    3. Проверка условия и переход 17 %
    4. Сравнение 4 %
    5. Сдвиг на 3 разряда 4 %
    6. Логическая операция "И" 2 %
    7. Команды с минимальным временем выполнения 5 %
    8. Сложение с фиксированной запятой 6 %
    9. Умножение с фиксированной запятой 0,6 %
    10. Деление с фиксированной запятой 0,2 %
    11. Сложение с плавающей запятой 7 %
    12. Умножение с плавающей запятой 4 %
    13. Деление с плавающей запятой 1,5 %

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

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

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

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

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

  5. У нас в стране в аналогичном применении больше известна модель вычислительной нагрузки.

Она применяется на уровне решения вопроса: какие вычислительные средства поставить в систему или заказать их разработку?

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

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

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

Однако все эти тесты не дают ответ на традиционный вопрос: какое количество операций в секунду выполняет ВС? Все усложняющаяся структура и расширяющееся множество "нетрадиционных" операций затрудняют ответ.

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

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

Пример — проблема оценки ЦП с многофункциональным АЛУ: как их загружать для реальной оценки (сколько их реально будут загружено в каждом такте), какой поток обмена с ОП предполагать и т.д.?

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

Одна и та же задача решается на известной ЭВМ, для которой (из-за ее более простой организации) известно значение производительности или быстродействия; например, ЕС 1066 имеет производительность 5,5 млн оп./с. Однопроцессорный МВК "Эльбрус-2" контрольную физическую задачу решает за 6,5 часа, ЕС 1066 — за 21 час. Значит, эквивалентная производительность "Эльбрус-2" в комплектации с единственным процессором составляет \sim  5,5 x 21/6,5  = 17,6 млн оп./с (в сравнении с ЕС 1066). Аналогично проводилось сравнение с ЭВМ БЭСМ-6.

На этапе испытаний ВС при оценке производительности складывается больше определенности по будущему режиму ее эксплуатации. Есть возможность построения контрольной задачи (КЗ), (развивающей идеи бенчмарок), использующую всю ВС. КЗ строится на основе типовых задач аналогичных систем управления, использует развиваемый прототип системы, воссоздает реальный режим решения. Для КЗ оценивается количество так называемых алгоритмических операций (аналог того, что отражено в смеси Ветстоуна). Т.е. можно максимально приблизить вычислительную нагрузку ВС к реальной ожидаемой. Это — современный комплексный подход, когда КЗ, составленная для всей ВС как для единой установки, учитывает не только использование процессоров, но и затраты на организацию вычислительного процесса, издержки ОС, интенсивность параллельного обмена информацией, организацию помехозащищенного вычислительного процесса.

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

< Лекция 11 || Лекция 12: 123 || Лекция 13 >