Вычислительный агент (проект) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Новая страница, с помощью формы Новый_проект)
 
м (Какие начальные требования?)
Строка 19: Строка 19:
 
=== Какие начальные требования? ===
 
=== Какие начальные требования? ===
 
* Программирование на Python
 
* Программирование на Python
* Умение работать с Linux
+
* Умение работать с Linux (желательно)
  
 
=== Какие будут использоваться технологии? ===
 
=== Какие будут использоваться технологии? ===

Версия 17:58, 1 декабря 2014

Ментор Олег Сухорослов
Учебный семестр Весна 2015
Учебный курс 1-й курс
Проект можно развивать на летней практике



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

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

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

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

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

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

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

  • Python
  • HTTP
  • git

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

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

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

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

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

TBD