网格计算技术在大规模CFD计算上的应用
CFD气流模拟仿真的基本步骤及网格的作用

模拟仿真的基本步骤及网格的作用一、基本步骤对物理环境和物理场景的模拟的基本步骤是一致的,大致分成如下四个过程:3D模型的输入和物理设定网格剖分求解数据分析和可视化这四个步骤,使用计算机的视角来观察世界的一个模式。
下面我们分别在阐述这四个步骤的作用。
二、具体步骤阐述(1)3D模型的输入和物理设定例如,我们要模拟一辆汽车在道路上以140公里每小时的速度行驶,这辆汽车所收到空气的阻力。
那么,第一步,我们需要将汽车结构的数据输入到电脑。
这个汽车结构的数据就是我们通常所说的3D模型。
同时,我们还需要给这个汽车一个形式的空间。
通常,由于模拟数据是和风洞试验对比的,我们仍然称这个空间为风洞,只是为了区分,我们称之为数值风洞。
因为它是虚拟的。
风洞的形状通常会是一个方形的。
这样就准备好了我们需要的在结构上的数据。
但是如何和实际的汽车行驶对应起来呢?我们还需要告诉计算机哪个模型是汽车,哪个模型是风洞,他们对应现实中的什么物理特性?例如汽车的轮子是旋转的,汽车的表面会阻碍风的流动等等。
这个步骤称为物理设定。
(2)网格剖分刚才我们已经在计算机里输入了3D模型,并且做了物理属性的设定。
实际上在风洞内包含了风洞的墙,汽车的表面,还有空气。
这些物质的运动是我们需要模拟的。
为了模拟出这些物质的运动,我们需要把这个空间拆分成数千万的小多面体。
每个多面体对应这些物质的一部分,然后进行计算。
将这个空间拆分成数千万小多面体并与物质对应起来的过程,称为网格剖分。
而剖分出来的表征空间和物质的千万个小多面体整体称为网格。
(3)求解有了3D模型,有了物理特性,有了网格剖分,我们就可以建立数学模型实际上是一个方程,进行求解。
这个过程,我们也称为求解。
求解之后,我们就可以获得这个方程的一个解。
这个解,我们可以理解成一个通俗的说法,就是答案。
因为我们希望通过计算的计算来得到汽车在公路上行驶的时候,它的气流分布的答案。
(4)数据分析与可视化经过求解之后,我们获得的答案是一堆数据。
基于网格划分的计算流体力学模拟研究

基于网格划分的计算流体力学模拟研究在工程领域,计算流体力学(Computational Fluid Dynamics,简称CFD)已成为一种常见的分析工具,主要用于模拟流体的运动和相应变化,对工程设计和制造等过程进行优化和改进。
在CFD模拟中,网格划分是非常关键的一个环节,它决定了模拟结果的准确性和计算效率。
本文将重点探讨基于网格划分的CFD模拟,并对其研究意义和应用前景进行深入阐述。
1、CFD模拟的基本原理CFD模拟是一种基于数值方法的分析技术,它通过数值模拟来解决流体力学问题。
CFD模拟的基本原理是将流体运动的方程通过数值离散化的方法,转化为一个求解差分方程组的计算问题。
通常采用有限元、有限体积或有限差分等数值方法,将物理问题转化为离散的数值问题。
CFD模拟的基本步骤包括:建立模型、离散化、求解数值方法、结果后处理等。
2、网格划分在CFD模拟中的重要性CFD模拟的计算精度和计算效率都与网格划分有关。
网格划分影响着模拟结果的精度和计算速度,目前工程领域中常用的网格划分方法主要包括结构化网格和非结构化网格两种。
结构化网格是一种规则网格划分方法,具有较高的计算效率和精度,适用于处理简单的几何形状。
非结构化网格则是一种给定形状的无规则网格划分方法,适用于复杂的几何形状。
非结构化网格的精度较高,但计算效率被约束。
根据不同的工程需求和实际问题,选择合适的网格划分方法是为了获得最优的计算精度和计算效率。
3、基于网格划分的CFD模拟研究应用场景在工程领域,CFD模拟广泛应用于飞行器、汽车、船舶、建筑等领域中的气体和流体流动分析。
其中,航空航天领域是CFD模拟的重要应用领域之一,飞行器的气动力学分析、热力学分析和马赫数相关分析等都需要CFD模拟的支持。
另外,在汽车、船舶领域中,CFD模拟也发挥着重要作用,例如汽车外形优化、飞跃撞波的分析等。
4、CFD模拟研究的发展趋势和前景展望随着科技的发展,CFD模拟技术得到了广泛的研究和应用。
CFD 计算对计算网格有特殊的要求

