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



              

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


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

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

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

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

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

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

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

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

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

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




    Содержание  Назад  Вперед