210 likes | 406 Views
Балансировка загрузки. Лобачёв Иван Арискин Дмитрий Ковалёв Дмитрий Чеботарёв Сергей Гилёв Валерий. Учебная лаборатория SWsoft НГУ. Задачи. Алгоритм балансировки Сбор статистики Визуализация Перенос процессов. Алгоритм балансировки. Арискин Дмитрий. Ограничения на задачи.
E N D
Балансировка загрузки Лобачёв Иван Арискин Дмитрий Ковалёв Дмитрий Чеботарёв Сергей Гилёв Валерий Учебная лаборатория SWsoft НГУ
Задачи • Алгоритм балансировки • Сбор статистики • Визуализация • Перенос процессов
Алгоритм балансировки Арискин Дмитрий
Ограничения на задачи • Система состоит только из взаимосвязанных задач. Независимых задач нет • Система работает циклически • Любая задача системы находится в одном из двух состояний: • Обработка данных (с максимальным использованием процессора) • Ожидание данных (процессорне используется)
Диаграмма работы системы • “board” - задача работает • “diamond” - задача получает данные • “lequal” – задача передаёт данные • “space” – задача простаивает
Модель функционирования системы • Работа задачи представляется набором интервалов активности • Начало интервала активности определяется приёмом данных от другой задачи • В течение интервала активности задача может передавать данные
Предсказание на основе модели • На основе данных модели делается прогноз работы системы при различных возможных распределениях задач по машинам • Среди этих прогнозов выбирается оптимальный.
Реализация • Программа построения модели и её анализа • Программа написана на С++с использованием STL • Является надстройкой над системой сбора статистики.
Тестирование • Количество задач – порядка 10 • Длительность цикла 4 – 20 мин. • Характерный выигрыш по времени - до 40% (по сравнению с распределением задач по умолчанию) • Ошибка предсказания - меньше5%
Сбор статистики Лобачёв Иван
Сбор статистики • Получение информации через /dev/kmem • Доступ к любым структурам ядра • Увеличение скорости доступа • Переход на NetSNMP • Рефакторинг кода • Перенос логгера на платформу Win32 • Более удобное взаимодействие с визуализатором • Возможность использования визуализатора и логгера как систему для наблюдения за кластером
Визуализация Ковалёв Дмитрий
Визуализатор • Поддержка множественных рёбер • Дерево навигации • Данные рядом с процессами и связями • Контекстные меню для процессов • Масштабирование • Динамическое обновление параметров и состояния сиситемы
Запись результатов • Экспорт в AVI
Сохранение результатов • Экспорт в картинки
Перенос процессов Валерий Гилёв
Перенос процессов • Checkpointer механизм – CRAK • Модуль ядра • Работа с файлами • Перенос сокетов • Сделана тестовая реализация на основе CRAK • Проверена работоспособность на простейших приложениях • На 80% завершена полноценная реализация переносчика - MigrationManager
Результаты • Система визуального контроля за кластерной системой • Система анализа и прогнозирования • Установлен и протестирован Checkpoint/Recovery механизм CRAK
Планы на будущее • Протестировать алгоритм • Интегрировать визуализатор с логгером • Сделать перенос с поддержкой корректного переноса открытых соединений • Сделать работоспособный продукт