CFD 计算对计算网格有特殊的要求,一是考虑到近壁粘性效应采用较密的贴体网格,二是网格的疏密程度与流场参数的变化梯度大体一致。
对于面网格,可以设置平行于给定边的边界层网格,可以指定第二层与第一层的间距比,及总的层数。
对于体网格,也可以设置垂直于壁面方向的边界层,从而可以划分出高质量的贴体网格。
而其它通用的CAE 前处理器主要是根据结构强度分析的需要而设计的,在结构分析中不存在边界层问题,因而采用这种工具生成的网格难以满足CFD 计算要求,而Gambit 软件解决了这个特殊要求。
如果先在一条边上画密网格再在之上画边界层,边界层与网格能很好的对应起来如果直接在一条边上画边界层,则边界层横向之间的距离很宽怎么设置边界层横向之间的距离,即不用先画网格也能画出横向距离很密的边界层来?在划分边界层网格之前,用粘性网格间距计算器,计算出想要的y+值对应的第一层网格高度;第一层高度出来之后,关于网格的纵横向网格间距之比,也就是边界层第一层网格高度与横向间距之比,大概在1/sqrt(Re),最为适宜;先在你要划边界层网格的边上划分线网格,然后再划分边界层。
gambit本人也用了一段时间,六面体网格四面体网格我都画过,但是最头疼的还是三维边界层网格的生成。
用gambit自带的边界层网格生成功能画出来的边界层网格经常达不到好的效果,或者对于复杂的外形根本就无法生成边界层网格。
为此我就采用手动设置边界层,但是比较费时间,效果还一般。
不知道大家是不是也遇到相似的问题,或者有更好的方法,请指点一下,先谢谢了!22 什么叫松弛因子?松弛因子对计算结果有什么样的影响?它对计算的收敛情况又有什么样的影响?1、亚松驰(Under Relaxation):所谓亚松驰就是将本层次计算结果与上一层次结果的差值作适当缩减,以避免由于差值过大而引起非线性迭代过程的发散。
用通用变量来写出时,为松驰因子(Relaxati on Factors)。
结构网格CFD应用程序在天河超级计算机上的高效并行与优化

