【论文1 :BSF: A parallel computation model for scalability estimation ofiterative numerical algorithms on cluster computing systems】
本文研究了一种新的并行计算模型,称为批量同步场(BSF),该模型侧重于评估针对集群计算系统的计算密集型迭代算法的可伸缩性。该模型的主要优点是它允许在并行算法实现之前估计其可伸缩性。BSF模型的另一个重要特性是以列表的形式表示问题数据,这大大简化了构建应用程序的逻辑。在BSF模型中,计算机是由网络连接的一组处理器节点,按照主从模式进行组织。提出了BSF模型的成本度量方法。这个代价度量要求算法以对列表进行操作的形式表示。这使得我们可以推导出一个方程来预测并行程序的可伸缩性边界:处理器节点的最大数量,在此之后加速开始下降。文中给出了应用BSF模型设计和分析并行数值算法的实例。在集群计算系统上进行的大规模计算实验证实了使用BSF模型得到的分析估计的充分性。
本文提出了一种新的并行计算模型——批量同步场(bulk-synchronous farm, BSF),它是对BSP (bulk-synchronous parallel)模型的扩展。该模型的主要优点是它允许在并行算法实现之前估计其可伸缩性。BSF模型的另一个重要特性是以列表的形式表示问题数据,这大大简化了构建应用程序的逻辑。为了开发BSF模型,我们使用了一种新的方法,不仅限制了多处理器体系结构的类别,而且限制了模型允许的算法类型。BSF模型的应用范围是在集群计算系统上执行的计算密集迭代型算法。在BSF模型中,处理器节点采用主/从模式组织。BSF模型使用Map/Reduce方案并行化应用程序。我们构建了BSF模型的成本度量。该度量要求将数值方法表示为使用高阶函数Map和Reduce的列表算法。使用这个度量,、它允许我们在软件实现之前估计并行算法的可伸缩性边界。没有其他已知的模型能得出这样的方程。在BSF模型的基础上,我们利用MPI库构建了一个可编译的算法框架,该框架允许快速创建一个语法有效的BSF程序。利用这个框架,我们实现了几个迭代算法,并在一个真实的集群计算系统上进行了大规模的计算实验。在所有情况下,实验表明,利用BSF代价度量分析得到的算法可扩展性边界与实验得到的可扩展性边界非常接近。我们使用BSF模型的经验表明,在设计和分析并行算法和程序时,该模型是准确的,易于使用。
【论文2 Large Scale Field Development Optimization Using High Performance Parallel Simulation and Cloud Computing Technology 】
由于控制参数众多、模型复杂以及地下不确定性,油气田开发优化通常具有挑战性。在本研究中,我们提出了一种采用鲁棒参数化技术的油田开发和井控优化工作流程,并通过海上油田开发实例验证了该方法的应用。传统上,在考虑到储层性质的不确定性时,使用模拟模型来优化油田开发计划的时间和成本都较低。因此,通过多学科的工作流程减少控制参数的数量,从而简化了问题。在本文中,我们的目标是通过同时控制上层设施、井数、轨迹、钻井顺序和完井策略等,考虑地下不确定性和约束,优化油田开发策略。为了实现这一目标,我们使用了下一代油藏模拟器和商业云计算,探索在合理的时间和成本限制下实现优化开发方案的可能性。
我们已经将所提出的工作流程应用于奥林巴斯油田的案例中,该案例是荷兰应用科学研究组织(TNO)在北海合成油藏中建立的一个优化基准问题。我们的目标是通过控制平台的数量和位置、注入器和生产商的数量、轨迹和钻井顺序,提高20年后的净现值(NPV)。大量的控制参数和地下不确定性使得优化过程具有挑战性。对遗传算法(GA)、粒子群优化(PSO)和集成优化(EnOpt)三种优化技术进行了测试,并比较了它们的性能。采用混合整数遗传算法对净现值进行改进,得到了最佳结果。该方法需要进行上万次模拟试验,以获得最佳的井位、轨迹、钻井顺序等。这是通过使用高性能并行模拟器和云计算实现的。与优化后的资产开发计划对经济价值的提升相比,商业云服务的估算成本几乎可以忽略不计。开发的工作流程和参数化技术在井眼轨迹配置和完井设计方面非常灵活,可以应用于初次衰竭和注水开发。
对于效率敏感的应用程序,除了并行性之外,可能还需要性能改进。通常情况下,应用程序优化应该从应用程序的热点开始,热点是应用程序占用运行时间最多的部分。寻找热点的一种常见方法是分析,即分析应用程序中每个组件的运行时间和重复次数。热点中的计算过程通常具有优化的潜力,应该首先进行分析。可能的方法包括使用合适的数据结构和特色的计算算法。这些优化实现将增加开发成本和时间,应该根据应用程序的需要,在运行时间和开发时间/成本之间进行权衡。
【论文3 High-Performance Computing Based Big Data Analytics for Smart Manufacturing】
随着传感、通信、计算等技术和基础设施的快速发展,当今制造业正步入大数据时代,进入新一代数字化、智能化时代。大数据的可用性为我们推进智能制造提供了千载难逢的机遇。然而,大数据分析在制造业的部署和普及仍处于初级阶段。一个关键的挑战是缺乏高性能计算(HPC)能力,这是现代制造业响应性和智能化决策的关键。为了解决这一挑战,本文提出了一个在高性能计算环境中实现大数据分析的框架和一些通用指南。从原型到最终应用程序,整个工作流的细节都被突出显示。一个基于真实制造数据的智能三维传感案例研究,展示了所提框架的有效性。
HPC提供的优势之一是它能够执行并行计算。并行计算是一种计算类型,将大问题分成小问题,然后使用多个计算资源[24]同时解决这些小问题。有两种类型的并行化可用。多核并行化允许在一个节点中同时运行多个进程,以达到最大的核数,而多节点并行化使一个进程可以扩展到多个节点中的核总数。并行性实现的细节随着HPC平台的不同配置和所选并行算法的不同而不同。并行计算虽然提高了处理性能,但由于核心和节点之间的通信和资源竞争,也带来了系统开销。因此,调优超参数以确定并行计算的最佳设置是至关重要的。在并行化实现期间和之后,需要记录和分析的一件重要事情是实际使用的计算资源量。当计算资源的数量超过一定水平后,即使使用了高度可伸缩的算法,程序的效率也可能停止提高。此外,还需要使用算法中的超参数和计算资源的不同组合进行一系列基准测试。最终选择的设置应该在性能和所占用的资源之间取得平衡。
对于效率敏感的应用程序,除了并行性之外,可能还需要性能改进。通常情况下,应用程序优化应该从应用程序的热点开始,热点是应用程序占用运行时间最多的部分。寻找热点的一种常见方法是分析,即分析应用程序中每个组件的运行时间和重复次数。热点中的计算过程通常具有优化的潜力,应该首先进行分析。可能的方法包括使用合适的数据结构和特色的计算算法。这些优化实现将增加开发成本和时间,应该根据应用程序的需要,在运行时间和开发时间/成本之间进行权衡。
在过渡到最终应用程序期间,程序可能需要与其他编程语言组合或重写。例如,一些应用程序可能由在编程和数据科学方面背景较少的用户使用,这在制造部门非常常见,一个用户友好的界面将是有帮助的。在这种情况下,第二种编程语言可能是可取的,因为一些数据分析编程语言是为学术用途而设计的,不太支持用户界面开发。最后,所需的确切外部函数是已知的,可以用一种语言重写程序,这种语言可以为最终的应用程序提供必要的包和最佳性能。