Сбор статистики с использованием SNMP (Определение топологии связей между задачами в кластере MPI) И.В. Лобачёв Новосибирский Государственный Университет Совместная лаборатория НГУ, МФТИ, SWsoft Научный руководитель: доцент Д.В. Иртегов
Применение Балансировка загрузки в кластере MPI Система наблюдения и управления кластером
Архитектура Локальный сборщик Глобальный сборщик Взаимодействие через SNMP Local Machines SNMP Main Server
Локальный сборщик Устанавливается на каждый узел кластера Опрашивает параметры узла кластера Помещает полученную информацию в специальный модуль расширения SNMP
Получение информации о связях (соединениях TCP) Псевдо-файловая система proc Неудобная структура данных Большое потребление ресурсов (загрузка процессора до 20%) Ядро операционной системы (/dev/kmem) Малая нагрузка на процессор (загрузка процессора < 5%) Возможность получить практически любую информацию
Глобальный сборщик Устанавливается на один из узлов кластера, либо на компьютер вне кластера Опрашивает узлы кластера и получает информацию о текущем состоянии каждого узла Анализирует и обрабатывает полученную информацию Выдает отчёт о текущем состоянии системы в виде xml-файла
Пример xml-отчёта
Топология связей в системе наблюдения и управления кластером (Ковалёв Дмитрий)
Модуль расширения SNMP Динамически подгружаемый в SNMP модуль Обеспечивает получение, добавление и хранение информации об узле Информация хранится в виде SNMP таблицы
Доступная информация Информация об узлах кластера Имя узла IP адрес Средняя загрузка узла Информация о процессах Имя процесса Идентификационный номер Узел на котором работает процесс Состояние процесса (работает или нет) Информация об открытых сокетах Процессы между которыми установлено сокетное соединение Количество переданных и полученных через сокет данных
Результаты Реализована система сбора информации, которая обеспечивает алгоритм балансировки требуемыми данными и использует минимум ресурсов кластера Реализован модуль расширения SNMP Реализованы две версии глобального сборщика Для платформы Win32 Для платформы Unix Есть возможность использовать систему сбора информации для наблюдения за состоянием кластера
Планы Использовать систему для отладки существующих и создания новых алгоритмов балансировки Для диагностики и отладки параллельных программ
Вопросы