结构网格CFD应用程序在天河超级计算机上的高效并行与优化IntroductionComputational Fluid Dynamics (CFD) has become an essential tool in modern engineering applications. It involves the numerical simulation of fluid flow and heat transfer through complex geometries based on the Navier-Stokes equations. In recent years, the computing power of High-Performance Computing (HPC) systems has significantly increased, enabling the simulation of complex problems with finer resolutions and greater accuracy. This paper describes the efficient parallelization of a structured grid CFD application on the Tianhe-2 supercomputer, along with optimization techniques to achieve the best performance.Structured Grid CFD ApplicationStructured grid methods are widely used in CFD applications, where the computational domain is divided into a set of regular grid cells. The structured grid provides a uniform resolution throughout the domain, allowing for accurate modeling of the flow and minimizing the numerical error. The CFD application used in this study is a structured grid solver for incompressible Navier-Stokes equations. The numerical method used is a second-order accurate finite volume method on a collocated grid. The equations are solved using an iterative method, such as the SIMPLE algorithm, which involves solving a set of algebraic equations for eachgrid cell.High-Performance Computing on Tianhe-2Tianhe-2 is a supercomputer located in Guangzhou, China, with a peak performance of 54.9 Petaflops. It consists of 16,000 nodes, each with two Intel Xeon Ivy Bridge processors and three Xeon Phi coprocessors. The nodes are interconnected by a high-speed network, allowing for efficient communication between nodes. The Tianhe-2 supercomputer is an ideal platform for large-scale CFD simulations due to its vast computational power.ParallelizationEfficient parallelization is essential for achieving high performance on a supercomputer. The structured grid CFD application has been parallelized using Message Passing Interface (MPI) to exploit parallelism across multiple nodes. Each node is responsible for a subset of the grid cells, and the computation is divided evenly between them. The communication between nodes is handled using the MPI Alltoall collective communication function for exchanging boundary values. Load balancing is critical for efficient parallelization, and an efficient load balancing algorithm is required to achieve optimal performance.Load BalancingThe load balancing algorithm used in this study is the Recursive Coordinate Bisection (RCB) algorithm. It divides the computational domain recursively into two using a set of planes perpendicular to the coordinate axes. The planes are chosen to ensure that the number of grid cells on either side of the plane is roughly equal. This process is repeated until each node is assigned a reasonably balanced subset of thegrid cells. The RCB algorithm is simple to implement and hasbeen shown to provide efficient load balancing for a wide range of applications.Optimization TechniquesSeveral optimization techniques have been used toimprove the performance of the structured grid CFDapplication on Tianhe-2. These optimizations involveminimizing the communication overhead, reducing the computational time, and improving memory utilization.Communication OverheadMinimizing the communication overhead is critical for efficient parallelization. The MPI Alltoall function used for exchanging boundary values involves communication between all nodes and can become a bottleneck for large-scale simulations. To minimize this overhead, a two-level communication strategy has been implemented. The first level involves communication between neighboring nodes using the MPI Send and Receive functions, while the second level involves the MPI Alltoall function for exchanging boundary values between non-neighboring nodes. This two-level communication strategy has been shown to reduce the total communication timesignificantly.Computational TimeReducing the computational time required for eachiteration is crucial to achieving high performance. One optimization technique used in this study is loop unrolling. Loop unrolling involves manually increasing the number of iterations executed in each loop, reducing the number of loop instructions and improving cache utilization. Another optimization technique is temporary Array Elimination. This technique involves eliminating unnecessary temporary arrays used for intermediate calculations, reducing the memoryaccessed during computation and improving cache utilization.Memory UtilizationThe efficient utilization of memory is essential for optimal performance. One optimization technique used in this study is memory alignment. Memory alignment involves aligning data structures to the size of the cache line, allowing for efficient memory access and reducing cache misses. Other techniques include loop blocking and loop tiling, which involve partitioning large loops into smaller ones, reducing the amount of memory accessed during computation and improving cache utilization.ConclusionIn conclusion, the efficient parallelization and optimization of a structured grid CFD application on the Tianhe-2 supercomputer have been described. The software has been parallelized using MPI, and the RCB algorithm has been used for load balancing. Optimization techniques such as loop unrolling, temporary Array Elimination, memory alignment, loop blocking, and loop tiling have been used to achieve the best performance. The optimized software has been tested on various problem sizes and shown to scale well up to 8000 nodes, achieving a parallel efficiency of 83%. The optimizations described in this paper can be applied to other similar CFD applications, allowing for efficient use of supercomputers for large-scale simulations.。
网格计算法在实际测量中的应用

