CN116629163B - 一种计算流体力学的仿真平台及计算方法 - Google Patents
一种计算流体力学的仿真平台及计算方法 Download PDFInfo
- Publication number
- CN116629163B CN116629163B CN202310889624.2A CN202310889624A CN116629163B CN 116629163 B CN116629163 B CN 116629163B CN 202310889624 A CN202310889624 A CN 202310889624A CN 116629163 B CN116629163 B CN 116629163B
- Authority
- CN
- China
- Prior art keywords
- simulation
- task
- event
- calculation
- head
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 254
- 238000004364 calculation method Methods 0.000 title claims abstract description 205
- 239000012530 fluid Substances 0.000 title claims abstract description 49
- 238000004891 communication Methods 0.000 claims description 138
- 238000000034 method Methods 0.000 claims description 120
- 238000012545 processing Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 3
- 238000011065 in-situ storage Methods 0.000 abstract description 5
- 230000008569 process Effects 0.000 description 80
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 230000015654 memory Effects 0.000 description 5
- 238000012805 post-processing Methods 0.000 description 5
- 238000007781 pre-processing Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000000205 computational method Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012800 visualization Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010249 in-situ analysis Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/28—Design optimisation, verification or simulation using fluid dynamics, e.g. using Navier-Stokes equations or computational fluid dynamics [CFD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T90/00—Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Fluid Mechanics (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Algebra (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种计算流体力学的仿真平台及计算方法,涉及计算流体力学技术领域,仿真平台包括:登录节点,配置用于响应于用户指令,得到仿真任务;登录节点还配置用于在接收到仿真任务的仿真结果时,输出仿真结果;主节点,主节点内置有仿真任务数据库,主节点配置用于接收仿真任务,调用仿真任务数据库,得到与仿真任务对应的仿真参数,并根据仿真参数将仿真任务分配给多个从节点;主节点还配置用于合并各从节点的计算执行结果,得到仿真任务的仿真结果,并将仿真结果发送给登录节点;多个从节点,配置用于执行主节点分配的仿真任务,并将计算执行结果发送给主节点。本发明解决了计算流体力学交互性、实时性不足,无法原位前后处理计算等问题。
Description
技术领域
本发明涉及计算流体力学技术领域,尤其涉及一种计算流体力学的仿真平台及计算方法。
背景技术
计算流体力学(Computational fluid dynamics,CFD)是一门流体力学、计算机科学、计算数学等交叉学科,计算流体力学在航空航天、传热传质、船舶、化学、生物和生态工程等领域发挥重要的应用价值,已成为主流的计算机辅助工程工具之一。计算流体力学是典型的计算密集型应用,需要使用高速网络互联的高性能超级计算机(High PerformanceComputer,HPC)进行并行仿真计算。当前高性能计算机体系结构的主流仍然是大规模集群系统,集群技术在世界500强超算系统中占有绝大部分的比例。集群系统的典型结构是由从节点,管理节点,高速互联网络,共享并行存储设备等构成;从节点通常包含64位多核处理器构成,峰值性能高;高速互联网络将所有的节点高效率的连接在一起,与存储网络一同构造全局共享并行文件系统。
典型的计算流体力学仿真系统是基于预定义仿真流程的计算,完整的仿真流程分为前处理、流场计算及后处理这三个阶段,这三个阶段是串行的,即先完成前处理过程,然后完成流场计算过程,最后完成后处理过程。其中,流场计算过程主要包含:使用数值算法求解离散数学方程,获得计算网格上的物理量。其中,前处理以及后处理过程主要是在工作站计算机上处理的,需要大量的人机交互过程;流场计算过程是CFD计算量最大的步骤,通常在HPC上使用多进程进行计算,计算过程人工无法干预,只能是等待计算过程结束后才能进行下一步处理,即现有的计算流体力学的仿真方法存在交互性、实时性不足的问题。为此,本发明提出一种计算流体力学的仿真平台及计算方法。
发明内容
本发明的目的是针对现有技术所存在的计算流体力学交互性不足、实时性不足、无法原位前后处理计算等问题,提供一种计算流体力学的仿真平台及计算方法。
第一方面,本发明提供一种计算流体力学的仿真平台,包括:
登录节点,配置用于响应于用户指令,得到流体力学的仿真任务;所述登录节点还配置用于在接收到所述仿真任务的仿真结果时,输出所述仿真结果;
主节点,所述主节点内置有仿真任务数据库,所述主节点配置用于接收所述仿真任务,调用所述仿真任务数据库,得到与所述仿真任务对应的仿真参数,并根据所述仿真参数将所述仿真任务分配给多个从节点并行执行;所述主节点还配置用于合并各所述从节点的计算执行结果,得到所述仿真任务的仿真结果,并将所述仿真结果发送给所述登录节点;
多个所述从节点,配置用于执行所述主节点分配的仿真任务,并将计算执行结果发送给所述主节点。
根据本发明提供的技术方案,所述主节点包括Head IO线程单元和Head主线程单元;
所述Head IO线程单元包括:
TCP Router通信模块,配置用于接收所述登录节点发送的所述仿真任务,还配置用于将所述仿真结果发送给所述登录节点;
事件命令处理模块,配置用于调用所述仿真任务数据库,得到与所述仿真任务对应的所述仿真参数,并根据所述仿真参数生成任务配置结果;所述任务配置结果包括计算事件任务和普通事件任务;
进程内Router通信模块,配置用于将所述计算事件任务发送至所述Head主线程单元;
所述Head主线程单元包括:
进程内REQ通信模块,配置用于接收所述计算事件任务;
Head MPI通信模块,配置用于将所述计算事件任务分配给各所述从节点,还配置用于接收各所述从节点发送的所述计算执行结果;
第一CFD计算模块,配置用于合并各所述从节点发送的所述计算执行结果,得到所述仿真任务的所述仿真结果;
所述进程内REQ通信模块,还配置用于将所述仿真结果发送至所述TCP Router通信模块。
根据本发明提供的技术方案,所述从节点包括Worker主线程单元;所述Worker主线程单元包括:
Worker MPI通信模块,配置用于接收所述计算事件任务;
第二CFD计算模块,配置用于执行所述计算事件任务,得到所述计算执行结果;
所述Worker MPI通信模块,还配置用于将所述计算执行结果发送至所述Head MPI通信模块。
根据本发明提供的技术方案,所述登录节点包括:
CFD客户端模块,配置用于接收并响应于用户指令,得到流体力学的所述仿真任务;
TCP Dealer通信模块,配置用于向所述TCP Router通信模块发送所述仿真任务,还配置用于接收所述TCP Router通信模块发送的所述仿真结果;
所述CFD客户端模块,还配置用于输出所述仿真结果。
根据本发明提供的技术方案,所述计算流体力学的仿真平台还包括:
资源管理调度节点,配置用于接收所述登录节点基于所述仿真任务发送的独占计算节点申请请求,并为所述仿真任务分配计算节点;所述计算节点包括所述主节点和多个所述从节点。
第二方面,本发明提供一种计算方法,应用如上所述的计算流体力学的仿真平台,所述计算方法包括如下步骤:
所述登录节点响应于用户指令,得到流体力学的仿真任务,并基于所述仿真任务申请独占计算节点;
所述资源管理调度节点接收独占计算节点的申请请求,并为所述仿真任务分配计算节点;
所述主节点调用仿真任务数据库,得到与所述仿真任务对应的仿真参数,并根据所述仿真参数将所述仿真任务分配给多个所述从节点;
所述从节点执行所述主节点分配的所述仿真任务,并将计算执行结果发送给所述主节点;
所述主节点合并各所述从节点的所述计算执行结果,得到所述仿真任务的仿真结果,并将所述仿真结果发送给所述登录节点。
根据本发明提供的技术方案,所述计算流体力学的仿真平台的计算方法,应用于所述Head IO线程单元,包括如下步骤:
接收所述TCP Dealer通信模块发送的仿真任务;
调用所述仿真任务数据库,得到与所述仿真任务对应的仿真参数,根据所述仿真参数生成任务配置结果,并将该任务配置结果加入到Head IO线程的事件任务队列,同时创建该任务配置结果的定时事件任务,加入到Head IO线程的事件任务队列;
判断Head主线程空闲且Head IO线程的事件任务队列非空时,取Head IO线程的事件任务队列的队首非定时事件任务;
判断所述非定时事件任务为计算事件任务时,启动所述进程内Router通信模块,将该计算事件任务发送至所述Head主线程单元,并通过Head IO线程的事件任务队列的队首定时事件任务定时轮询所述计算事件任务的执行情况;
当判断有计算事件执行结果返回时,接收所述计算事件执行结果,通过所述TCPRouter通信模块将所述计算事件执行结果发送至所述TCP Dealer通信模块,标记该计算事件任务完成,标记Head主线程空闲,将该计算事件任务移出Head IO线程的事件任务队列,撤销该计算事件任务对应的定时事件任务;
判断所述非定时事件任务为普通事件任务时,对该普通事件任务进行处理并形成普通事件执行结果;
发送普通事件执行结果至所述TCP Dealer通信模块,并标记该非定时事件任务配置完成,标记Head主线程空闲,将该普通事件任务移出Head IO线程的事件任务队列,并撤销该普通事件任务对应的定时事件任务。
根据本发明提供的技术方案,所述计算流体力学的仿真平台的计算方法,应用于所述Head主线程单元,包括如下步骤:
接收所述进程内Router通信模块发送的计算事件任务,并将其加入到Head主线程的事件任务队列;
判断Head主线程的事件任务队列非空时,取Head主线程的事件任务队列的队首计算事件任务,将该计算事件任务配置到各所述Worker主线程单元;
接收并合并各所述Worker主线程单元发送的计算执行结果,得到该计算事件任务的仿真结果;
发送该计算事件任务的仿真结果至所述TCP Router通信模块,标记该计算事件任务完成,将该计算事件任务移出Head主线程的事件任务队列。
根据本发明提供的技术方案,所述计算流体力学的仿真平台的计算方法,应用于所述Worker主线程单元,包括如下步骤:
接收所述Head MPI通信模块发送的计算事件任务,并将其加入到Worker主线程的事件任务队列;
判断Worker主线程的事件任务队列非空时,取Worker主线程的事件任务队列的队首计算事件任务,开始任务计算得到计算执行结果;
发送所述计算执行结果至所述Head MPI通信模块。
与现有技术相比,本发明的有益效果:本发明提供的计算流体力学的仿真平台包括登录节点、主节点和多个从节点,登录节点用于与用户交互,以响应用户指令得到仿真任务以及输出仿真结果,主节点用于接收仿真任务并调用仿真任务数据库来获得对应的仿真参数,并根据仿真参数来将仿真任务分配给多个从节点并行执行,主节点还合并各从节点的计算执行结果得到仿真结果并将其发送至登录节点;该仿真平台可以实现与用户的实时交互,提高了仿真过程的交互性和实时性,具体地,在采用上述仿真平台对流体力学进行仿真计算时,用户无需等待计算过程全部结束以后才能进行下一步处理,而是可以通过登录节点来获取仿真实时状态、下发仿真任务以及获取仿真结果等,即用户可以对仿真过程进行干预,并且,该平台采用一个主节点和多个从节点来构成仿真任务的计算节点,主节点可以根据不同仿真任务对应的仿真参数将仿真任务分配给多个从节点并行执行,各个节点分工明确、同时工作、互不干涉,有利于提高计算效率。
附图说明
图1为计算流体力学仿真软件模块平台多进程、多线程模型示意图;
图2为计算流体力学的仿真平台的计算方法流程图;
图3为计算流体力学的仿真平台的仿真步骤示意图;
图4为计算流体力学的仿真平台的启动过程示意图;
图5为计算流体力学的仿真平台的Head IO线程单元的操作步骤示意图;
图6为计算流体力学的仿真平台的Head主线程单元的操作步骤示意图;
图7为计算流体力学的仿真平台的Worker主线程单元的操作步骤示意图。
具体实施方式
为了使本领域技术人员更好地理解本发明的技术方案,下面结合附图对本发明进行详细描述,本部分的描述仅是示范性和解释性,不应对本发明的保护范围有任何的限制作用。
下面对本发明实施例中涉及的部分名词进行解释说明。
多进程技术:进程(Process)是指代正在运行的程序,是操作系统调度的基本单位,各个进程有自己独立的内存地址空间和相关资源,进程之间互不干扰,每个进程保存着程序每一个时刻运行的状态。基于多核技术,在单节点上可同时启动多个进程协同计算,充分利用多核技术的优势。当然进程也可运行在不同的节点上,通过网络进行通信,常用的通信机制之一就是MPI(Message Passing Interface,信息传递接口)通信。
多线程技术:线程(Thread)是进程的一个执行单元,负责进程具体程序的执行。如果进程只有一个线程,称之为单线程;如果进程被划分为多个线程,称之为多线程。多线程程序由多核处理器并发执行,线程之间共享进程的内存和其他资源等。
MPI技术:MPI是一个跨语言的通讯协议,通过MPI可以实现在同时运行于不同计算节点上的多个进程之间传递消息,从而可以并行地处理任务。这些并行进程需要相互通信,通常通信频率极高,这使得它们的计算性能对延迟和带宽很敏感,因此MPI通常运行在高速互联网络上的。MPI的基本概念包括通信子(communicator)、进程秩(rank)、通信子进程数量(size)、点对点通信(point-to-point communication)和集约通信(collectivecommunication)等。通信子定义了并行计算的所涉及的一组能够互相发消息的进程,在这组进程中,size用于表示其数量,rank用于标记某一个具体进程,取值范围为[0,(size-1)]。进程可以通过指定另一个进程的rank以及某一消息标记(tag)来发送点对点(point-to-point)通信消息。进程也可以跟其他所有进程进行集体性(collective)通信,如广播、收集、共同运算等,此时消息将在其他所有进程中传递。
TCP技术:TCP(Transmission Control Protocol,传输控制协议),是一种面向连接的、可靠的、基于字节流的传输层通信协议。
资源管理调度平台:如Slurm(Simple Linux Utility for ResourceManagement),是用于Linux集群资源管理和调度的子系统。以Slurm为例,超级计算系统可利用Slurm等系统进行资源和作业管理,以避免作业相互干扰,提高运行效率。资源管理调度平台能够给任务分配计算节点,进行作业监控,将作业发布到计算节点上运行并收集输出等。所有需运行的作业无论是用于程序调试还是业务计算均必须通过资源管理调度平台的接口提交,提交后可以利用相关命令查询作业状态等。
随着计算规模的变大,受限于内存及计算能力的限制,单个工作站计算机已不能高效甚至是无法进行前、后处理过程,而需要与物理场求解器耦合在一起进行原位分析计算,也就是使用流场计算过程的数据结构和计算资源进行前后处理过程,而不是等待计算过程结束之后再进行处理。在原位计算过程中,需要充分利用交互性来进行前后处理操作,例如需要调整流场渲染的物理量,调整切面的位置等涉及可视化的过程;除此之外用户对物理场计算过程中的交互性也提出了要求,例如用户期望可以实时查看流场发展情况、实时修改某些计算参数、实时调整计算模型等,求解器能够马上做出响应,而不是只能停止求解器计算后再进行这些操作。这些需求在传统的计算流体力学软件平台下是难以实现的,从而限制了设计的迭代过程。新需求对计算流体力学的仿真流程和计算平台提出了新的要求。
实施例1
本实施例提供一种计算流体力学的仿真平台,该仿真平台包括:
登录节点,配置用于响应于用户指令,得到流体力学的仿真任务;所述登录节点还配置用于在接收到所述仿真任务的仿真结果时,输出所述仿真结果;
主节点,所述主节点内置有仿真任务数据库,所述主节点配置用于接收所述仿真任务,调用所述仿真任务数据库,得到与所述仿真任务对应的仿真参数,并根据所述仿真参数将所述仿真任务分配给多个从节点并行执行;所述主节点还配置用于合并各所述从节点的计算执行结果,得到所述仿真任务的仿真结果,并将所述仿真结果发送给所述登录节点;
多个所述从节点,配置用于执行所述主节点分配的仿真任务,并将计算执行结果发送给所述主节点。
进一步地,计算流体力学的仿真平台还包括:
资源管理调度节点,配置用于接收所述登录节点基于所述仿真任务发送的独占计算节点申请请求,并为所述仿真任务分配计算节点;所述计算节点包括所述主节点和多个所述从节点。
计算流体力学的仿真平台包括硬件集群平台和在硬件集群平台上运行的软件模块平台,其中,硬件集群平台包括:若干工作站、登录节点、若干计算节点以及资源管理调度节点;多个用户可以通过工作站启动远程桌面连接,登录到硬件集群平台的登录节点,启动软件模块平台,发送事件命令(即仿真任务)进行计算流体力学仿真实时交互,获取计算结果;登录节点,是硬件集群平台的可视化和门户节点;若干计算节点,包括随机确定的一个主节点和其余若干从节点,是运行核心计算程序和执行事件命令的核心服务器;资源管理调度节点是对各计算节点进行调度管理的服务器节点,用于给特定仿真分配独占计算节点以及仿真完成后的资源回收;以太网汇聚交换机负责连接多台服务器,让每个服务器可以通过有线网络进行事件命令通信;高速互联网络用于各计算节点之间运行核心计算程序时的信息数据传送,具备高带宽、低延迟的特点,使得多个计算节点可协作完成事件命令下发的同一任务;并行文件系统用于存储大规模仿真产生的数据文件等,在并行文件系统支持下所有的服务器均能共享地同时访问同一数据文件。
软件模块平台包括:客户端程序、核心计算程序和资源管理调度平台;客户端程序用于显示CFD仿真实时状态、与用户进行交互获取事件命令、输出事件执行结果等操作,是软件模块平台的可视化界面,其运行于前述硬件集群平台的登录节点;核心计算程序负责执行客户端程序发过来的事件命令,返回事件命令结果,进行CFD仿真求解等操作,运行于前述硬件集群平台的计算节点;资源管理调度平台负责给仿真任务调度独占计算节点,运行于前述硬件集群平台的资源管理调度节点,在计算节点上同时后台运行资源管理调度守护进程,与资源管理调度平台实时通信。
进一步地,所述登录节点包括:
CFD客户端模块,配置用于接收并响应于用户指令,得到流体力学的所述仿真任务;
TCP Dealer通信模块,配置用于向所述TCP Router通信模块发送所述仿真任务,还配置用于接收所述TCP Router通信模块发送的所述仿真结果;
所述CFD客户端模块,还配置用于输出所述仿真结果。
具体地,所述CFD客户端模块负责软件的可视化和交互功能;所述TCP Dealer通信模块是一个异步多路复用通信模块,用于在以太网络中使用TCP协议与CFD核心程序进行异步通信。
需要说明的是,本文中的“Dealer”和“Router”仅表示一个名称,其中,“Dealer”可以理解为客户处理端,“Router”可以理解为代理应答端。
进一步地,所述登录节点还包括资源管理调度平台接口模块,所述资源管理调度平台接口模块负责执行资源管理调度平台的接口程序,申请、回收计算节点,监控计算节点使用情况等。
进一步地,所述主节点包括Head IO线程单元和Head主线程单元;
所述Head IO线程单元包括:
TCP Router通信模块,配置用于接收所述登录节点发送的所述仿真任务,还配置用于将所述仿真结果发送给所述登录节点;
事件命令处理模块,配置用于调用所述仿真任务数据库,得到与所述仿真任务对应的所述仿真参数,并根据所述仿真参数生成任务配置结果;所述任务配置结果包括计算事件任务和普通事件任务;
进程内Router通信模块,配置用于将所述计算事件任务发送至所述Head主线程单元;
所述Head主线程单元包括:
进程内REQ通信模块,配置用于接收所述计算事件任务;
Head MPI通信模块,配置用于将所述计算事件任务分配给各所述从节点,还配置用于接收各所述从节点发送的所述计算执行结果;
第一CFD计算模块,配置用于合并各所述从节点发送的所述计算执行结果,得到所述仿真任务的所述仿真结果;
所述进程内REQ通信模块,还配置用于将所述仿真结果发送至所述TCP Router通信模块。
需要说明的是,本文中的“REQ(request)”仅表示一个名称,其可以理解为客户请求端。
进一步地,所述从节点包括Worker主线程单元;所述Worker主线程单元包括:
Worker MPI通信模块,配置用于接收所述计算事件任务;
第二CFD计算模块,配置用于执行所述计算事件任务,得到所述计算执行结果;
所述Worker MPI通信模块,还配置用于将所述计算执行结果发送至所述Head MPI通信模块。
请参考图1,核心计算程序是一个多线程程序,包括主线程和IO线程,CFD核心计算程序通过MPI在多个计算节点上同时运行,所启动的进程按照MPI的rank进行编号,通常编号为rank 0的CFD核心计算进程将被推举为Head进程,其余的计算进程为Worker进程;Worker进程通常只会启动主线程(IO线程不启动),其线程被称为Worker主线程;对应的,Head进程包括Head主线程、Head IO线程等。
Head进程运行于所述主节点上,所述主节点包括Head IO线程单元和Head主线程单元,Head IO线程单元上运行的是Head IO线程,Head主线程单元上运行的是Head主线程;Head主线程单元包括进程内REQ通信模块、Head MPI通信模块和第一CFD计算模块;Head IO线程单元包括TCP Router通信模块、事件命令处理模块和进程内Router通信模块。
其中,第一CFD计算模块是CFD仿真的核心程序模块,用于进行CFD仿真计算、完成事件命令下达的任务等;Head MPI通信模块是用于高速互联网络的通信基础设施,用于所有的CFD核心计算程序互相通信,以便协同完成同一事件命令所下达的任务;进程内REQ通信模块是线程间的同步通信客户端,用于与IO线程进行事件命令、数据回传等的通信,线程间利用通信机制可以避免锁和共享内存的使用和复杂状态维护,简化了本发明的多线程编程复杂程度。
Head IO线程是CFD核心计算程序的输入输出以及调度线程,其中的进程内Router通信模块用于与进程内REQ通信模块进行进程内通信,进行任务下发和数据回传;TCPRouter通信模块是沟通CFD客户端程序的异步网络通信模块,使用异步IO多路复用技术进行事件命令的互动,其具体与TCP Dealer通信模块进行TCP通信;事件命令处理模块是CFD计算模块的核心调度处理中心,用于接收处理事件命令,调度计算任务等。
Worker进程运行于所述从节点上,从节点包括Worker主线程单元;Worker主线程单元上运行的是Worker主线程;Head主线程和Worker主线程二者之间设有高速网络MPI通信空间,用于二者之间的MPI通信;Worker主线程单元包括Worker MPI通信模块和第二CFD计算模块;第二CFD计算模块也是CFD仿真的核心程序模块,用于进行CFD仿真计算;WorkerMPI通信模块为用于高速互联网络的通信基础设施,其与Head MPI通信模块实时通信。
实施例2
本实施例提供一种计算方法,其应用如实施例1所述的计算流体力学的仿真平台,图2为该计算方法的流程图,所述计算方法包括如下步骤:
S100、登录节点响应于用户指令,得到流体力学的仿真任务,并基于所述仿真任务申请独占计算节点;
S200、资源管理调度节点接收独占计算节点的申请请求,并为所述仿真任务分配计算节点;
S300、主节点调用仿真任务数据库,得到与所述仿真任务对应的仿真参数,并根据所述仿真参数将所述仿真任务分配给多个从节点;
S400、从节点执行所述主节点分配的所述仿真任务,并将计算执行结果发送给所述主节点;
S500、主节点合并各所述从节点的计算执行结果,得到所述仿真任务的仿真结果,并将所述仿真结果发送给所述登录节点。
请参考图3,用户通过工作站远程桌面连接启动CFD客户端程序,CFD客户端程序运行于登录节点,CFD客户端程序通过资源管理调度平台接口模块向资源管理调度节点申请独占计算节点,资源管理调度平台根据CFD客户端程序的申请为其分配计算节点,并在计算节点上使用MPI运行指令同时启动数量为mpi_size(mpi_size为大于2的正整数)的CFD核心计算进程(包括一个Head进程和其它Worker进程);所述CFD核心计算程序中的Head进程将启动Head主线程与Head IO线程,Head主线程将阻塞在进程内REQ通信模块,Head IO线程将在TCP Router通信模块轮询等待CFD客户端连接;所述CFD核心计算程序中的其它Worker进程将启动Worker主线程,该线程将运行Worker MPI通信模块轮询等待事件命令的计算任务配置;CFD客户端程序此时将通过TCP Dealer通信模块连接至Head进程,至此系统准备就绪,可以通过事件命令进行仿真计算。
用户通过CFD客户端提交事件命令,该事件命令被转换为协议格式后通过TCPDealer通信模块发送给Head IO线程的TCP Router通信模块,Head IO线程解析事件命令形成计算任务配置,通过Head IO线程的进程内Router通信模块转发计算任务配置给Head主线程,Head主线程通过Head MPI通信模块与Worker主线程进行通信,下发计算任务配置;
Worker主线程接收Head主线程发送的计算任务配置之后,开始任务计算,并与Head主线程保持通信。
请参考图4,图4为计算流体力学的仿真平台的启动过程示意图,在进行仿真计算之前,需要进行系统准备过程,其具体步骤为:
S11、用户通过工作站远程桌面连接启动CFD客户端程序,CFD客户端程序通过资源管理调度平台接口模块申请独占计算节点并请求在计算节点上运行CFD核心计算程序,CFD客户端程序阻塞至资源管理调度平台返回该申请的运行结果;
S12、资源管理调度平台接受命令之后,查询计算节点空余情况,直至计算节点满足申请,分配相应的计算节点给CFD客户端程序独占使用;每个计算节点上运行有资源管理调度平台的调度守护进程,调度守护进程是在后台运行的特殊进程,用于执行资源管理调度平台指定的系统任务;该调度守护进程将按照CFD客户端程序提出的申请,使用MPI运行指令同时启动数量为mpi_size的CFD核心计算进程(包括一个Head进程和其它Worker进程);
S13、CFD核心计算程序的Head主线程启动Head IO线程;
S14、CFD核心计算程序的Head IO线程启动后,Head IO线程将同时启动异步TCPRouter通信模块和异步进程内Router通信模块,并将在TCP Router通信模块轮询等待CFD客户端连接,在进程内Router通信模块轮询Head主线程的连接;
S15、Head主线程将运行进程内REQ通信模块连接至Head IO线程,阻塞等待HeadIO线程转发事件任务命令;
S16、Worker进程启动Worker主线程,并启动Worker MPI通信模块轮询等待事件命令的计算事件任务配置;
S17、CFD客户端进程通过TCP Dealer通信模块连接至Head IO线程,建立事件命令发送通道,平台就绪,可以进行仿真计算。
进一步地,计算流体力学的仿真平台的计算方法应用于所述Head IO线程单元,包括如下步骤:
S21、接收TCP Dealer通信模块发送的仿真任务;
S22、调用所述仿真任务数据库,得到与所述仿真任务对应的仿真参数,根据所述仿真参数生成任务配置结果,并将该任务配置结果加入到Head IO线程的事件任务队列,同时创建该任务配置结果的定时事件任务,加入到Head IO线程的事件任务队列;
S23、判断Head主线程空闲且Head IO线程的事件任务队列非空时,取Head IO线程的事件任务队列的队首非定时事件任务;
S24、判断所述非定时事件任务为计算事件任务时,启动所述进程内Router通信模块,将该计算事件任务发送至所述Head主线程单元,并通过Head IO线程的事件任务队列的队首定时事件任务定时轮询所述计算事件任务的执行情况;
S25、当判断有计算事件执行结果返回时,接收所述计算事件执行结果,通过所述TCP Router通信模块将所述计算事件执行结果发送至所述TCP Dealer通信模块,标记该计算事件任务完成,标记Head主线程空闲,将该计算事件任务移出Head IO线程的事件任务队列,撤销该计算事件任务对应的定时事件任务;
S26、判断所述非定时事件任务为普通事件任务时,对该普通事件任务进行处理并形成普通事件执行结果;
S27、发送普通事件执行结果至所述TCP Dealer通信模块,并标记该非定时事件任务配置完成,标记Head主线程空闲,将该普通事件任务移出Head IO线程的事件任务队列,并撤销该普通事件任务对应的定时事件任务。
仿真任务即事件命令,事件命令包括:计算右端项CalculateRHS,进行迭代N(N为大于0的自然数)步IterationN,获取流场变量GetVariable,暂停计算Pause,设置参数SetParameter,获取参数GetParameter,保存项目Save,退出Quit,加载项目Load,导出结果Export,报告特定参数Report,监控特定物理量Monitor等,事件命令覆盖CFD计算流程的关键步骤;有些事件命令需要进行仿真计算,对应任务称为计算事件任务,有些事件命令无需仿真计算,直接取结果即可完成,对应任务为普通事件任务;表1为仿真任务数据库,其至少包括事件命令和与事件命令对应的作用、是否需要仿真计算以及返回结果。
表1仿真任务数据库
事件命令 | 作用 | 是否需要仿真计算 | 返回结果 |
CalculateRHS | 计算方程系统的空间离散值 | 需要协同计算 | 方程系统的残差向量 |
IterationN | 进行时间迭代N步 | 需要协同计算 | 无 |
GetVariable | 获取流场变量,如密度场 | 需要流场归并 | 原始网格的物理场 |
Pause | 暂停计算 | 不需要 | 无 |
SetParameter | 设置控制参数 | 不需要 | 无 |
GetParameter | 获取控制参数 | 不需要 | 控制参数值 |
Save | 保存计算结果 | 需要全部保存 | 存储文件 |
Quit | 退出 | 所有退出 | 无 |
Load | 加载计算结果 | 所有进程加载 | 无 |
Export | 导出计算结果 | Head进程导出 | 结果文件 |
Report | 报告相关设计参数 | Head进程报告 | 设计参数 |
Monitor | 观测点的物理量 | 相关进程 | 观测点的值 |
具体地,请参考图5,TCP Router通信模块轮询发现有消息进入,接收TCP Dealer通信模块发送的事件命令(即仿真任务);事件命令处理模块通过调用仿真任务数据库来对当前事件命令进行解析,查找该事件命令的事件处理程序,准备任务数据形成事件任务配置结果,并将该事件任务配置结果加入到Head IO线程的事件任务队列,同时创建该任务配置结果的定时事件任务,加入到Head IO线程的事件任务队列,这里定时事件任务是指每间隔一段时间(例如1分钟)就操作一次,无论用户有没有发命令,多用于在接收到用户发送的一个事件命令之时,对该事件命令的执行进行监督,每间隔一段时间去判断该事件命令是否执行完毕,当该事件命令执行完毕时,该定时事件任务也就结束。
当判断Head主线程空闲且Head IO线程的事件任务队列非空时,则取Head IO线程的事件任务队列的队首非定时事件任务,对该非定时事件任务进行处理;如果该非定时事件任务需要额外CFD仿真计算,则为计算事件任务,启动进程内Router通信模块发送消息到Head主线程,标记Head主线程被该计算事件任务配置占用;如果该非定时事件任务不需要计算,则处理后形成事件命令执行结果,通过TCP Router通信模块将事件命令的非定时事件任务执行结果发送至TCP Dealer通信模块,标记该非定时事件任务完成,标记Head主线程空闲,将非定时事件任务移出Head IO线程的事件任务队列,撤销该非定时事件任务对应的定时事件任务;
当判断Head主线程被计算事件任务配置占用时,则取出事件任务队列的队首定时事件任务,如果定时事件任务已被触发,则轮询进程内Router通信模块,判断是否有计算结果返回;如果有计算结果返回则接收计算结果,并通过TCP Router通信模块将计算结果发送至TCP Dealer通信模块,标记该计算事件任务完成,标记Head主线程空闲,将该计算事件任务移出Head IO线程的事件任务队列,撤销该计算事件任务对应的定时事件任务;如果没有计算结果返回,或者定时事件任务未触发,则继续接收事件命令;
当判断Head IO线程的事件任务队列为空时,则继续接收事件命令。
进一步地,计算流体力学的仿真平台的计算方法应用于所述Head主线程单元,包括如下步骤:
S31、接收所述进程内Router通信模块发送的计算事件任务,并将其加入到Head主线程的事件任务队列;
S32、判断Head主线程的事件任务队列非空时,取Head主线程的事件任务队列的队首计算事件任务,将该计算事件任务配置到各所述Worker主线程单元;
S33、接收并合并各所述Worker主线程单元发送的计算执行结果,得到该计算事件任务的仿真结果;
S34、发送该计算事件任务的仿真结果至所述TCP Router通信模块,标记该计算事件任务完成,将该计算事件任务移出Head主线程的事件任务队列。
具体地,请参考图6,Head主线程将阻塞在进程内REQ通信模块,等待Head IO线程的进程内Router通信模块发送消息;若进程内REQ通信模块有消息进入,则接收计算事件任务,将该计算事件任务加入到Head主线程的事件任务队列;若Head主线程的事件任务队列为空,则等待Head IO线程的进程内Router通信模块发送消息;若Head主线程的事件任务队列非空,则取该事件任务队列的队首任务,调用Head MPI通信模块,使用MPI函数广播该计算事件任务到Worker进程。
Head主线程开始任务计算,通常同一计算任务需要由所有的计算进程协作完成,Head主线程需要计算分配到自身的工作内容,一般地,Head主线程将需要计算的任务分配给各个Worker进程;当各个Worker进程执行完相应的计算任务之后,Head主线程调用HeadMPI通信模块,接收各个Worker进程发送的计算执行结果,并合并所有的计算执行结果,形成该计算事件任务的计算结果。
Head主线程调用进程内REQ通信模块,将计算事件任务的计算结果发送到TCPRouter通信模块,标记该计算事件任务完成,并将其从Head主线程的事件任务队列移除。
进一步地,计算流体力学的仿真平台的计算方法应用于所述Worker主线程单元,包括如下步骤:
S41、接收所述Head MPI通信模块发送的计算事件任务,并将其加入到Worker主线程的事件任务队列;
S42、判断Worker主线程的事件任务队列非空时,取Worker主线程的事件任务队列的队首计算事件任务,开始任务计算得到计算执行结果;
S43、发送所述计算执行结果至所述Head MPI通信模块。
具体地,请参考图7,Worker主线程将调用Worker MPI通信模块,阻塞等待至有消息进入;Worker主线程接收到Head主线程发送的计算事件任务后,将该任务加入到Worker主线程的事件任务队列;当Worker主线程检查事件任务队列为非空时,则取该事件任务队列的队首任务,开始任务计算,计算完毕后会得到计算执行结果,Worker主线程调用WorkerMPI通信模块,发送事件任务的计算结果至Head主进程的Head MPI通信模块;当Worker主线程检查事件任务队列为空闲时,则调用Worker MPI通信模块,阻塞等待至有消息进入。
本发明提供的计算流体力学的仿真平台的计算方法,具有如下优点:
1.本发明通过事件命令驱动CFD仿真计算,提高了仿真过程的交互性和实时性,通过本发明的方法可原位分布式并行计算进行前后处理、仿真计算,提高了大模型CFD仿真的效率。
2.本发明使用异步Router、Dealer通信模块进行CFD客户端与CFD核心计算程序间的交互,具有高效率、无阻塞的特点,保证了操作过程的实时响应性。
3.本发明的方法使用消息传递作为多线程编程的主要方式,避免了多线程的内存争用、复杂状态维护的困难。
4.本发明的方法使用MPI函数作为计算节点之间的事件命令传递通道,复用了传统CFD计算的数据通信通道,避免了额外的TCP网络连接,简化了平台体系结构。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。以上所述仅是本发明的优选实施方式,应当指出,由于文字表达的有限性,而客观上存在无限的具体结构,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进、润饰或变化,也可以将上述技术特征以适当的方式进行组合;这些改进润饰、变化或组合,或未经改进将发明的构思和技术方案直接应用于其他场合的,均应视为本发明的保护范围。
Claims (8)
1.一种计算流体力学的仿真平台,其特征在于,包括:
登录节点,配置用于响应于用户指令,得到流体力学的仿真任务;所述登录节点还配置用于在接收到所述仿真任务的仿真结果时,输出所述仿真结果;
主节点,所述主节点内置有仿真任务数据库,所述主节点配置用于接收所述仿真任务,调用所述仿真任务数据库,得到与所述仿真任务对应的仿真参数,并根据所述仿真参数将所述仿真任务分配给多个从节点并行执行;所述主节点还配置用于合并各所述从节点的计算执行结果,得到所述仿真任务的仿真结果,并将所述仿真结果发送给所述登录节点;
多个所述从节点,配置用于执行所述主节点分配的仿真任务,并将计算执行结果发送给所述主节点;
所述主节点包括Head IO线程单元和Head主线程单元;
所述Head IO线程单元包括:
TCP Router通信模块,配置用于接收所述登录节点发送的所述仿真任务,还配置用于将所述仿真结果发送给所述登录节点;
事件命令处理模块,配置用于调用所述仿真任务数据库,得到与所述仿真任务对应的所述仿真参数,并根据所述仿真参数生成任务配置结果;所述任务配置结果包括计算事件任务和普通事件任务;
进程内Router通信模块,配置用于将所述计算事件任务发送至所述Head主线程单元;
所述Head主线程单元包括:
进程内REQ通信模块,配置用于接收所述计算事件任务;
Head MPI通信模块,配置用于将所述计算事件任务分配给各所述从节点,还配置用于接收各所述从节点发送的所述计算执行结果;
第一CFD计算模块,配置用于合并各所述从节点发送的所述计算执行结果,得到所述仿真任务的所述仿真结果;
所述进程内REQ通信模块,还配置用于将所述仿真结果发送至所述TCP Router通信模块。
2.根据权利要求1所述的计算流体力学的仿真平台,其特征在于,所述从节点包括Worker主线程单元;所述Worker主线程单元包括:
Worker MPI通信模块,配置用于接收所述计算事件任务;
第二CFD计算模块,配置用于执行所述计算事件任务,得到所述计算执行结果;
所述Worker MPI通信模块,还配置用于将所述计算执行结果发送至所述Head MPI通信模块。
3.根据权利要求2所述的计算流体力学的仿真平台,其特征在于,所述登录节点包括:
CFD客户端模块,配置用于接收并响应于用户指令,得到流体力学的所述仿真任务;
TCP Dealer通信模块,配置用于向所述TCP Router通信模块发送所述仿真任务,还配置用于接收所述TCP Router通信模块发送的所述仿真结果;
所述CFD客户端模块,还配置用于输出所述仿真结果。
4.根据权利要求3所述的计算流体力学的仿真平台,其特征在于,还包括:
资源管理调度节点,配置用于接收所述登录节点基于所述仿真任务发送的独占计算节点申请请求,并为所述仿真任务分配计算节点;所述计算节点包括所述主节点和多个所述从节点。
5.一种计算方法,其特征在于,应用如权利要求4所述的计算流体力学的仿真平台,所述计算方法包括如下步骤:
所述登录节点响应于用户指令,得到流体力学的仿真任务,并基于所述仿真任务申请独占计算节点;
所述资源管理调度节点接收独占计算节点的申请请求,并为所述仿真任务分配计算节点;
所述主节点调用仿真任务数据库,得到与所述仿真任务对应的仿真参数,并根据所述仿真参数将所述仿真任务分配给多个所述从节点;
所述从节点执行所述主节点分配的所述仿真任务,并将计算执行结果发送给所述主节点;
所述主节点合并各所述从节点的所述计算执行结果,得到所述仿真任务的仿真结果,并将所述仿真结果发送给所述登录节点。
6.根据权利要求5所述的计算方法,其特征在于,应用于所述Head IO线程单元,包括如下步骤:
接收所述TCP Dealer通信模块发送的仿真任务;
调用所述仿真任务数据库,得到与所述仿真任务对应的仿真参数,根据所述仿真参数生成任务配置结果,并将该任务配置结果加入到Head IO线程的事件任务队列,同时创建该任务配置结果的定时事件任务,加入到Head IO线程的事件任务队列;
判断Head主线程空闲且Head IO线程的事件任务队列非空时,取Head IO线程的事件任务队列的队首非定时事件任务;
判断所述非定时事件任务为计算事件任务时,启动所述进程内Router通信模块,将该计算事件任务发送至所述Head主线程单元,并通过Head IO线程的事件任务队列的队首定时事件任务定时轮询所述计算事件任务的执行情况;
当判断有计算事件执行结果返回时,接收所述计算事件执行结果,通过所述TCPRouter通信模块将所述计算事件执行结果发送至所述TCP Dealer通信模块,标记该计算事件任务完成,标记Head主线程空闲,将该计算事件任务移出Head IO线程的事件任务队列,撤销该计算事件任务对应的定时事件任务;
判断所述非定时事件任务为普通事件任务时,对该普通事件任务进行处理并形成普通事件执行结果;
发送普通事件执行结果至所述TCP Dealer通信模块,并标记该非定时事件任务配置完成,标记Head主线程空闲,将该普通事件任务移出Head IO线程的事件任务队列,并撤销该普通事件任务对应的定时事件任务。
7.根据权利要求6所述的计算方法,其特征在于,应用于所述Head主线程单元,包括如下步骤:
接收所述进程内Router通信模块发送的计算事件任务,并将其加入到Head主线程的事件任务队列;
判断Head主线程的事件任务队列非空时,取Head主线程的事件任务队列的队首计算事件任务,将该计算事件任务配置到各所述Worker主线程单元;
接收并合并各所述Worker主线程单元发送的计算执行结果,得到该计算事件任务的仿真结果;
发送该计算事件任务的仿真结果至所述TCP Router通信模块,标记该计算事件任务完成,将该计算事件任务移出Head主线程的事件任务队列。
8.根据权利要求7所述的计算方法,其特征在于,应用于所述Worker主线程单元,包括如下步骤:
接收所述Head MPI通信模块发送的计算事件任务,并将其加入到Worker主线程的事件任务队列;
判断Worker主线程的事件任务队列非空时,取Worker主线程的事件任务队列的队首计算事件任务,开始任务计算得到计算执行结果;
发送所述计算执行结果至所述Head MPI通信模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310889624.2A CN116629163B (zh) | 2023-07-20 | 2023-07-20 | 一种计算流体力学的仿真平台及计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310889624.2A CN116629163B (zh) | 2023-07-20 | 2023-07-20 | 一种计算流体力学的仿真平台及计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116629163A CN116629163A (zh) | 2023-08-22 |
CN116629163B true CN116629163B (zh) | 2023-11-14 |
Family
ID=87642162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310889624.2A Active CN116629163B (zh) | 2023-07-20 | 2023-07-20 | 一种计算流体力学的仿真平台及计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116629163B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117408060B (zh) * | 2023-10-13 | 2024-05-14 | 上海同星智能科技有限公司 | 整车模型仿真性能优化方法、存储介质和电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160070984A (ko) * | 2014-12-11 | 2016-06-21 | 고려대학교 산학협력단 | 하둡 플랫폼을 이용한 전산유체역학의 시뮬레이션 장치 및 방법 |
CN115098354A (zh) * | 2022-07-29 | 2022-09-23 | 南京维拓科技股份有限公司 | 一种搭建高性能云仿真设计平台的方法 |
-
2023
- 2023-07-20 CN CN202310889624.2A patent/CN116629163B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160070984A (ko) * | 2014-12-11 | 2016-06-21 | 고려대학교 산학협력단 | 하둡 플랫폼을 이용한 전산유체역학의 시뮬레이션 장치 및 방법 |
CN115098354A (zh) * | 2022-07-29 | 2022-09-23 | 南京维拓科技股份有限公司 | 一种搭建高性能云仿真设计平台的方法 |
Non-Patent Citations (1)
Title |
---|
分布式虚拟实验系统关键节点设计;陈燕;;电脑编程技巧与维护(第12期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116629163A (zh) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2597556C2 (ru) | Структура компьютерного кластера для выполнения вычислительных задач и способ функционирования указанного кластера | |
CN116629163B (zh) | 一种计算流体力学的仿真平台及计算方法 | |
CN102323917B (zh) | 一种基于共享内存实现多进程共享gpu的方法 | |
Guizzi et al. | On the open job-shop scheduling problem: A decentralized multi-agent approach for the manufacturing system performance optimization | |
CN104112049A (zh) | 基于P2P构架的MapReduce任务跨数据中心调度系统及方法 | |
WO2023274278A1 (zh) | 一种资源调度的方法、装置及计算节点 | |
US20170371713A1 (en) | Intelligent resource management system | |
CN115509743A (zh) | 面向大规模差分算子的资源并行调度与优化方法及系统 | |
KR100791640B1 (ko) | 그리드 기반의 워크플로우 관리 시스템 및 그 방법 | |
Tsuji et al. | Multiple-spmd programming environment based on pgas and workflow toward post-petascale computing | |
EP1993038B1 (en) | Data processing system and data processing method | |
CN113806606A (zh) | 基于三维场景的电力大数据快速可视化分析方法及系统 | |
CN110879753A (zh) | 基于自动化集群资源管理的gpu加速性能优化方法和系统 | |
Nishiyama et al. | Yet Another Parallel Hypothesis Search for Inverse Entailment. | |
CN111290868B (zh) | 任务处理方法、装置和系统以及流程引擎 | |
Bora et al. | The tiny-tasks granularity trade-off: Balancing overhead versus performance in parallel systems | |
CN106445403B (zh) | 针对海量数据成对存储的分布式存储方法和系统 | |
Lin et al. | Tree-based task scheduling model and dynamic load-balancing algorithm for P2P computing | |
CN111913791B (zh) | 任务调度方法、装置、设备和计算机可读存储介质 | |
CN117390841B (zh) | 一种基于超算云的异地协同仿真平台架构和设计方法 | |
Yin et al. | Modeling and verifying spark on YARN using process algebra | |
CN117632520B (zh) | 基于申威众核处理器的主从核监测交互的计算量调度方法 | |
CN111488214B (zh) | 一种实时系统下多任务之间的通信方法 | |
Kobbe | Scalable and Distributed Resource Management for Many-Core Systems | |
Huang et al. | A Task-Oriented General-Purpose Distributed Computing System Based on CLTS Scheduling Algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |