Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
klaster.doc
Скачиваний:
11
Добавлен:
17.06.2016
Размер:
112.64 Кб
Скачать

3.3.1. Тест transfer

Тест производительности межпроцессорных обменов предназна-чен для измерения пиковых характеристик обмена данными между двумя узлами – латентности и пропускной способности.

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

Под пропускной способностью сети будем понимать количество информации, передаваемой между узлами сети в единицу времени, измеряется в MБайт/с. Очевидно, что реальная пропускная способ-ность снижается программным обеспечением за счет передачи разно-го рода служебной информации.

Различают следующие виды пропускной способности сети:

• пропускная способность однонаправленных пересылок («точка-точка», uni-directional bandwidth), равная максимальной скорости, с которой процесс на одном узле может передавать данные другому процессу на другом узле;

• пропускная способность двунаправленных пересылок (bi-directional bandwidth), равная максимальной скорости, с которой про-цессы могут одновременно обмениваться данными по сети.

Время T(L), необходимое на передачу сообщения длины L, можно определить следующим образом:

T(L) = s + L / R,

где T – полное время передачи сообщения; s – латентность; L – длина сообщения; а R – пропускная способность канала связи.

Для измерения пропускной способности режима «точка-точка» используется следующая методика. Процесс с номером 0 посылает процессу с номером 1 сообщение длины L байтов. Процесс 1, приняв сообщение от процесса 0, посылает ему ответное сообщение той же длины. Используются блокирующие вызовы (MPI_Send, MPI_Recv). Эти действия повторяются N раз с целью минимизировать погреш-ность за счет усреднения. Процесс 0 измеряет время T, затраченное на все эти обмены. Пропускная способность R определяется по формуле R = 2NL / T.

Пропускная способность двунаправленных обменов определяется по той же формуле. При этом используются неблокирующие вызовы (MPI_Isend, MPI_Irecv). Производится измерение времени, затрачен-ного процессом 0 на передачу сообщения процессу 1 и прием ответа от него при условии, что процессы начинают передачу информации одновременно после точки синхронизации.

Латентность измеряется как время, необходимое на передачу сиг-нала или сообщения нулевой длины. При этом для снижения влияния погрешности и низкого разрешения системного таймера, важно по-вторить операцию посылки сигнала и получения ответа большое чис-ло N раз. Таким образом, если время на N итераций пересылки сооб-щений нулевой длины туда и обратно составило T с, то латентность измеряется как s = T / (2N).

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

6.1. Профилирование

При разработке параллельных программ основной целью распа-раллеливания является увеличение быстродействия, поэтому процесс разработки также должен быть направлен на изучение эффективности вычислений. Было бы полезно знать, какова была последовательность событий при выполнении программы, сколько времени было потраче-но на каждую стадию вычисления, сколько времени занимает каждая отдельная коммуникационная операция. Все это позволит выявить и устранить «узкие места», тем самым уменьшить время выполнения программы. Путь решения проблемы анализа – сохранение последо-вательности событий и представление этой информации в удобном для программиста виде. Следовательно, нужны файлы событий с при-вязанными к этим событиям временными отметками и их графическое представление. Такие файлы называются логфайлами, а метод иссле-дования эффективности – профилированием.

6.2. БИБЛИОТЕКА MPE

Для стандарта MPI создана библиотека профилирования MPE (Multi-Processing Environment). MPE обеспечивает разные способы генерирования логфайлов, которые могут быть просмотрены одним из графических инструментальных средств, распространяемых вместе с MPE. Кроме того, есть возможность добавлять в логфайлы специфи-ческую для приложения информацию.

Библиотека MPE распространяется наряду с эталонной версией MPI и построена таким образом, чтобы она могла работать с любой MPI реализацией. Библиотека MPE полностью вложена в MPICH, что упрощает ее использование.

1. Сайт http://www.mcs.anl.gov/mpi (Argonne National Laboratory, США).

2. Сайт http://www.parallel.ru (НИВЦ МГУ).

3. Сайт http://www.cluster.bsu.by (Белгосуниверситет, Минск).

4. В. Воеводин, Вл. Воеводин. Параллельные вычисления. СПб.: БХВ-Петербург, 2002. 609