我们的工作组制作了一个模拟建筑能源性能的桌面应用程序。它是一个 .NET 应用程序,当用户运行大量模拟时,它们可能会非常耗时。模拟是完全可并行的,我们在“办公室”拥有一些非常重要的HPC计算资源。
我们的一个想法是让用户卸载我们知道运行时间很长的模拟(虽然每个单独的模拟运行大约 30-120 秒,运行大量模拟可能需要几天时间)。有没有人这样做过?如果是这样,您是否使用任何库来简化工作?值得付出努力吗?
编辑添加:
卸载模拟的单个任务将是
- 打包一个文件(大约 5Mb),
- 将其上传到我们的服务器,
- 将包分解为单独的模拟(每个大约需要 30-120 秒并且完全可并行化),模拟的数量是用户选择的选项数量(绝缘、建筑方向等)和选择的最坏情况的函数每个可能的选项都会导致大约 1E50 次模拟。运行 100 到 ~1E5 次模拟并非未知,但大多数用户将运行少于 10 次。
- 重新组装完成的模拟并下载现在更大的文件。
我们不确定要使用什么界面,因为我们的团队是新手,而且随着预算的削减,它可能会及时完成,但需要让下一个人(如果有的话)易于维护。
这个应用程序已经使用 .NET 4 并且可以扩展以使用用户拥有的所有内核(我们的开发机器有 8 个内核)。