УДК 004.724.3:004.772:519.173.1:519.257:62-192 П. С. Банников, А. Н. Сальников2
ВЫЯВЛЕНИЕ ТОПОЛОГИИ КОММУНИКАЦИОННОЙ СРЕДЫ ВЫЧИСЛИТЕЛЬНОГО КЛАСТЕРА ПО РЕЗУЛЬТАТАМ НАГРУЗОЧНОГО ТЕСТИРОВАНИЯ
Современные вычислительные кластеры имеют сложную структуру комуникаций для связи процессоров между собой. Часто полная спецификация коммуникационной среды оказывается недостаточно детализированной. В работе рассматриваются методы автоматического уточнения спецификации за счет применения алгоритмов восстановления топологии соединений процессоров по результатам нагрузочного тестирования коммуникационной среды кластера. Рассматриваются методы трехмерной визуализации топологии кластера, а также методы визуального сравнения выявленной топологии с эталонной, представленной в спецификации. Предложенный подход исследовался на системах с архитектурой BlueGene/P, на суперкомпьютере "Ломоносов". Для выявления топологии разработан жадный алгоритм, для визуализации разработана модификация метода многомерного шкалирования.
Ключевые слова: выявление топологии, коммуникационная среда вычислительного кластера, визуализация, системное администрирование, многомерное шкалирование, жадные алгоритмы.
1. Введение. Задача восстановления графа транзитивных взаимоотношений объектов на основе информации о попарных отношениях объектов возникает сразу в нескольких областях, таких, как социальные сети [1], организация компьютерных сетей и маршрутизация [2, 3], биоинформатика [4], проектирование городских транспортных сетей [5]. В данной статье рассматривается решение задачи восстановления графа в применении к коммуникационным средам вычислительных кластеров.
Предположим, что на многопроцессорной системе (кластере) было произведено предварительное тестирование коммуникационной среды, в результате которого получены значения задержек при передаче данных в дискретном трехмерном пространстве N х N х М, где N — множество процессоров/узлов вычислительной системы, a M - множество значений длины передаваемых сообщений. Результаты в таком виде предоставляет программный инструмент network-tests2 [6], написанный авторами статьи. Для передачи сообщений инструмент network-tests2 использует MPI.
Сведения о задержках в коммуникационной среде используются при планировании вычислений с целью адаптации хода выполнения параллельной программы под архитектуру конкретной вычислительной системы [7]. Бесспорной является невозможность оптимального распределения вычислений без знания архитектуры вычислительной системы, в том числе конкретного принципа объединения вычисляющих устройств (процессорных ядер, узлов кластера и т. п.) в сеть. Как правило, информацию об архитектуре дает спецификация (или документация) вычислителя, составленная производителем. Однако распределение процессов по процессорам, опирающееся на спецификацию, может быть далеко от оптимального вследствие следующих недостатков спецификаций:
1) недостаточности детализации: указана только некая идеальная топология коммуникационной среды кластера — тор, решетка и т. п., а также пиковая или средняя пропускная способность каналов;
2) несоответствия действительности: это различные "аномалии", например слишком низкая пропускная способность какого-нибудь канала, хотя было заявлено обратное, или ошибки при конструировании кластера;
3) инертности информации: как результат деятельности системных администраторов по замене оборудования, обновлению программного обеспечения, состояние коммуникаций может меняться быстрее, чем обновляется спецификация.
1 ЗАО "Автомеханика", программист, e-mail: pashokkkQbk.ru
2 Факультет ВМК МГУ, ст. науч. сотр., к.ф.-м.н., e-mail: salnikovQcs.msu.su
* Работа выполнена при поддержке гранта РФФИ № 12-07-31088.
Также спецификация может просто отсутствовать, например в случае, когда кластер собран из компьютеров, объединенных одним коммутатором, внутреннее устройство которого является коммерческой тайной.
Цель данного исследования — разработка методов для автоматического обнаружения неполадок в работе коммуникационной среды кластера, поиска несоответствий в спецификации, а также написания спецификации в случае ее отсутствия.
Для дальнейшего изложения определим понятие "топология" в контексте данной статьи. Топологией назовем взвешенный ориентированный граф, однозначно сопоставляемый архитектуре коммуникационной среды кластера. Вершинами графа являются вычислительные устройства (процессорные ядра, узлы кластера), дугами — физические связи между узлами. Здесь и далее будем отождествлять понятия "топология" и "граф".
2. Описание основных задач. Совокупность результатов работы программы network-tests2 можно разбить по длине сообщений на квадратные матрицы размера п х п, где п — число MPI-процессов, участвовавших в тестировании. Такие матрицы назовем матрицами задержек.
Далее предлагаются алгоритмы для решения трех последовательных задач: 1) по данной совокупности матриц задержек выявить топологию кластера; 2) отобразить в трехмерном пространстве получившуюся топологию; 3) при наличии спецификации к кластеру сравнить выявленную топологию с той, которая описана в спецификации.
2.1. Выявление топологии кластера. К алгоритму выявления топологии предъявим следующие требования: восстановление неиерархических топологий; полиномиальное (от числа MPI-процессов) время работы; корректная обработка процессов на общей памяти.
Из всей совокупности матриц задержек возьмем одну матрицу и обозначим ее М. Опишем алгоритм, который по данной матрице М выявляет так называемую локальную топологию. Работа алгоритма разбивается на два этапа: Этап 1. Выявление остовного дерева; Этап 2. Восстановление циклов.
Объявляются параметры алгоритма: es ш £4.
Параметр es объясняется следующим образом. Предположим, что имеется группа процессов-вершин на общей памяти, и пусть две вершины уже соединены дугой с весом w. Тогда остальные пары вершин г и j в группе будут соединяться дугами, только если верно соотношение
Мц ^w{l+£s). (1)
Таким образом, параметр es определяет допустимый разброс весов дуг, соединяющих процессы-вершины на общей памяти.
Параметр e(i позволяет управлять типом канала, представленного парой дуг. Так как требование симметричности матрицы М отсутствует, веса двух дуг, соединяющих одну и ту же пару вершин, могут сильно различаться. Если отношение значений весов таких дуг превышает значение 1 + £4, то канал считается симплексным, а дуга с большим весом уничтожается. В противном случае канал считается дуплексным, обе дуги сохраняются.
Следует отметить, что наличие симплексного канала в выявленной топологии является либо свидетельством неполадок в системе, либо эффектом от работы алгоритма маршрутизации сообщений на этапе тестирования.
Суть первого этапа алгоритма заключается в нахождении групп процессов-вершин на общей памяти и соединении найденных групп при помощи цепей дуг. Две группы вершин могут быть соединены максимум одной цепью дуг, однако вершины внутри группы могут быть соединены произвольным образом, но так, чтобы группа представляла собой связный подграф. Итоговый граф должен быть односвязным.
В начальном состоянии ищется пара наименее удаленных друг от друга процессов-вершин. Данной паре соответствует минимум в матрице М. Далее происходит сбор всей группы вершин, расположенных на данном сегменте общей памяти. Новая вершина добавляется в группу, если расстояние от нее до некоторой вершины из группы удовлетворяет ограничению формулы (1). После сбора первой группы необходимо найти вторую группу, не нарушив связности графа. Для этого из еще не просмотренных вершин выбирается та, расстояние от которой до некоторой вершины из уже сформированной группы (либо множества сформированных групп на очередном витке алгоритма) — минимальное
из возможных. Выбранная вершина не обязана принадлежать следующей группе, поэтому строится цепь из вершин и соединяющих их дуг: вес каждой следующей дуги должен быть строго меньше веса предыдущей. Если цепь нельзя продолжить, считается, что достигнута вершина из следующей группы процессов-вершин на общей памяти. Происходит возврат алгоритма в начальное состояние.
В ходе работы этапа 1 ни одна вершина не просматривается дважды. Дуплексные каналы формируются с помощью параметра е^.
Этап 1 не допускает циклов в локальной топологии, а потому плохо применим к архитектурам, в которых есть циклы (например, в которых процессоры соединены между собой непосредственно). Для восстановления циклов был введен этап 2: если суммарный вес дуг кратчайшего пути от вершины % до вершины ] больше, чем Му, и дуга % ^ ] отсутствует, то данный цикл замыкается. На практике этап 2 состоит из п вызовов алгоритма Дейкстры нахождения кратчайшего пути из одной вершины во все остальные.
Алгоритм обладает следующими особенностями: независимость от симметричности входной матрицы; выявление топологий произвольной структуры; результирующий граф имеет строго п вершин; результирующий граф является ориентированным. Как будет показано далее, алгоритм имеет сложность, полиномиально зависящую от размеров матрицы.
Утверждение 1. Представленный алгоритм для худшего случая имеет временную сложность 0(п3), где п - число процессов-вершин.
Доказательство строится на том факте, что временная сложность этапа 1 не больше временной сложности этапа 2, которая равна п ■ 0(п2) как следствие известной оценки для алгоритма Дейкстры.
Утверждение 2. Представленный алгоритм имеет пространственную сложность 0(п2).
Доказательство следует из того факта, что матрица М является самой большой структурой по объему занимаемой памяти, используемой алгоритмом.
Наконец, совокупность найденных локальных топологий необходимо объединить в единственную топологию, которая и принимается за выявленную топологию кластера. Для этого очевидным образом отождествляются соответствующие вершины локальных топологий. Получаем, что в результирующем графе каждая пара вершин может быть соединена (в каждом направлении) несколькими дугами, и, чтобы отождествить набор дуг, вводится понятие вероятности существования дуги как отношения числа дуг в наборе к общему числу матриц задержек. Дуги с нулевой вероятностью существования считаются несуществующими.
После решения задачи о выявлении графа встает задача о его отображении в трехмерном пространстве для показа конечному пользователю, т. е. разработчику параллельных программ для кластеров.
2.2. Визуализация топологии. К подсистеме визуализации графов предъявляются четыре требования: сохранение относительных значений длины дуг графа, различение вероятностей существования дуг, наглядность и приемлемая скорость работы. Первое требование не может быть выполнено в общем случае, так как всего четыре фиксированные точки при фиксированных значениях длины дуги однозначно определяют в пространстве 5-ю точку, поэтому будет использован приближенный метод, удовлетворяющий данному требованию лишь частично.
Неориентированный граф в трехмерном пространстве изображается следующим образом: каждой вершине ставится в соответствие точка, а ребро представляется в виде отрезка, соединяющего две соответствующие вершины-точки. Таким образом, задача отображения графа сводится к расчету трехмерных координат точек. Данная формулировка соответствует классической задаче многомерного шкалирования [8], т.е. задаче отображения многомерных данных в пространство малой размерности. Для решения задачи вводится функция стресса — мера погрешности отображения расстояния между точками — и ищется ее минимум. Координаты точек, соответствующие минимуму функции стресса, принимаются за ответ к задаче.
Предлагаемый алгоритм отображения топологии в трехмерном пространстве состоит из трех этапов: этап 1 — перевод матрицы задержек М в матрицу длин ребер с последующей нормировкой; этап 2 — поиск координат вершин с помощью адаптированного метода многомерного шкалирования; этап 3 — визуализация полученных точек и отрезков.
Этап 1. Пусть % и ] — пара процессов-вершин, соединенных двумя дугами с ненулевыми вероятностями существования. В матрице М этой паре соответствуют элементы М^ и М^. Поскольку
значения М^ и вообще говоря, различны, их нельзя использовать напрямую для вычисления расстояния между точками г ш Также вычисление затрудняет тот факт, что исходный граф является ориентированным. Для получения значений длины ребер и для визуализации топологии матрицу М необходимо сделать симметричной, а граф — неориентированным. Сформируем ребро г-] как отождествление дуг / г //' и //' г /. а вес этого ребра положим равным
Щ ' Рг^з + М• р^ ^
Рг^З + Рз^г
где — вероятность существования дуги к I. Вероятность существования ребра г-] положим
равной сумме вероятностей существования дуг, отождествленных с ним. Заменим значения М^ и М^ на результат формулы (2). Повторим те же действия для всех остальных пар вершин. При этом полагаем М^ := М^ := 0, если дуг » и ! нет. Выполнение вышеуказанных действий приведет к тому, что матрица М станет симметричной, а граф — неориентированным. Далее осуществляется нормировка значений матрицы: ищется минимум среди ненулевых элементов, и все элементы делятся на найденное значение. В итоге матрица М стала матрицей длин ребер.
Этап 2. Потребуем, чтобы расстояния между вершинами, не соединенными ребрами с ненулевой вероятностью существования, были не меньше минимальной длины ребра (равной 1). Данное требование делает классический метод многомерного шкалирования неприменимым без некоторой адаптации.
Функцию стресса / будем представлять как (/1 + /3)/2, /1 - часть из классического метода многомерного шкалирования:
п
/1= Е а®»-®/-^)2,
г, 3=0,
Рг-3> О
где Хг = {хг^уг^г} — трехмерные координаты точки подлежащие определению, п — число точек, — вероятность существования ребра г-]. Таким образом, /1 описывает отклонение реального расстояния между точками г и ] от желаемого расстояния М^.
Часть /2 нужна для удовлетворения поставленному требованию и представляется в виде
п
/2 = 7 ' (обозначения те же, что и для /1), где
г, 3=0, гфз, Рг-1= О
{1 ^ | х2 х^ | — 0 ^
V\Xi-Xjl2,
О, |Хг — \ ^ 1.
Такая структура позволяет заострять внимание только на тех точках, которые надо удалить друг от друга. Параметр 7 принимает значения из отрезка [0,1] и обозначает уровень соблюдения требований.
Минимум функции / в текущий момент ищется с помощью градиентного спуска с переменным шагом. Начальные значения выбираются на прямой х = у = г = I ■ п, где £ — параметр, затем придаются случайные смещения. Шаг спуска увеличивается, если на текущей итерации было найдено лучшее значение /. Иначе шаг уменьшается, а значения координат "откатываются" к значениям, полученным на предыдущей итерации.
Этап 3. Отображаются только те ребра г-^', для которых > 0. Если канал, моделируемый ребром, дуплексный, то ребро изображается цилиндром малого радиуса. Если канал симплексный, то ребро изображается стрелкой, направление которой совпадает с направлением той отождествленной с ребром дуги, которая имела большую вероятность существования. Цвет ребра г-] напрямую зависит от вероятности его существования и получается линейной интерполяцией между цветом фона и насыщенным зеленым цветом в 1ЮВ-представлении. Коэффициент интерполяции предлагается рассчитывать по формуле
^ _ Р^з + Рз^г
Рг^З + Рз^г
Нетрудно проверить, что 0 ^ mm{pi^j,pj^i} ^ к ^ ma,Уi{pi^j,pj^i} ^ 1.
2.3. Сравнение выявленной топологии с эталоном. Алгоритм, представленный в п. 2.1, никак не учитывает коммуникационные элементы кластера — коммутаторы, маршрутизаторы. Существующие архитектуры могут как содержать в себе коммуникационные элементы, так и не содержать. В связи с этим результирующий граф интерпретируется по-разному.
Будем называть иерархической топологией кластера топологию, в которой вычислительные узлы связаны между собой только через коммуникационные элементы. Напротив, регулярной топологией назовем топологию, в которой нет коммуникационных элементов, а вычислительные узлы соединены напрямую.
Таким образом, топология, выявляемая алгоритмом из п. 2.1, является регулярной. Получается, что если тест был проведен на кластере с регулярной топологией, алгоритм сможет выявить эту топологию. Если же тест проводился на кластере с иерархической топологией, алгоритм выдаст граф, близкий к полносвязному. Более того, чем ближе полученный граф к полносвязному, тем лучше спроектирован кластер и тем удачнее реализована библиотека MPI. Наличие дуг с неединичной вероятностью существования может говорить о потенциальных проблемах и/или недостатках кластера/библиотеки.
Необходимо разработать алгоритмы сравнения топологий, как иерархических, так и регулярных. Далее считается, что вершины графов топологий помечены непустой последовательностью символов — именем. Имя уникально только для вычислительных узлов, одинаковые имена определяют ядра одного и того же процессора. Метка ребра задает пропускную способность физического канала, моделируемого данным ребром, в Гб/с.
Для представления эталонной топологии используется известный язык описания графов Graphviz/DOT.
Общий алгоритм сравнения топологий можно описать следующей последовательностью действий.
1. Преобразование выявленной топологии: группировка и отождествление вершин с одинаковыми именами.
2. Считывание dot-файла с эталонной топологией.
3. Проверка того, что множество вершин выявленной топологии является подмножеством вершин эталонной топологии (сопоставление имен вершин).
4. Подсчет меры сходства топологий.
5. Если мера сходства больше нуля, значит, эталонная топология имеет регулярную структуру; останов алгоритма; результатом является посчитанная мера сходства, выраженная в процентах.
6. Мера сходства равна нулю, поэтому эталонная топология считается иерархической; формируется вспомогательный неориентированный граф.
7. Перевод разницы весов ребер, принадлежащих одновременно графу эталонной топологии и вспомогательному графу, в цвета — раскраска графа эталонной топологии и его визуализация.
1. При группировке вершин все дуги, соединяющие вершины внутри группы, уничтожаются, а все дуги, соединяющие вершины двух различных групп, отождествляются. Вес w получившейся дуги определяется в зависимости от текущих действий: если выполняется п. 4, то вес равен максимуму из весов отождествляемых дуг; если выполняется п. 6, то
где — первая группа вершин, О2 — вторая группа, |С?| — мощность множества О.
3. Ошибка на данном этапе означает, что выявленная и эталонная топологии описывают совершенно разные коммуникационные среды либо разные подмножества одной среды.
4. Мера сходства - количественная характеристика, позволяющая судить о совпадении двух топологий.
Введем обозначения: Ь — множество имен вершин, встречающихся и в выявленной топологии, и в эталонной топологии; Е — множество ребер в эталонной топологии, соединяющих вершины с именами из Ь; V — множество групп вершин в выявленной топологии, одна группа содержит вершины, именами которых является один элемент из Ь.
w =
(3)
Тогда предлагаемая формула для расчета меры сходства выглядит так:
бил =
)) \Щ- Ю0%
Объясним выбор именно такого вида формулы. Из множества Ь выберем два элемента: 1\ и 12. По определению множества Е в эталонной топологии существует единственное ребро е € Е, соединяющее вершину с именем 1\ и вершину с именем 12. В то же время в множестве групп V найдется группа вершин 0\, все вершины которой будут иметь имя 11, а также группа вершин О2, все вершины которой будут иметь имя 12■ Получаем, что ребру е из эталонной топологии соответствует (по именам) целый набор дуг из выявленной топологии вида (г>1, г^), где € Си, а «2 6 (?2- Поставим в соответствие всем вершинам из 0\ вершину д\. Таким образом, д\ будет иметь имя 1\. Аналогично введем вершину для группы Ст2• Для проведения сравнения ребра е с ребром (51,52) осталось определить вероятности существования ребер. Так как ребро е из эталонной топологии, вероятность его существования примем равной 1. А вероятность существования ребра (51,52) примем равной максимуму из вероятностей существования дуг («1,^2), которые были вычислены алгоритмом в начале статьи. Сходством ребер е и (51,52) назовем минимум из вероятностей их существования, умноженный на 100%. Взяв среднее арифметическое значений сходства всех пар ребер вида е и (51,52), получим итоговую меру сходства двух топологий.
6. Вспомогательный граф формируется по следующему принципу: если в выявленной топологии есть пара вершин г и соединенных дугой с ненулевой вероятностью существования, а в эталонной топологии существует ориентированный путь из г в то во вспомогательный граф добавляются вершины 7,, ] и все вершины из соединяющего их кратчайшего пути в эталонной топологии. Веса дуг формируются накоплением по определенной формуле: пусть г ш ] — пара вершин во вспомогательном графе, добавленных в него по вышеописанному принципу формирования, тогда г — кратчайший ориентированный путь из г в j, причем и дуги и вершины этого пути принадлежат как вспомогательному графу, так и эталонной топологии. Введем обозначения: г^ — к-я дуга пути (считая по порядку от вершины г); |г| — число дуг в пути; т — величина, рассчитанная по формуле (3), где формируется из одноименных вершин для вершины г, 02 — для вершины
Каждое ребро в эталонной топологии помечено пропускной способностью соответствующего канала. Величина т играет роль времени прохода сообщения по пути г (считается, что все сообщения от г до ] идут по кратчайшему пути). Идея состоит в том, чтобы распределить т каждой дуге из г обратно пропорционально ее пропускной способности. Величина, которую надо прибавить к весу дуги г*,, будет равна
где и;Гк — вес дуги в эталонной топологии, соответствующей г
Итак, каждая дуга во вспомогательном графе накапливает вес по формуле (4), а также запоминает количество путей г, которые содержат данную дугу. После прохождения по всей эталонной топологии и соответственно по всей выявленной топологии веса дуг I ] и ] I складываются и делятся на суммарное количество путей, тем самым вес ребра г-] (так как вспомогательный граф на самом деле неориентированный) становится равным среднему времени прохождения сообщений через данное ребро.
7. Получаем, что веса ребер во вспомогательном графе задают "реальную" пересылку сообщений (так как значение т складывается из значений исходной матрицы расстояний), а веса ребер в эталонной топологии — "идеальную" пересылку. Однако "идеальная" пересылка задана пока что пропускными способностями. Чтобы привести веса в обоих графах к одному формату, необходимо ввести некое сообщение определенной длины, которое будет "передаваться" по ребрам эталонной топологии. Длину этого сообщения можно определить исходя из матрицы М (ведь матрица М была получена для какой-то длины сообщений либо для комбинации длин). Пересчитаем веса ребер эталонной топологии как отношение длины сообщения к пропускной способности. Теперь веса ребер в обоих графах обозначают время передачи сообщений.
На основании полученных данных при визуализации ребрам эталонной топологии назначаются цвета. Имеют место 3 случая: 1) ребро входит в эталонную топологию, однако не содержится во вспомогательном графе — назначается белый цвет; 2) вес ребра во вспомогательном графе не больше веса
т \ — 1
(4)
такого же ребра в эталонной топологии назначается красный цвет; 3) вес ребра во вспомогательном графе строго больше веса такого же ребра в эталонной топологии назначается синий цвет. В зависимости от абсолютного значения разности весов цвет будет иметь разную насыщенность.
Чтобы выполнить визуализацию эталонной топологии, необходимо запустить для нее алгоритм отображения графов, посчитав новую матрицу М: если ребро i j принадлежит эталонной топологии, то Mij := Mji := <вес ребра i j>, иначе M*у := Мц := 0.
3. Программная реализация и результаты. Все вышеперечисленные алгоритмы реализованы в составе программы Network Viewer 2 [9]. которая является инструментом визуализации результатов программы network-testsË. Реализация выполнена на языках С, С+ + , пользовательский интерфейс написан с помощью библиотеки Qt.4, визуализация графов выполняется с помощью библиотеки OpenGL, предоставляемой Qt-модулем QtOpenGL. Распараллеливание кода производится с использованием технологии ОрепМР.
Исходный код Network Viewer 2 доступен через git-репозиторий по адресу http://git.code.sf.nct/p/ parus/code, папка /network_test2/sre/nct.work_vicwcr_qt._v2/.
В таблице приведено среднее время работы алгоритма выявления топологии для различных архитектур на машине с процессором AMD Phenom II (1 ядро).
Среднее время работы алгоритма выявления топологии для одной матрицы
Кластер Число узлов Среднее время для одной матрицы, мс
BhieGene/P 128 10
256 80
1024 760
"Ломоносов" 500 90
"Чебышев" 64 5
128 9
MVS-50k 300 40
Неизвестный Switch 38 0.04
На примере В1иеСспе/Р хорошо просматривается кубическая зависимость времени работы алгоритма от числа процессов.
Рис. 1. Вычислительный кластер "BlueGene/P", задействовано 512 процессоров, отображена матрица для длины сообщений О
На рис. 1 отображены связи между 512 процессорами суперкомпьютера BlueGene/P. Для вычисления значений длины ребер использовалась матрица, соответствующая длине сообщений 0. BlueGene/P имеет регулярную структуру, т. е. процессоры соединены каналами связи непосредственно друг с другом. Network Viewer 2 смог показать это. На рис. 1 одна вершина отличается от остальных: она не вписывается в общую структуру, и к ней ведут стрелки, а не отрезки, что означает слишком долгую посылку сообщений от данной вершины. Оказывается, этой вершине соответствует MPI-процесс номер 0. Известно, что MPI выделяет 0-й процесс среди всех процессов, поэтому возможно ухудшение его коммуникационных характеристик.
Рис. 2. Суперкомпьютер "Ломоносов", задействовано 500 процессоров, отображена топология для матриц со средним арифметическим величин задержек
НИ
Рис. 3. Результат сравнения двух регулярных топологий
Рис. 5. Результат сравнения выявленной топологии суперкомпьютера
"Ломоносов" с эталоном
На рис. 2 изображены связи между ядрами процессоров в суперкомпьютере "Ломоносов". При тестировании один МР1-процесс запускался на одном ядре каждого 8-ядерного процессора. Для расчета длины ребер были взяты средние арифметические расстояний из всех входных матриц. Нижний порог вероятности существования ребер установлен в 30%.
Можно видеть сгущение вершин (черное пятно) у визуального центра графа. Это объясняется особенностью топологии суперкомпьютера "Ломоносов", она иерархическая, но построена так, чтобы
время передачи сообщений между любыми двумя вершинами было примерно одинаково. Алгоритм выявления топологии здесь выдает полносвязный граф, сосредоточенный в центре иллюстрации. Расположение остальных вершин можно отнести к погрешностям в длине ребер и к неточности работы алгоритма отображения.
На рис. 3 слева вверху показана выявленная топология, справа вверху — формат задания эталонной топологии для той же архитектуры, а внизу — результат сравнения этих топологий. Здесь эталонная топология задается как полносвязный граф. Так как топологии регулярны, выдается отличное от нуля значение меры сходства.
На рис. 4 показан построенный в программе Network Viewer 2 граф коммуникационной среды суперкомпьютера "Ломоносов". Топология взята из спецификации. А на рис. 5 показана часть различий между выявленной топологией (рис. 2) и эталонной топологией (рис. 4). Некоторые ребра имеют наиболее насыщенный тон, что говорит о большом отклонении "реальной" пропускной способности тех каналов от "идеальной". В качестве "идеальной" пропускной способности бралась пиковая пропускная способность сетей InfiniBand, используемых в "Ломоносове", равная 32 Гб/сек (режим QDR). Чтобы определить трехмерные координаты вершин графа на рис. 5, потребовалось около часа на машине с процессором AMD Phenom II (задействовано 1 ядро).
СПИСОК ЛИТЕРАТУРЫ
1. Ventura L., Antonio J., HaeidH., et al. Conversations reconstruction in the social web // Proe. of the 21st Intern. Conf. Companion on World Wide Web. N.Y.: ACM, 2012, P. 573-574.
2. Siamwalla R., Sharma R., Keshav S. Discovering internet topology. Technical Report. Cornell University Computer Science Department, 1998. URL: http://www.cs.cornell.edu/skeshav/papers/discovery.pdf
3. CoatesM., Castro R., NowakR. Maximum likelihood network topology identification from edge-based unicast measurements // Proc. of the ACM SIGMETRICS Intern. Conf. on Measurement and Modeling of Computer Systems. N.Y.: ACM, 2002, P. 11-20.
4. Hernandez-Lemus E., S iqueiros-Garcia J. M. Information theoretical methods for complex network structure reconstruction // Complex Adaptive Systems Modeling. 2013. 1. N 1. P. 1-22.
5. Furtlehner C., Han Y., Lasgouttes J.-M., et al. Propagation of information on undirected dependency graphs for road traffic inference // Chaos, Complexity and Transport. Proc. of the CCT'll. Singapore: World Scientific Publishing, 2012. P. 191-203.
6. Сальников A.H., Андреев Д.Ю., Лебедев P. Д. Инструментальная система для анализа характеристик коммуникационной среды вычислительного кластера на основе функций стандарта MPI // Вестн. Моск. ун-та. Сер. 15. Вычисл. матем. и киберн. 2012. № 1. С. 39-48.
7. Salnikov A.N. PARUS: A parallel programming framework for heterogeneous multiprocessor systems // Proc. of the 15th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface. Lecture Notes in Computer Science. N 4192. Berlin: Springer, 2006. P. 408-409.
8. В org I., Groenen P. J. F. Modern Multidimensional Scaling — Theory and Applications. 2nd ed. Springer Series in Statistics XXII. N.Y.: Springer, 2005.
Э.Сальников A.H., Банников П. С. Система визуализации результатов MPI-тестирования коммуникационной среды вычислительных комплексов // Вестн. Пермского ун-та. Математика. Механика. Информатика. 2012. № 3. С. 80-85.
Поступила в редакцию 28.11.13
EXTRACTION THE COMPUTER CLUSTER INTERCONNECTION TOPOLOGY BY ANALYSIS OF RESULTS OF MPI-BENCHMARKING
Bannikov P. S., Salnikov A. N.
Modern computational cluster systems are rather complicated relatively to principles of interconnection of processors in computer system. Often the specification of cluster interconnection subsystem is poor specialized. This article we introduce the method of automatic specification improvement by means of automatic detection of cluster's interconnections topology. The data for topology detection are measured by special set of MPI-benchmarks which provide some types of communication activity in compute cluster with fixed volume of transmitted data. The topology is detected by greedy algorithm. We describe some methods of topology visualizing in 3D by means of multidimensional scaling method. We introduce the verification algorithm of vendor specification based on previously detected topology. Also we introduce algorithm for visual comparison expected delays in communications suggested by vendor specification and observed delays in benchmark results. The computer systems BlueGene/P and "Lomonosov" have been investigated by means of implementations of algorithms which are describing in this article.
Keywords: topology detection, compute cluster interconnect, visualizing, supercomputer administration, multidimensional scaling method, greedy algorithms.