Вычислительный агент (проект)
Материал из Wiki - Факультет компьютерных наук
Версия от 17:56, 1 декабря 2014; OlegSukhoroslov (обсуждение | вклад)
Ментор | Олег Сухорослов |
Учебный семестр | Весна 2015 |
Учебный курс | 1-й курс |
Проект можно развивать на летней практике | |
Что это за проект?
Целью проекта является реализация вычислительного агента - программы, позволяющей удаленно запускать расчеты на вычислительном ресурсе (ПК, сервере, кластере). Агент выполняется в фоновом режиме на ресурсе и связывается по сети с сервером, который назначает вычислительные задания. Для каждого назначенного задания агент выполняет загрузку входных данных, запуск заданной команды, мониторинг запущенного процесса и передачу на сервер выходных данных. Подобные агенты являются одним из элементов архитектуры многих систем распределенных вычислений, позволяющих, например, проводить расчеты на простаивающих персональных компьютерах.
Чему вы научитесь?
- Знакомство с распределенными вычислительными системами
- Работа с потоками и внешними процессами
- Реализация сетевого взаимодействия на уровне протокола HTTP
Какие начальные требования?
- Программирование на Python
- Умение работать с Linux
Какие будут использоваться технологии?
- Python
- HTTP
- git
Темы вводных занятий
- Распределенные вычислительные системы
Направления развития
- Измерение производительности ресурса
- Измерение ресурсов, потребленных заданием
- Реализация ограничений на задания (время выполнения, объем данных)
- Кэширование загруженных файлов
- Обработка отказов
- Мониторинг текущей загрузки ресурса
- Совмещение передачи данных с вычислениями
- Реализация собственного сервера для распределения заданий
- Реализация агента для запуска заданий на кластере
Критерии оценки
TBD