我正在开发一个数学模型,该模型使用从XFOIL生成的数据,XFOIL是一种流行的航空工具,用于查找翼型上的升力和阻力系数。
我有一个Perl脚本,它使用不同的输入参数重复调用XFOIL以生成所需的数据。我需要运行5,600次XFOIL,每次运行大约100秒,因此需要大约6.5天才能完成。
我有一台四核机器,但作为程序员,我的经验有限,我只知道如何使用基本的Perl。
我想同时运行四个XFOIL实例,每个实例都在自己的核心上运行。就像这样:
while ( 1 ) {
for ( i = 1..4 ) {
if ( ! exists XFOIL_instance(i) ) {
start_new_XFOIL_instance(i, input_parameter_list);
}
}
}
所以程序会检查(或更好的是休眠),直到有一个空闲的XFOIL实例,这时我们可以使用新的输入参数列表启动新实例。