КС:2015:Проект:ClusterManager

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск

Что это за проект

Введение

Программное обеспечение позволяющее управлять процессами развертывания, запуска и мониторинга приложений на группе компьютеров.

Что требуется

Разработать серверную и клиентские части, которые:

1. Запускает заданные процессы на заданные членах кластера

2. Контролирует, что эти процессы успешно выполняются

3. Перезапустят упавшие процессы

4. В случае недоступности ноды запускает процессы с неё на других членах кластера

Чему вы научитесь (помимо разработки очередного велосипеда)

1. Работе с сетью

2. Основам построения распределенных приложений

3. Работе с файлами и процессами

Начальные требования

1. Умение разрабатывать программы на C++ или Python


Критерии оценивания

Первая контрольная точка (24 октября 2015 г.)

Необходимо иметь репозиторий с проектом, в который приглашен ментор. В репозитории должно быть:

  • Файл README.md, который содержит описание проекта, написанный в расчета на "конечного пользователя". Это описание должно быть написано самостоятельно, а не скопировано из Wiki, и отражать Ваше понимание того, что нужно сделать.
  • Реализованы как минимум следующие функции: сервер обрабатывает сообщения о статусе клиента, в ответ посылая информацию о процессе, который надо запустить.
  • Для тех, кто пишет на C/C++ проектный файл CMakeLists.txt

Вторая контрольная точка (21 ноября 2015 г.)

Сервер и клиенты, запускающие процессы на заданных хостах и контролирующие их активность и перезапускающие в случае падения. Изменения состояний клиентов и сервера должны регистрироваться. Описание кластера задается в виде конфигурационного файла или файлов.

Итоговая оценка

  • 4 балла. Требования на зачет в первом модуле и дополнительно реализованы

возможности: добавления в базу новых файлов, обновлений контрольных сумм старый и проверка по все базе.

  • 6 баллов. В случае не доступности ноды процессы должные мигрировать на

другую ноду.

  • 8 баллов. Балансировка нагрузки на кластере
  • +2 балл. Автоматизированное развертывание ПО на кластере.
  • +2 балла. Распределение процессов по кластеру в зависимости от

требований к памяти, CPU и диску.