网格计算法在实际测量中的应用1. 引言1.1 介绍网格计算法网格计算法是一种数值分析方法,广泛应用于各种科学领域中。
它通过将研究区域划分为规则的网格单元,然后对每个单元进行计算和求解,从而得到整个区域的数值结果。
这种方法的特点是能够有效地处理复杂的数学模型,同时具有较高的精度和稳定性。
在实际测量领域中,网格计算法可以帮助研究人员快速准确地进行数据处理和分析。
通过将实际测量数据输入到网格计算模型中,可以进行各种复杂的数值运算,从而得到更加准确和可靠的结果。
这种方法不仅可以帮助科研人员快速解决实际测量中遇到的难题,还可以为实际测量领域的发展提供新的思路和方法。
网格计算法在实际测量领域中具有重要的应用价值和广泛的发展前景。
通过不断地改进和完善这种方法,我们可以更好地应对复杂的实际测量问题,促进实际测量技术的进步和发展。
1.2 引入实际测量领域实际测量是现实生活中非常重要的一项工作,它涉及到地质勘探、气象预测、医学影像处理、工程测量等众多领域。
在实际测量中,准确的数据和信息是至关重要的,而网格计算法的应用为实际测量提供了一种高效、精确的计算方法。
通过网格计算法,我们可以更加准确地对实际测量中的复杂数据进行处理和分析,从而得到更加可靠的结果。
在地质勘探中,网格计算法可以帮助我们模拟地下结构,找出潜在的矿藏资源;在气象预测中,可以通过网格计算法对大气环流进行模拟,提高气象预测的准确性;在医学影像处理中,可以利用网格计算法对医学影像进行分析和处理,帮助医生更好地诊断病情;在工程测量中,可以通过网格计算法对建筑物结构进行模拟和分析,确保工程质量。
网格计算法在实际测量中的应用是非常广泛的,它为实际测量提供了一种高效、精确的计算方法,为实际测量工作的开展提供了重要的支持和保障。
展望未来,随着技术的不断进步和发展,网格计算法在测量领域的应用将会越来越广泛,为实际测量工作带来更多的技术创新和发展机遇。
2. 正文2.1 网格计算法原理及特点网格计算法(Grid Computing)是一种基于计算资源共享的计算模式,通过将多个计算资源(包括计算机、存储和网络等)整合在一个虚拟的分布式系统中,实现对大规模数据和复杂计算任务的高效处理。
超大规模结构网格CFD数值模拟的初步研究

超大规模结构网格CFD数值模拟的初步研究在科技的海洋中,计算流体动力学(CFD)如同一艘精密的航船,它承载着科学家们对流体世界未知领域的探索梦想。
随着计算机技术的飞速发展,超大规模结构网格CFD数值模拟成为了这一领域中的新星,其光芒逐渐照亮了流体力学的未来。
首先,让我们来探讨一下超大规模结构网格CFD数值模拟的重要性。
在传统的CFD模拟中,由于计算资源的限制,我们往往只能对有限的区域进行模拟,这就像是在茫茫大海中只观察一滴水一样,虽然可以得出一些结论,但总是缺乏全局的视角。
而超大规模结构网格的出现,就像是给我们配备了一副望远镜,使得我们可以从更广阔的角度去观察和理解流体的行为。
然而,超大规模结构网格CFD数值模拟并非没有挑战。
它的计算量巨大,对计算机的性能要求极高,这就像是驾驶一艘巨轮穿越汹涌的海浪,需要有足够的动力和稳定性才能确保航行的安全。
此外,随着网格数量的增加,数值误差也会累积,这就需要我们像精密的钟表匠一样,对每一个细节都进行精确的调整和控制。
在实际应用中,超大规模结构网格CFD数值模拟已经展现出了其强大的能力。
在航空航天领域,它可以帮助我们更准确地预测飞行器周围的气流分布;在气候变化研究中,它可以模拟全球范围内的气候系统;在能源开发中,它可以优化风力发电机的设计。
这些应用就像是一颗颗璀璨的明珠,镶嵌在科技发展的皇冠上。
但是,我们也必须看到,超大规模结构网格CFD数值模拟还处于初级阶段,它的潜力还远远没有被完全挖掘出来。
我们需要更多的研究来提高其精度和效率,需要更多的创新来解决目前存在的问题。
这就像是一场马拉松比赛,我们现在只是刚刚起步,前方的道路还很长。
在未来的发展中,超大规模结构网格CFD数值模拟将会与人工智能、大数据等技术紧密结合,形成更为强大的工具。
它将会在更多的领域发挥作用,比如在环境保护、生物医学、材料科学等方面,都将有其独特的贡献。
这就像是一场科技的革命,将会改变我们对世界的认知和利用方式。
大规模多区结构网格CFD应用的高效并行模拟技术

