Краткость - сестра таланта....
Структура системы представляет собой единый сервер и набор клиентов. Заданиями управляют специальные объекты. Имеется возможность управления заданиями через коммандную строку и из других приложений, то есть с сисемой поставляется библиотека управления заданиями (добавление, отмена и просмотр состояния). При добавлении задания для выполнения - оно ставится в очередь, а затем, при наличии свободных выполнений, выполняется. Сервер сам распределяет задания, возможность управлять этим распределением не наблюдается.
Проведя дополнительное небольшое иследование программого продукта был получен следующий список плюсов и минусов:
Поддерживается Java - 100%. Поддерживаются популярные операционные системы такие, как Windows, Solaris, Linux, Mac OS, BSD, и другие.
Довольно интересный проект, но не приспособлен для целей "TestGrid", так как нацелен на всеобщее использование в сети Ubero. Конечно, возможен запуск собственных задач, но основная часть - это участие в сети Ubero. Предоставленная документация оказалась очень "не описательной", то есть предоcтавлена в крайне малом количестве.
Система X-Com разрабатывается в НИВЦ МГУ. Предназначена для обычных настольных компьютеров. Система, видимо, не является 'open source'-ой, но распространяется в виде обычного архива.
Довольно интересная система с точки зрения реализации, но это решение нацелено в основном не вычислительные задачи (разбиение задачи на независимые работающие блоки, выдача блоков и их сбор в правильном порядке). Система собирает некоторую информацию о своих узлах, которая может меняться во время исполнения, то есть в отличие от системы Globus (расматривается не мной) к серверу могут подключаться/отключаться узлы, меняться их конфигурация (так пишут разработчики). Система не поддерживает какие-либо хранилища данных, а предназначена для распределения вычислений различных частей программы (то есть, как я понял, как будто у нас не куча разбросаных по "миру" узлов, а один большой компьютер с такой же кучкой процессоров). У системы есть две стратегии выбора (распределения) блоков, несколько выриантов проверки корректности результата: от отсутствия такой проверки до запуска одинаковых заданий на нескольких узлах. Система позволяет построить любую иерархичекую структуру серверов-исполнителей, то есть структура работы может представлять собой дерево в корне которого стоит главный сервер; в узлах промежуточные сервера, буфферизирующие данные поступающие с нижележацих уровней; в листьях - исполнители. Промежуточные сервера для нижележащих структур выглядят как главные сервера.
Переиспользование в наших целях затруднительно, и, скорее всего, даже не возможно. Основной проблемой является требование к задаче: ""Основное требование, чтобы задача позволяла разбиение на небольшие блоки фиксированного количества типов, которые бы были достаточно маленькими (несколько часов вычислений на обычной рабочей станции), это необходимо, чтобы позволять динамическое планирование."" - цитата разработчиков.
Требования:
Работа выполнено Тютюньковым Вячеславом.