Распределенное планирование работы, управление и отчетность
Я недавно поиграл сHadoop и был впечатлен этимпланирование, управление и отчетность по заданиям MapReduce. Похоже, что распределение и выполнение новых заданий довольно плавное, что позволяет разработчику сконцентрироваться на реализации своих заданий.
Мне интересно, существует ли что-либо в домене Java для распределенного выполнения заданий, которые не так легко выразить как проблемы MapReduce? Например:
Задания, требующие координации и синхронизации задач. Например, они могут включать последовательное выполнение задач, но выполнимо выполнять некоторые задачи одновременно:
.-- B --.
.--A --| |--.
| '-- C --' |
Start --| |-- Done
| |
'--D -------------'
Процессорные задачи, которые выЯ хотел бы распространять, но не• Предоставить любые выходные данные для уменьшения - например, преобразование / изменение размера изображения.
Так есть ли инфраструктура / платформа Java, которая обеспечивает такую распределенную вычислительную среду? Или такие вещи приемлемы / достижимы с помощью Hadoop - и если да, есть ли какие-то шаблоны / рекомендации для такого рода работ?