Назад | Перейти на главную страницу

Каково разумное время задержки для mpdringtest с гигабитным Ethernet?

Привет, у меня есть небольшая тестовая сеть, которую я использую для обработки чисел для моей диссертации. Моя сеть состоит из трех машин с гигабитными сетевыми картами Intel (все драйверы em с двумя хостами, настроенными как лагы) с настройками MTU по умолчанию и т. Д., Работающими под Freebsd 9.1 и mpich2.

когда я запускаю mpdringtest, я получаю задержки:

time for 1   loops = 0.00105500221252 seconds
time for 2   loops = 0.101227998734 seconds
time for 3   loops = 0.200784921646 seconds
time for 4   loops = 0.300806045532 seconds
time for 10  loops = 0.942656040192 seconds
time for 100 loops = 11.5054900646 seconds

сетевая задержка:

Max Latency:
from \ to     city17    glados     blackmesa
city17                  0.335      0.739
glados        0.319                0.689 
blackmesa     0.992     0.746 

Mean Latency:
from \ to     city17    glados     blackmesa
city17                  0.205      0.525 
glados        0.195                0.518 
blackmesa     0.599   0.503

for hosts
city17:8
glados:4
blackmesa:4

Исходя из моих предположений, каждый цикл должен занимать примерно сумму верхней или нижней треугольной части матрицы средней задержки (полученной с помощью команды ping). Это похоже на результаты одного кольца. Однако для более чем одного звонка время ожидания значительно увеличивается. Я прочитал справочную страницу по этой теме, и на самом деле она мало что объясняла, кроме того, что она передавала сообщение по кольцу. Достаточно ли эти результаты относительно нормальны? задержка и mdpringresults?

Если это важно, используется коммутатор HP procurve 1810g-8 (через коммутатор не проходит другой трафик).

Приблизительные цифры из моего опыта: Gigabit дает вам около 50 мкс (0,50 мс) на физическом уровне и с «правильной» обработкой прерываний, а на текущих машинах / ОС вы должны увидеть пинг между одноранговыми узлами менее 100 мкс.

Максимальная задержка может указывать на то, что у вас возникла проблема из-за объединения прерываний (например, сетевая карта позволяет пакету оставаться в буфере до тех пор, пока не появится тайм-аут), что, как я заметил, является проблемой с картами Broadcom больше, чем с Intel.

Если я правильно понимаю матрицу, то вы видите задержку между 200 и 500 мс в среднем, что для меня звучит слишком много.

Попробуйте начать с проверки связи между двумя хостами, чтобы проверить возможное слияние прерываний, я рекомендую смотреть на зигзагообразные времена (например, 1 2 3 1 2 3 1 2 3) в выводе.

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