Опубликован: 28.10.2009 | Уровень: специалист | Доступ: платный
Лекция 3:

Оценка производительности кластерных систем

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
Алексей Николаев
Алексей Николаев
Россия, г. Саранск
Рамиль Ариков
Рамиль Ариков
Россия, Республика Мордовия