Параллельное программирование

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


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

где T i, i = 1, ..., n — время занятости каждого процессора решением задачи на всем отрезке полного решения задачи, длиной Tреш

(рис. 12.1).


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

Тогда

Если 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" в комплектации с единственным процессором составляет ? 5,5 ? 21/6,5 = 17,6 млн оп./с (в сравнении с ЕС 1066). Аналогично проводилось сравнение с ЭВМ БЭСМ-6.

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

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


Содержание раздела