здесь - Parallels

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