Вычислительный агент (проект)

Материал из Wiki - Факультет компьютерных наук
Версия от 17:56, 1 декабря 2014; OlegSukhoroslov (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
Ментор Олег Сухорослов
Учебный семестр Весна 2015
Учебный курс 1-й курс
Проект можно развивать на летней практике



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

Целью проекта является реализация вычислительного агента - программы, позволяющей удаленно запускать расчеты на вычислительном ресурсе (ПК, сервере, кластере). Агент выполняется в фоновом режиме на ресурсе и связывается по сети с сервером, который назначает вычислительные задания. Для каждого назначенного задания агент выполняет загрузку входных данных, запуск заданной команды, мониторинг запущенного процесса и передачу на сервер выходных данных. Подобные агенты являются одним из элементов архитектуры многих систем распределенных вычислений, позволяющих, например, проводить расчеты на простаивающих персональных компьютерах.

Чему вы научитесь?

  • Знакомство с распределенными вычислительными системами
  • Работа с потоками и внешними процессами
  • Реализация сетевого взаимодействия на уровне протокола HTTP

Какие начальные требования?

  • Программирование на Python
  • Умение работать с Linux

Какие будут использоваться технологии?

  • Python
  • HTTP
  • git

Темы вводных занятий

  • Распределенные вычислительные системы

Направления развития

  • Измерение производительности ресурса
  • Измерение ресурсов, потребленных заданием
  • Реализация ограничений на задания (время выполнения, объем данных)
  • Кэширование загруженных файлов
  • Обработка отказов
  • Мониторинг текущей загрузки ресурса
  • Совмещение передачи данных с вычислениями
  • Реализация собственного сервера для распределения заданий
  • Реализация агента для запуска заданий на кластере

Критерии оценки

TBD