Россия, г. Саранск |
Оценка производительности кластерных систем
4.2.3. Тесты НИВЦ МГУ
Важнейшей характеристикой кластерной вычислительной системы, наряду с характеристиками производительности составляющих ее вычислительных узлов, является "производительность" коммуникационной среды, их объединяющей. Поскольку большинство практических задач, требующих для своего решения использования мощных кластеров, использует алгоритмы, предполагающие интенсивные обмены данными, очень часто именно скорость этих обменов является фактором, определяющим производительность всей кластерной системы в целом. Поэтому тестирование производительности коммуникационной среды занимает важное место в общем тестировании и в настоящий момент разработано большое количество тестовых пакетов, такое тестирование осуществляющих. Одним из таких пакетов является набор тестов, разработанных в лаборатории параллельных информационных технологий НИВЦ МГУ (http://www.srcc.msu.su/). Следует отметить, что этот тестовый пакет является высокоуровневым в том смысле, что тестирует производительность операций передачи данных с использованием какой-либо реализации MPI. Таким образом, на результаты тестирования оказывают влияние как собственно физические характеристики среды передачи и параметры всего используемого сетевого оборудования (от сетевых адаптеров до маршрутизаторов), так и настройки всего программного стека сетевых протоколов, а также настройки используемой реализации MPI.
4.2.3.1. История теста
Первые доступные версии теста появились в 1997 г. Текущая версия была опубликована в 2003 г. Пакет является свободно распространяемым, и в виде исходных текстов программ на C доступен для загрузки по адресу http://parallel.ru/ftp/tests/.
4.2.3.2. Решаемая задача
Пакет включает в себя четыре теста:
- transfer - тест латентности и скорости пересылок между двумя узлами,
- nettest - тест пропускной способности сети при сложных обменах по различным логическим топологиям,
- mpitest - тест эффективности основных операций MPI,
- nfstest - тест производительности файл-сервера.
Тест transfer измеряет основные характеристики быстродействия сети - латентность ( latency ) и пропускную способность ( bandwidth ).
Пропускной способностью сети называется количество информации, передаваемой между узлами сети в единицу времени (байт в секунду). Латентностью (задержкой) называется время, затрачиваемое программным обеспечением и устройствами сети на подготовку к передаче информации по данному каналу. Полная латентность складывается из программной и аппаратной составляющих.
Тест измеряет пропускную способность однонаправленных пересылок ("точка-точка", uni-directional bandwidth ), и пропускную способность двунаправленных пересылок ( bi-directional bandwidth ), используя для этого различные функции MPI [4.8].
Тест nettest является тестом коммуникационной производительности при сложных обменах между несколькими узлами в различных логических топологиях ("звезда", "полный граф", "кольцо"). Тест может использоваться для проверки того, как ведет себя сетевое оборудование при пиковых нагрузках, а также для определения пиковой пропускной способности коммутаторов.
Тест mpitest предназначен для тестирования производительности базовых функций MPI. Может быть использован для сравнения различных реализаций MPI, а также для предсказания производительности приложений, использующих соответствующие операции.
Тест nfstest предназначен для тестирования производительности общей файловой системы. Хотя этот тест не является тестом производительности MPI, он использует некоторые возможности MPI, такие как синхронизация ( MPI_Barrier ) и пересылка данных от головного всем процессам ( MPI_Bcast ). Данный тест также может использоваться для проверки корректности функционирования файл-сервера при больших нагрузках.
4.2.3.3. Использование теста
Как уже упоминалось выше, тестовый пакет представляет собой набор исходных текстов программ, реализованных на языке C и makefile для их компиляции, доступный по адресу http://parallel.ru/ftp/tests/. Потребуется также какая-либо реализация MPI.
Ниже представлен результат работы теста transfer,запущенного в режиме localonly для четырех процессов, с параметрами по умолчанию.
Измерены латентность и пропускная способность для блокирующих операций пересылки/приема данных:
--- MPI Performance Test Suite --- Moscow State University 1998-2003 Running MPI Transfer/2 test, 4 processes messages: 0 to 65536, step 1024, unit is 1 bytes; 20 times (fix 0) Process 0 of 4 on host1 Process 1 of 4 on host1 Process 2 of 4 on host1 Process 3 of 4 on host1 Running test: Uni-directional MPI transfer: Blocking Send/Recv (1) Testing transfer between 0 and other processes Checking correctness of message passing Size(b) Transfer (MB/sec) Iteration 0 [0 -- 1] Latency: 142.595 microseconds (at 20 times) [0 -- 2] Latency: 150.843 microseconds (at 20 times) [0 -- 3] Latency: 151.053 microseconds (at 20 times) 1024 5.668 4.47 5.681 2048 9.194 8.991 8.983 3072 11.59 11.28 11.49 4096 13.84 13.22 13.1 5120 12.75 13.88 14.05 6144 13.87 14.37 14.61 7168 14.56 16.12 15.85 8192 16.49 16.82 17.21 9216 15.97 17.28 17.36 10240 17.62 17.43 17.15 11264 18.85 18.24 19.26 12288 16.81 18.36 19.44 13312 18.76 18.66 18.98 14336 20.22 19.8 20.12 15360 20.09 19.6 20.6 16384 20.67 20.22 20.59 17408 21.21 20.6 21.3 18432 20.23 20.01 21.01 19456 21.27 20.41 20.84 20480 19.61 20.92 21.14 21504 21.88 20.8 21.42 22528 20.45 21.04 19.75 23552 21.58 21.01 20.92 24576 23.01 22.69 22.54 25600 22.67 22.47 21.48 26624 22.61 21.15 21.18 27648 21.35 21.86 21.64 28672 22.6 22.13 21.92 29696 23.21 19.38 23.58 30720 22.43 21.17 22.4 31744 22.39 22.02 23.11 32768 23.77 22.69 23.08 33792 23.95 22.64 22.04 34816 24.33 24.03 24.05 35840 22.91 22.25 22.85 36864 24.05 23.06 22.75 37888 24.18 23.7 24.77 38912 24.36 22.6 24.1 39936 23.93 22.49 22.25 40960 23.45 23.23 22.3 41984 21.9 22.61 23.87 43008 24.84 24.54 23.68 44032 24.49 24.92 24.18 45056 25.69 24.55 23.63 46080 26.13 23.34 24.08 47104 26.27 25.85 25.29 48128 25.93 24.26 25.76 49152 25.6 23.75 24.95 50176 26.48 24.67 24.04 51200 26.46 25.4 26.95 52224 26.87 25.89 26.93 53248 25.8 26.52 25.28 54272 26.38 26.62 26.42 55296 26.6 26.14 25.94 56320 25.3 25.98 25.95 57344 25.13 26.72 25.09 58368 26.31 25.73 25.12 59392 24.88 26.5 24.03 60416 25.28 26.28 27.11 61440 25.5 26.16 26.07 62464 24.87 27.05 26.34 63488 25.86 26.91 26.69 64512 26.09 26.46 25.47 65536 24.8 26.43 26.96 MPI Transfer test complete in 11.7066 seconds