Condor, OGE e Torque podem levá-lo até lá, mas apenas o Condor tem gerenciamento de dependências integrado com o Ferramenta DAGMan . O DAGMan permite que você configure um gráfico acíclico dirigido que descreva seu fluxo de trabalho e o gerente cuide da movimentação de trabalhos em seu fluxo de trabalho e avaliação dos resultados de aprovação / reprovação em cada etapa do fluxo. O Condor é relativamente independente de plataforma, o que significa que o DAGMan também é, e certamente você pode ter uma etapa filho executada no AIX quando o pai é executado no Linux ou no Windows. O DAGMan não está preocupado com o local de execução dos jobs, apenas com os códigos de saída aprovados ou reprovados.
Any tips for choosing the software or whether it is better to go open source or commercial?
Com algumas ressalvas, acho que as comunidades livres neste espaço valem bem a pena olhar.
OGE está em um espaço estranho agora. Não é mais livre executar a variante GE produzida pela Oracle, e a Oracle não está mais contribuindo com o código que grava de volta no GE SCC, mas existem vários garfos do código que estão tentando se consolidar como projetos livres e de código aberto. A Univa, em especial, liderou a cobrança , contratando ex-Sun GE para continuar trabalhando em uma variante GE de fonte aberta, disponível gratuitamente. O Grid Engine tem duas coisas para isso: é fácil de configurar, ele pode lidar com trabalhos de curta duração (< 2 minutos) sem transmitir muita sobrecarga de agendamento nos trabalhos que reduz a taxa de transferência. A grande desvantagem é que não há suporte muito bom para o Windows. Alguns de nós nos esforçamos para portá-lo para rodar no Cygwin há muitos anos, mas não é tão bom quanto o nativo, com certeza.
Agora Condor é o meu favorito das três tecnologias que você mencionou. Há uma comunidade strong em torno da Condor e o software é muito maduro (> 20 anos agora). O suporte nativo para Windows e POSIX OS significa que ele é executado em todo o lugar muito bem. O DAGMan acima mencionado é apenas uma das muitas grandes peças que vêm com o Condor. Pode ser um pouco complicado de configurar, mas uma vez instalado e funcionando, é sólido. Tem uma linguagem incrivelmente flexível para fazer o trabalho < - > correspondência e construção de regras de uso para seus recursos. Ele também suporta o provisionamento dinâmico em máquinas, permitindo que os trabalhos selecionem quantos recursos de máquinas eles precisam e, em seguida, anunciar novamente a diferença como ainda disponível. Ele suporta contadores de recursos globais para que você possa restringir coisas como licenças de software. E, claro, tem DAGMan, que é uma ferramenta incrivelmente poderosa para gerenciamento de fluxo de trabalho. A desvantagem para a Condor é a sobrecarga de programação para trabalhos de curta duração pode ser onerosa. Você deseja que os trabalhos sejam executados por mais de 2 minutos de maneira ideal, caso contrário, o agendamento começa a se tornar uma grande parte do tempo do trabalho no sistema.
Torque é um pouco mais de nicho. Eu sei menos sobre isso, eu tenho medo. Ele se compara mais ao Grid Engine do que ao Condor. Existem complementos pagos que o @warren mencionou que podem expandir o que o Torque básico e gratuito pode fazer.
Se você quiser experimentar as três tecnologias e ver como elas funcionam com suas cargas de trabalho específicas, CycleCloud pode ficar seguro, virtualizados, pools que são pré-configurados com Condor, GridEngine ou Torque - então não há tempo gasto em descobrir essas coisas de sua parte. Seriam alguns dólares para criar pequenos pools de cada tecnologia e testá-los com cargas de trabalho representativas. (Disclaimer: Eu trabalho para a Cycle Computing, nós fazemos CycleCloud)