Distribué Travail de planification, de gestion et de reporting

J'ai récemment eu un jouer avec Hadoop et a été impressionné de planification, de gestion et de reporting des tâches MapReduce. Il apparaît pour la distribution et l'exécution de nouveaux emplois tout à fait transparente, permettant au développeur de se concentrer sur la mise en œuvre de leurs emplois.

Je me demande si quelque chose existe dans le Java domaine de l'exécution distribué des emplois qui ne sont pas facilement exprimé comme MapReduce problèmes? Par exemple:

  • Des emplois qui exigent des tâches de coordination et de synchronisation. Par exemple, il peut s'agir de l'exécution séquentielle des tâches pourtant, il est possible d'exécuter certaines tâches simultanément:
                   .-- B --.
            .--A --|       |--.
            |      '-- C --'  |
    Start --|                 |-- Done
            |                 |
            '--D -------------'
  • CPU intensive des tâches que vous souhaitez distribuer mais ne fournit pas de sorties de réduction de la conversion d'image/redimensionnement par exemple.

Donc, il y a un framework Java/plate-forme qui fournit un environnement informatique réparti? Ou est ce genre de chose acceptable/réalisable à l'aide de Hadoop - et si oui, existe-il des modèles/lignes directrices pour ces sortes d'emplois?

OriginalL'auteur teabot | 2009-12-16