大规模多区结构网格CFD应用的高效并行模拟技术王勇献1*, 张理论1, 刘巍1, 车永刚1, 徐传福1, 王正华1(1 国防科学技术大学计算机学院, 湖南长沙410073)摘要本文就多区结构网格上的大规模CFD流场模拟的高效并行方法进行了研究,并讨论了在天河超级计算机上与运行时相关的性能提升措施,测试结果表明该并行实现可获得了较大的性能提升。
关键词计算流体力学; 多区结构网格; 并行计算; MPI+OpenMP; CPU核绑定1 引言近年来,随着计算流体力学(CFD)方法的不断突破和计算机技术的快速发展,基于CFD 的数值模拟方法开始越来越多地被应用到航空航天飞行器的研究和设计当中,成为航空航天飞行器研制的有力工具。
为了提高CFD数值模拟的计算规模、计算效率,更好地满足工程设计、科学研究等目标,CFD数值模拟代码通常需要并行计算,以便充分利用高性能计算机的强大并行处理能力。
CFD数值模拟代码的计算核心是求解器,其中包括CFD的模型离散、计算格式等。
CFD程序读入由前处理产生的网格数据后,根据给定的流场初始条件进行初始化,最终通过求解器对流动方程获得流场变量的数值模拟结果。
CFD求解器通常是整个程序中计算量最大最为耗时的部分,其并行实现直接影响了CFD程序的整体性能,是CFD并行研究的主要对象。
传统的并行CFD程序采用区域分解方式,根据高性能计算机特点,可以实现为共享存储或消息传递并行程序,不同区域在不同进程或线程上运行求解器,获得每个时间步的流场结果后需要对区域之间的边界进行信息交换。
在利用CFD进行大规模流场的并行数值计算过程中,需要综合考虑CFD应用特点和高性能计算机体系结构,以获得最佳的模拟性能。
除了传统并行数值模拟应用中的负载平衡、任务分配等因素外,本文试图从优化配置并行应用的运行时环境这一视角出发,探索CFD应用软件与高性能计算平台的最优适配策略,同时考虑超大问题规模并行数值计算中的容错等新问题,研究相应解决方案,最终实现大规模多区结构网格CFD应用的高效并行数值模拟。
网格与CFD求解精度的关系

