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