Проверка кластерной сети

Одна из основных проблем крупных кластеров — это поддержка работоспособного состояния сетевой системы. Кроме терминального состояния «коннект отпал» возможны так же промежуточные варианты — падения скорости или возникновение задержек. Ситуация усугубляется тем что сложная фабрика может реагировать на битый кабель неочевидно — скорость может упасть в каком-то сегменте, при определенной передаче между определенными нодами. Поэтому иногда стоит устраивать прогоны-тесты сетевой подсистемы с нагрузкой Point-To-Point перебирая все возможные варианты. Это долго, и объемно по анализу, но спокойствие пользователей кластера того стоит.

Хочу поделится с обществом найденной интересной программой.
Скачать ее можно с Sourceforge: http://sourceforge.net/projects/mpigraph. Программа прогоняет пинг-понг тест между всеми ранками по принципу каждый-с-каждым, распараллеливая значительную часть работы. В результате работы получается сводная таблица с намерянными скоростями между ранками.
Кроме того в пакете идет перловый скрипт, который позволяет сделать из текстовой таблички, совершенно не читаемой при количестве обмерянных нод >10, картинку в градациях серого. Каждый пиксель на которой представляет ту же таблицу, чем ярче цвет тем больше скорость, черный цвет — обрыв линка. Получаем примерно такую картинку на больном кластере:
Send Pattern
Визуально получается интересно, а чтобы выяснить где именно проседает Bandwidth скрипт генерирует еще и html файл со скриптами. При наведении мышкой на картинку выскакивает всплывающая подсказка с объяснением на какой именно пиксель вы «наехали» — с какого ранка была передача и на какой. Вообщем это уже можно использовать для диагонстики неполадок сети.
Попутно у меня возникла идея о снятии серии таких картинок, и дальнейшего микширования в короткий ролик. Тогда на ролике случайные провисания линков будут видны как шум, а имеющие место проблемы — постоянными пятнами. Пока что я попробую снять 250 кадров-замеров для 10-секундного ролика. На 64-х нодах это потребует примерно 10*250  примерно 2500 секунд

dmitry

Добавить комментарий