Nosso grupo de trabalho produz um aplicativo de desktop que simula o desempenho energético da construção. É um aplicativo .NET e, quando o usuário está executando muitas simulações, pode consumir bastante tempo. As simulações são totalmente paralelizáveis, e temos alguns recursos de computação HPC muito significativos no "escritório".
Uma idéia que tivemos é permitir que os usuários descarregem simulações que sabemos que serão muito demoradas (enquanto cada simulação individual executa cerca de 30 a 120 segundos, a execução de um grande número de simulações pode levar vários dias). Alguém já fez isso antes? Em caso afirmativo, você usou alguma biblioteca para facilitar o trabalho? Valeu a pena o esforço?
editado para adicionar:
Tarefas individuais para descarregar a simulação seriam
- empacotar um arquivo (cerca de 5 Mb),
- enviá-lo para nossos servidores,
- decompondo a embalagem em simulações individuais (cada uma leva cerca de 30 a 120 segundos e é totalmente paralelizável), o número de simulações é uma função do número de opções selecionadas pelo usuário (isolamento, orientação do edifício etc.) e o pior caso de seleção todas as opções possíveis resultariam em simulações de 1E50. A execução de simulações de 100 a ~ 1E5 não é desconhecida, mas a maioria dos usuários executa menos de 10.
- remontando as simulações concluídas e baixando o arquivo agora muito maior.
Não temos certeza de qual interface usar, pois nosso grupo é novo e, com cortes no orçamento, pode ser concluído a tempo, mas precisa ser fácil para as próximas pessoas (se houver) manterem.
Este aplicativo já usa o .NET 4 e pode ser expandido para usar todos os núcleos que o usuário possui (nossas máquinas de desenvolvimento têm 8 núcleos).