• Hex, Tri, Quad: 大多数网格的EquiAngle Skew 应该低于0.85。 • Tetrahedral: 大多数网格的EquiAngle Skew 应该低于0.9, 对于某些简单物理问题可以更大。 对于关键区域网格的Size Change应该低于2, 实际尺寸变化要视所研究的物理现象而定。
R
c
Circumscribed circle
b
e2
ac 2 bd 2
21
网格质量 – Diagonal Ratio
Diagonal Ratio 指标 (QDR) 仅用于Quad和Hex网格,定义如下:
QDR max d1, d 2 , , d N min d1, d 2 , , d N
c1 c0
node值是cell值的加权平均
7
FLUENT中的有限体积法(6)
面值计算
Green-Gauss
FLUENT默认 相邻网格中心点的代数平均 计算量较小,准确度可以接受
Cell-Based method
Green-Gauss
Node-Based method
所求解的面上各节点值的代数平均 节点值取作周围网格单元值的代数加权平均 当非结构化网格时,比Cell-Based 更准确
Coarse mesh (228 cells)
medium mesh (912 cells)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3 CFD网格计算软件运行
我们采用Java平台编制了CFD网格计算管理 软件具体实现了上述功能,CFD计算软件采用中国 空气动力研究与发展中心开发的高超平台软件。图 4给出了网络计算资源的Web界面。界面给出了网 络资源的节点地址、可运行程序的列表、运行状态等 等。节点状态分为开放、关闭和运行状态。当状态为 绿色时候,表示该节点上面正在运行任务,后面给出 运行的任务名称。
摘要:针对大规模数值计算规模化管理的难题。采用网格计算技术将网络环境下分散的计算资源组建了CFD网
格计算环境.采用主动接入方式,以中心服务器为核心的网格计算管理和服务模式。构建CFD网格计算环境·实
现了CFD计算在网格环境内的自动化计算管理,提高了计算资源的利用效率,降低了设计人员的劳动强度.
关键词:网格计算;CFDI大规模计算
中圈分类号:V211.3
文献标识码:A
0引 言
随着CFD技术的日益成熟,计算能力的高速增 长,计算资源的成本快速降低,CFD计算技术在现代 飞行器的气动设计中能够发挥越来越大和越来越深 刻的作用[1】。目前,所面临的最大问题不再是计算资 源的不足,而是如何利用好、管理好庞大的计算资源, 发挥出高性能计算资源应有的作用。两个突出的瓶 颈问题是网格生成技术和计算过程的管理和调度仍 然处于手工状态,已经不适应CFD大规模化的需求, 阻碍了CFD技术在工程设计上的应用c2]。如果不重 视和解决这些问题,计算资源的高速增长并不会必然 带来CFD计算质量和计算效率的双重提高。
美国是世界上信息资源最发达的国家,NASA 很早就面临大规模计算引入工业设计系统的障碍。 为此,NASA在2001年开展了CICT计划,其目的就 是确保NASA在融合数字技术方面继续保持领先地 位。其中的CNIS(Computing,Networking and In- formation Systems)子计划的核心就是试图将地面、 空中和太空中的各种分布式信息资源整合在一起, CFD计算人员能够方便地进入和利用这些信息资 源,同时资源对工程科研人员又是透明的。这样将利 用计算资源和管理计算资源分开,在提高保密性的同 时降低了普通用户利用资源的难度,使其可以将精力 放在他们需要勰决的问题上。该计划当时提出的里 程碑式目标是:借助新技术的应用,在7天时间内,能
...高效。网格通过集中管理和调度,提高现有计 算设备的使用率,可以有效降低用户平均等待时间, 实现总体计算成本的降低。
下面将介绍我们如何利用网格计算技术,构建 CFD网格计算环境的技术路线。
2 CFD网格计算结构框架
图1给出了所用网格结构框架图。一台独立服 务器作为中心管理器,其作用为:①掌握各种计算资 源的状态,②接受来自用户端提交的各种计算任务和 指令,③向各个可用资源调配计算任务,④监控计算 任务的进程状态。中心服务器上还需要建立一个数 据库,存储各种信息。数据库由5个关联数据库表组 成,表1给出了数据库采用的关系数表和相对应的功 能。数据库包含5个表格,分别存储和管理用户基本 信息、计算资源信息、用户提交任务信息、不可分割的 最小计算任务信息和计算资源上所能提供的计算服 务信息。上述5个数据库构成了进行计算任务管理 和调度的基础信息。
图5用户工作界面 Fi&5 Uset operation interface
图7答错机碉 Fig.7 Fauh-tolerant mechnaism
第27卷
行计算任务管理和调度的基础信息。 图2给出了网格计算基本功能的模块结构图。
网格计算的任务流程如下:
一一一
~| 湖息中心
_ .l
h■日口■ ■●■
图2冈格计算基本功能模块 Fig.2 Element function module for grid computation
1.Portal为用户提供了浏览器方式的操作界面, 选择工作的处理软件,并通过Web网页接口提交工 作模版和任务列表。整个Portal采用静态html和 Java Servlet相结合的技术,实现前端与后端的跨平 台无缝结合。考虑到这是一个实验性网格系统,所管 理的计算资源不会超过100个节点。服务器的负载 测量不大,直接用apache-tomcat作为Web Server及
第Z7卷第6期 2009年1 2月
文章编号l 0258-182512009)06-0696—05
空气动力学学报VoI.27.No.6
ACTA AERoDYNAMlCA SINICA
Dec.,2009
网格计算技术在大规模CFD计算上的应用
蔡巧言1,杜 涛2
(1.西北工业大学航空学院,西安71007212.中国运载火箭技术研究院研究发展中心,北京100076)
图4网络计算资源界面
Fig.4 Computation fe翻孤l凇inter/ace of grid computation 计算资源并非CFD专用机器,只在空闲时间做 为CFD计算资源接入网格系统。因此在计算资源上 加装了一个触发器软件,打开前端触发器,该计算资源 才被接入CFD网格计算系统,供CFD计算调度使用。 图5给出了用户工作界面。界面上列出了保存 在数据库中的,用户已经完成的任务和正在运行的任 务。每个工作任务的ID必须唯一指定,绝对不能重 复,这里采用了lD名中含有任务上载时刻距离1970 年1月1日的秒数,保证ID的唯一性。界面上同样 给出了工作的状态。可以手工对任务进行操作:删 除、暂停和下载任务。每个ID任务可以指定任务的 级别,级别越高的任务将优先计算,最高级别的任务 可以强行抢占所有可用资源,随着任务级别的降低, 任务获取计算资源的机会逐渐降低。 ID并不是可执行任务的最小单位,ID只是提交
Fig.1
圈1 网格计算框架结构图 Framework chart for grid computation
裘l数据库衰 TabIe l Table of databme
编号数据库表格
功能
不可分割的最小计算任务信息和计算资源上所 能提供的计算服务信息。上述5个数据库构成了进
万方数据
698
空气动力学学报
日本是世界上最重视CFD技术在航天工程领域 应用的国家。从20世纪90年代起,JAXA用于CFD 计算的专用计算机的计算能力一直排名全球高性能 计算机的前几名,甚至一度排名世界第一[5]。JAXA 认为计算任务的调度和管理是高效率高运行巨型计 算资源的关键性问题[1]。为此,他们在十万亿次量级 的第三代的Numerical Simulator(NS--III)开发了智 能化的任务调度系统NsJS(Numerical Simulator Job Scheduler)系统,采用统一的方式有效地降低了 管理队列和资源方面的浪费[1]。
Servlet Container;
2.中心节点收到用户请求,对任务进行前期处 理,生成一个任务事件Tasklnfo,将其交给Root- Node的任务管理模块处理。任务管理模块将Task 按照优先级插入到任务队列TaskQueue中,
3.系统循环地每次从队列当前指针位置取下一 个任务进行处理,处理失败后将该任务移至对尾;处 理成功则将该任务的分配信息添加到Root节点维 护的已分配任务向量数组中,然后更新数据库中的 Tasks表,设置分配时间,最后将分配的原子任务发 送到相应的计算节点,同时启动对该task的监控线 程,管理过程见图3I
从队列取任务
<愈 I 坌墼壁釜 圭!曼墨
.
分配信息加入 TasksDispatchcdj
■二二二I二二
I 更新数据库
发送任务到计算节点
ቤተ መጻሕፍቲ ባይዱ任务链入队尾
曼
图3任务调度流程示意图
随3 Sketch map of umk嘲ignment flow
4.底层网格计算节点接收到中心节点分配的原子
任务,分解任务然后调度软件执行计算处理,计算过程 中响应中心节点的一些任务监测请求,返回相关信息 并定期返回计算中间结果,计算结束后返回结果;
首先我们从计算的专业角度来分析工程型号设 计所需要的大规模CFD计算任务的特点:
...属于计算密集型应用,CPU资源消耗量高, 单次作业计算时间长,任务可分割、且没有频繁通信;
...传统的单机作业排队运算会造成负载不均衡, 一台机器为很多作业提供服务时,其他机器却空闲, 系统的整体效率不高,
.:◆普通的计算环境缺乏整体管理和统一协调,不 能很好地在不同任务和用户之间协调,资源无法充分 利用,用户平均等待时间较长I
万方数据
第6期
蔡巧言等:网格计算技术在大规模CFD计算上的应用
697
1 CFD应用问题分析
在大气层内飞行的飞行器的研制过程中,气动布 局设计需要提供飞行器在各种飞行条件下(高度、马 赫数、攻角、舵偏等等多种因素)的气动特性数据库供 控制系统设计使用。这样得到的气动状态矩阵将是 非常庞大的。随着高性能计算机的出现,大规模 CFD计算成为可能,国外提出了完全采用CFD计算 建立飞行器气动数据库的概念[‘】。在工程研制上实 现这一概念,面临的最大瓶颈问题是海量CFD计算 任务在大规模计算资源上的调度和管理问题。同时 最终用户不可能都是计算专家,直接面对和使用巨型 机,存在很大的技术困难。CFD计算任务传统的手 工管理方式必须向计算任务的自动管理和自动调度 方式转变。否则大规模计算资源不一定必然带来高 效率的计算。这里,我们考虑引进网格计算技术来解 决上述问题。
在本文中,将介绍我们采用网格计算技术,将办 公用计算机资源整合,实现自动管理CFD的计算过 程。通过采用网格计算技术后,降低了人工劳动强 度,提高了机器资源的利用效率。
·收稿日期:2008-08-01 l 修订日期:2009-09—23 作者简介:蔡巧肓(1968-)。女.河北人.研究员,在读博士生.主要从事大气层飞行器气动设计和热环境研究工作.