Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ALL_otvety_na_ekzamen_PRO.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
473.05 Кб
Скачать

5. Какая методика оценки эффективности вычислений?

Закон Амдала. Одной из главных характеристик параллельных систем является ускорение R параллельной системы, которое определяется выражением

где T1 − время решения задачи на однопроцессорной системе; а Tn − время решения той же задачи на n-процессорной системе.

Пусть

W = Wск + Wпр,

где W − общее число операций в задаче;

Wпр − число операций, которые можно выполнять параллельно;

W− число скалярных (не-распараллеливаемых) операций.

Обозначим также через t время выполнения одной операции. Тогда получаем известный закон Амдала:

Здесь a = Wск /W − удельный вес скалярных операций.

Закон Амдала определяет принципиально важные для параллельных вычислений положения.

1. Ускорение зависит от потенциального параллелизма задачи (величина 1 – а) и параметров аппаратуры (числа процессоров n).

2. Предельное ускорение определяется свойствами задачи.

Пусть, например, a = 0,2 (что является реальным значением), тогда ускорение ≤ 5 при любом числе процессоров, т. е. максимальное ускорение определяется потенциальным параллелизмом задачи. Очевидной является чрезвычайно высокая чувствительность ускорения к изменению величины а.

Сетевой закон Амдала. Закон Амдала не отражает потерь времени на межпроцессорный обмен сообщениями. Эти потери могут не только снизить ускорение вычислений, но и замедлить вычисления по сравнению с однопроцессорным вариантом. Поэтому необходима некоторая модернизация выражения.

Перепишем формулу следующим образом:

где Wc − количество передач данных; tc − время одной передачи.

Выражение

является сетевым законом Амдала. Этот закон определяет следующие особенности многопроцессорных вычислений.

Коэффициент сетевой деградации вычислений:

определяет объем вычислений, приходящийся на одну передачу данных (по затратам времени). При этом сa определяет алгоритмическую составляющую коэффициента деградации, обусловленную свойствами алгоритма, а сt − техническую составляющую, которая зависит от соотношения технического быстродействия процессора и аппаратуры коммуникационной сети.

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

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

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

В некоторых случаях используется еще один параметр для измерения эффективности вычислений – коэффициент утилизации:

6. Как создается файл регистрации?

7. Какие процедуры выполняются во время создания лог-файлов?

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

Первая библиотека профилирования проста. Версия каждой MPI_Xxx функции вызывает операцию PMPI_WTIME, которая поставляет временную метку до и после каждого обращения к соответствующей PMPI_Xxx подпрограмме. Полученные времена для каждого процесса записываются в файлы, один файл на процесс. Эта версия не принимает во внимание вложенные обращения, которые происходят, когда MPI_BCAST, например, реализована в терминах MPI_SEND и MPI_RECV.

Вторая профилирующая библиотека генерирует логфайлы с отсортированными по времени событиями или состояниями. Во время выполнения программы вызовы MPE_Log_event сохраняют события некоторых типов в памяти. Эти данные объединяются при выполнении MPI_Finalize. Функция MPI_Pcontrol в течение выполнения программы может использоваться, чтобы приостановить и перезапустить операции регистрации. По умолчанию, регистрация включена. Вызов MPI_Pcontrol(0) выключает регистрацию, MPI_Pcontrol(1) включает регистрацию.

Обращения к MPE_Log_event при самопрофилировании происходят автоматически при каждом обращении к MPI. В дополнение к использованию предопределенных библиотек регистраций MPE вызовы регистрации MPE могут быть также вставлены в программу MPI самим пользователем. Эти состояния называются определяемыми пользователем состояниями.

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

В профилирующей библиотеке, перехватывающей вызов некото-рой функций MPI, необходимо выполнить ряд действий до и после вызова этой функции. Тело некоторой функции MPI_Xxx будет вы-глядеть примерно так:

int MPI_Xxx( . . . )

{ do something for profiling library

int retcode = PMPI_Xxx( . . . );

do something else for profiling library

return retcode;

}

Библиотеки регистрации (Logging Libraries) – наиболее полезные и широко используемые библиотеки профилирования в MPE. Они по-зволяют сочетать гибкость и быстроту создания параллельных про-граммных продуктов. Регистрационные файлы могут быть созданы вручную, путем вставки вызовов MPE в MPI программу, или автома-тически, компонуясь с соответствующими библиотеками MPE, или объединяя вышеупомянутые два метода.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]