O Condor, o OGE e o Torque podem levá-lo até lá, mas apenas o Condor possui gerenciamento de dependência integrado com sua ferramenta DAGMan . O DAGMan permite configurar um gráfico acíclico direcionado que descreva seu fluxo de trabalho e o gerente se encarrega de percorrer os trabalhos em seu fluxo de trabalho e avaliar os 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 executar uma etapa filha no AIX quando o pai executou no Linux ou Windows. O DAGMan não se preocupa com o local onde os trabalhos são executados, apenas com os códigos de saída que passam ou falham.
Alguma dica para escolher o software ou se é melhor ir de código aberto ou comercial?
Com algumas ressalvas, acho que vale a pena observar as comunidades livres nesse espaço.
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 para o GE SCC, mas existem vários bifurcações do código que estão tentando ser utilizadas como projetos de código aberto e gratuitos. A Univa, em particular, liderou o processo , contratando desenvolvedores ex-Sun GE para continuar trabalhando em uma variante GE de código aberto e disponível gratuitamente. O Grid Engine tem duas coisas a seu favor: é fácil de configurar, ele pode lidar com trabalhos de execução curta (<2 minutos) sem transmitir muita sobrecarga de agendamento nos trabalhos que diminuem a produtividade. Sua grande desvantagem é que não há um suporte muito bom para o Windows. Alguns de nós se esforçam para portá-lo para rodar em Cygwin há muitos anos, mas com certeza não é tão bom quanto o nativo.
Agora, o Condor é o meu favorito das três tecnologias que você mencionou. Existe uma comunidade forte em torno do Condor e o software é muito maduro (> 20 anos agora). O suporte nativo ao Windows e ao sistema operacional POSIX significa que ele roda por todo o lugar muito bem. O mencionado DAGMan é apenas uma das muitas grandes peças que acompanham o Condor. Pode ser um pouco complicado de configurar, mas uma vez instalado e funcionando, é sólido. Ele possui uma linguagem incrivelmente flexível para realizar a correspondência de máquinas <-> e criar regras de uso para seus recursos. Ele também oferece suporte ao provisionamento dinâmico em máquinas, permitindo que os trabalhos selecionem a quantidade de recursos de máquinas necessários e, em seguida, anunciando 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, possui o DAGMan, que é uma ferramenta incrivelmente poderosa para gerenciamento de fluxo de trabalho. A desvantagem do Condor é que a sobrecarga de agendamento para trabalhos de curta duração pode ser onerosa. O ideal é que os trabalhos sejam executados por mais de 2 minutos, 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 que ao Condor. Existem complementos pagos que a @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, o CycleCloud pode criar pools seguros, virtualizados e pré-configurados com Condor, GridEngine ou Torque - para que você não perca tempo tentando descobrir essas coisas. da sua parte. Seriam alguns dólares para montar pequenos pools de cada tecnologia e experimentá-los com cargas de trabalho representativas. (Aviso: trabalho para a Cycle Computing, criamos a CycleCloud)