Transcript
Page 1: Балансировка загрузки

Балансировка загрузки

Учебная лаборатория SWsoft НГУ

Лобачёв ИванАрискин ДмитрийКовалёв ДмитрийЧеботарёв СергейГилёв Валерий

Page 2: Балансировка загрузки

Задачи

Алгоритм балансировки

Сбор статистики

Визуализация

Перенос процессов

Page 3: Балансировка загрузки

Алгоритм балансировки

Арискин Дмитрий

Page 4: Балансировка загрузки

Ограничения на задачи

Система состоит только из взаимосвязанных задач. Независимых задач нет

Система работает циклически

Любая задача системы находится в одном из двух состояний: Обработка данных (с максимальным

использованием процессора) Ожидание данных (процессор не используется)

Page 5: Балансировка загрузки

Диаграмма работы системы

“board” - задача работает

“diamond” - задача получает данные

“lequal” – задача передаёт данные

“space” – задача простаивает

Page 6: Балансировка загрузки

Модель функционирования системы

Работа задачи представляется набором интервалов активности

Начало интервала активности определяется приёмом данных от другой задачи

В течение интервала активности задача может передавать данные

Page 7: Балансировка загрузки

Предсказание на основе модели

На основе данных модели делается прогноз работы системы при различных возможных распределениях задач по машинам

Среди этих прогнозов выбирается оптимальный.

Page 8: Балансировка загрузки

Реализация

Программа построения модели и её анализа Программа написана на С++ с

использованием STL Является надстройкой над системой сбора

статистики.

Page 9: Балансировка загрузки

Тестирование

Количество задач – порядка 10

Длительность цикла 4 – 20 мин.

Характерный выигрыш по времени - до 40% (по сравнению с распределением задач по умолчанию)

Ошибка предсказания - меньше 5%

Page 10: Балансировка загрузки

Сбор статистики

Лобачёв Иван

Page 11: Балансировка загрузки

Сбор статистики

Получение информации через /dev/kmem Доступ к любым структурам ядра Увеличение скорости доступа

Переход на NetSNMP

Рефакторинг кода

Перенос логгера на платформу Win32 Более удобное взаимодействие с визуализатором Возможность использования визуализатора и

логгера как систему для наблюдения за кластером

Page 12: Балансировка загрузки

Визуализация

Ковалёв Дмитрий

Page 13: Балансировка загрузки

Визуализатор

Поддержка множественных рёбер

Дерево навигации

Данные рядом с процессами и связями

Контекстные меню для процессов

Масштабирование

Динамическое обновление параметров и состояния сиситемы

Page 14: Балансировка загрузки

Визуализатор

Page 15: Балансировка загрузки

Запись результатов

Экспорт в AVI

Page 16: Балансировка загрузки

Сохранение результатов

Экспорт в картинки

Page 17: Балансировка загрузки

Перенос процессов

Валерий Гилёв

Page 18: Балансировка загрузки

Перенос процессов

Checkpointer механизм – CRAK Модуль ядра Работа с файлами Перенос сокетов

Сделана тестовая реализация на основе CRAK Проверена работоспособность на простейших

приложениях

На 80% завершена полноценная реализация переносчика - MigrationManager

Page 19: Балансировка загрузки

Результаты

Система визуального контроля за кластерной системой

Система анализа и прогнозирования

Установлен и протестирован Checkpoint/Recovery механизм CRAK

Page 20: Балансировка загрузки

Планы на будущее

Протестировать алгоритм

Интегрировать визуализатор с логгером

Сделать перенос с поддержкой корректного переноса открытых соединений

Сделать работоспособный продукт

Page 21: Балансировка загрузки

Вопросы


Recommended