CN111679859B - 一种面向i/o密集型高性能应用的自动化并行mpi-i/o加速方法 - Google Patents
一种面向i/o密集型高性能应用的自动化并行mpi-i/o加速方法 Download PDFInfo
- Publication number
- CN111679859B CN111679859B CN202010528438.2A CN202010528438A CN111679859B CN 111679859 B CN111679859 B CN 111679859B CN 202010528438 A CN202010528438 A CN 202010528438A CN 111679859 B CN111679859 B CN 111679859B
- Authority
- CN
- China
- Prior art keywords
- computing
- service process
- service
- computing process
- mpi
- 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
- 238000000034 method Methods 0.000 title claims abstract description 228
- 230000001133 acceleration Effects 0.000 title claims abstract description 21
- 230000008569 process Effects 0.000 claims abstract description 190
- 238000004891 communication Methods 0.000 claims abstract description 41
- 230000003139 buffering effect Effects 0.000 claims abstract description 4
- 238000013507 mapping Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 abstract description 5
- 238000004364 calculation method Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000006872 improvement Effects 0.000 description 6
- 238000011160 research Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012367 process mapping Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013386 optimize process Methods 0.000 description 1
- 238000004801 process automation Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
Classifications
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/3822—Parallel decoding, e.g. parallel decode units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种面向I/O密集型高性能应用的自动化并行MPI‑I/O加速方法,将用户提交作业设置的进程,利用MPI通信器分成两个通信域,一组是计算进程,另一组是服务进程,I/O服务进程的数量是用户根据I/O密集程度配置,用于处理计算进程上数据输出的任务。计算进程主要处理数值计算任务,在数值计算过程中生成的所有I/O请求都将转发到服务进程。因此,计算进程可以连续执行,不用等待I/O完成。I/O服务进程在内存中形成一个缓冲池,多次缓冲之后,通过调用底层接口将数据写入文件。本发明可以最大程度上提升I/O密集型应用的I/O性能。
Description
技术领域
本发明涉及一种面向I/O密集型高性能应用的自动化并行MPI-I/O加速方法,属于电子信息的技术领域。
背景技术
随着超级计算机的日益发展,计算能力迅猛增加,计算速度已上升到E级(每秒可进行百亿亿次数学运算)。但是,相对于计算性能的快速提升,高性能计算的数据访问性能提升缓慢。计算规模越大,I/O问题越严重,解决起来也越困难,成为性能瓶颈,形成了I/O性能墙。首先,在海洋、气象、电磁等研究方向,需要写入磁盘的文件数量和数据总量都很大,从而导致很多应用出现I/O瓶颈,应用没有加速效果或加速效果很差。其次,目前超算研究基本都为交叉学科研究,编程人员多为领域内专家,重点关注领域内功能实现,使用大规模节点的MPI编程困难,利用MPI对I/O瓶颈进行优化更为困难。再次,当前国内外对I/O相关研究工作主要分为两类,一类是系统层面的I/O优化,大多是计算机领域工程研究,偏向于理论分析,与实际应用有较大差距,无法直接应用于实践;另一类是应用领域内有针对性的I/O优化策略,通用性有待改进。
I/O密集型高性能计算应用在每次迭代之后会输出一次计算结果,都是调用系统自带的阻塞性I/O接口,迭代若干次后,I/O性能对应用的计算速度有较大影响,大多会成为瓶颈,例如多个计算进程的计算结果仅发送给单个写文件进程。
因此,需要一种自动化、通用高效的MPI-I/O加速方法,以改善I/O密集型高性能计算应用的I/O性能,缩小I/O与超级计算机处理速度之间的差距。
发明内容
针对现有技术的不足,本发明提供了一种面向I/O密集型高性能应用的自动化并行MPI-I/O加速方法;
本发明可以解决或缓解某些高性能应用在并行运行过程中遇到的I/O瓶颈问题,最终提升应用的整体性能,降低MPI编程难度。在现有硬件平台基础上从软件层面另辟蹊径,具有广泛的通用性,不增加硬件成本,同时能提高I/O效率,适用于绝大多数中大型计算平台。
本发明的技术方案为:
一种面向I/O密集型高性能应用的自动化并行MPI-I/O加速方法,运行于计算机中的客户端-服务器架构,客户端-服务器架构包括客户端通信域和服务器通信域;客户端通信域中,计算进程处理数值计算任务,在数值计算完成后生成的所有I/O请求都将转发到I/O服务进程;服务器通信域中,I/O服务进程处理计算进程传输过来的数据任务;包括步骤如下:
(1)用户提交总任务,获得n个进程,求取计算进程和I/O服务进程的比例关系r;
以下步骤对用户是透明的,无需用户直接操作,是本发明的内部流程。
(2)初始化,包括:
划分通信域:将通信域划分为客户端通信域和服务器通信域;
计算进程初始化:计算进程接收I/O服务进程信息,配置I/O服务进程和计算进程的映射关系;
步骤(2)对用户是透明的,无需用户直接操作,是本发明的内部流程。
(3)建立连接,进行通信:
计算进程向I/O服务进程发送连接请求,将消息发送给I/O服务进程,无需等待,之后计算进程进行并行计算,即进入步骤(4);所述消息包括控制消息和数据消息;
I/O服务进程响应计算进程发送的连接请求,建立连接;并从计算进程接收消息,同时将消息分为控制消息和数据消息两种,控制消息用于标识不同的I/O操作类型,数据消息是指具体要写入磁盘的数据;
(4)并行计算:
计算进程并行计算,完成应用要求的任务,每计算一次都向I/O服务进程发送一次I/O请求;计算生成的所有I/O请求都将转发到I/O服务进程;
(5)并行输出:
I/O服务进程负责计算进程传输过来的I/O请求;和计算进程的计算过程时间上重叠,两者并行进行,充分利用计算和存储资源。
(6)结束退出:
计算进程完成计算后,计算进程向I/O服务进程发送结束请求,释放资源;I/O服务进程在确保所有进程完成操作的情况下,响应计算进程发送来的结束请求,结束退出。
本发明的MPI-I/O方法,计算进程可以连续执行,不用等待I/O完成。I/O服务进程在内存中形成一个缓冲池,多次缓冲之后,通过调用底层接口将数据写入文件。
多数科学与工程计算类应用都是多进程执行的,当多个进程分别进行独立的I/O操作时,如果I/O服务进程较少,或者计算进程将I/O请求汇聚到较少的I/O服务进程上,就会造成I/O请求拥塞,进而增加I/O操作耗时。因此,综合考虑硬件平台、应用的I/O操作方式与具体运行规模等多种因素,优化进程映射关系,最大程度上提升并行I/O方法的性能。
根据本发明优选的,步骤(1)中,求取计算进程和I/O服务进程的比例关系r,是指:用户根据应用的I/O密集程度设置计算进程和I/O服务进程的比值r。
根据本发明优选的,步骤(2)中,通过MPI通信器将通信域划分为客户端通信域和服务器通信域。
鉴于目前的数据中心基本都安装部署MPI,因此,为提升本发明的通用性和好用性,整个MPI-I/O方法基于MPI标准,采用客户端-服务器架构进行构建,这样本发明就做到了与平台无关,便于在不同的硬件环境上部署。
根据本发明优选的,步骤(2)中,配置I/O服务进程和计算进程的映射关系,是指:每隔r个计算进程就对应1个I/O服务进程提供服务。
根据本发明优选的,步骤(3)中,计算进程与I/O服务进程之间采用MPI通讯协议。支持点对点和广播,包含消息传递应用接口,协议和语义说明。
要在两个或多个通信域之间传播信息,通常要遵循一定的通信协议。文件的I/O过程包含一定的操作步骤,定义文件标识符、打开文件、位置检索、读写文件直至最后关闭文件,需要一种计算(I/O请求)进程和I/O服务进程都认可的规范,对数据格式、同步方式、传送步骤、检验纠错方式以及控制字符定义等问题做出统一规定。
本发明针对I/O密集型应用的I/O瓶颈问题,覆盖常用I/O接口。此外,由于大气科学、水文、海洋学、环境模拟、地球物理等诸多高性能应用的数据广泛采用NetCDF文件格式,因此,本发明也覆盖NetCDF文件格式的I/O接口。使用方法与C/Fortran语言以及NetCDF自带的I/O接口一致,大大降低了应用开发人员的开发调试难度,且对文件格式没有特殊要求,避免了采用专有格式而导致的格式转换问题。本发明采用宏扩展、自动替换等多种方法,将应用中的接口替换成本发明中的接口,本发明方法就会自动对用户源程序进行相关变换,将I/O问题进行透明化处理,最大程度地减少代码的修改和数据后处理方面的工作量,即可获得I/O方面的性能提升,避免应用的源码修改与调试这个痛点,大大降低应用性能提升的难度。本发明中,把应用中文件的打开、读写、关闭接口,换成本发明的打开、读写、关闭等接口。除了支持所需要的功能,不论哪种格式的数据文件,都还要有附加功能,比如初始化和结束退出。
本发明全面考虑I/O操作过程中可能会出现的错误,设计对应错误处理方法,输出错误日志,按照输出的错误信息来定位错误位置。进行I/O操作时主要有两种类型的错误:一是网络故障导致的错误,可以直接沿用MPI相关的错误信息;二是I/O服务进程在具体I/O操作不成功导致的错误,这种类型的错误根据输出的I/O错误信息和采用返回值模型进行错误处理,应用开发人员可根据相关的返回值确定具体的错误类型,继而进行相关的处理。
本发明的有益效果为:
1、全流程自动化,无需用户直接介入。提升应用性能时,其中主要的工作就是需要根据系统架构进行源码改写,这在很大程度上阻碍了应用的优化。本发明针对I/O瓶颈的应用,采用宏扩展、自动替换等多种方法,将I/O问题进行透明化处理,无需用户介入本发明内部程序,简单易用,降低了应用性能提升的难度,形成一套面向I/O密集型高性能应用的高效自动化并行MPI-I/O解决方案。
2、支持一般数据格式。本发明覆盖常用的I/O接口和NetCDF接口,使用方法与C/Fortran语言和NetCDF自带的I/O接口一致,降低了开发人员的开发调试难度,且对文件格式没有特殊要求,避免了采用专有格式而导致的格式转换问题,具有通用性。
3、适用多种不同类型I/O操作方式的进程映射管理。本发明综合考虑硬件平台、应用I/O操作方式与具体运行并行规模等多种因素,根据不同类型的I/O操作方式预设优化的进程映射关系,用户可根据应用实际情况进行灵活配置,最大程度上提升本发明方法的好用性。
4、本发明中用户可根据应用实际情况灵活配置计算进程与服务进程的比例关系,便于提升用户程序性能。
附图说明
图1为本发明一种面向I/O密集型高性能应用的自动化并行MPI-I/O加速方法的框架图;
图2为计算和I/O串行执行示意图;
图3为计算和I/O并行执行示意图;
图4为本发明一种面向I/O密集型高性能应用的自动化并行MPI-I/O加速方法的流程示意图;
图5为本发明用户的文件接口示例示意图;
图6为并行写512K文件时间及加速比示意图;
图7为并行写1M文件时间及加速比示意图。
具体实施方式
下面结合说明书附图和实施例对本发明作进一步限定,但不限于此。
实施例1
一种面向I/O密集型高性能应用的自动化并行MPI-I/O加速方法,如图1、图4所示,运行于计算机中的客户端-服务器架构,客户端-服务器架构包括客户端通信域和服务器通信域;客户端通信域中,计算进程处理数值计算任务,在数值计算过程中生成的所有I/O请求都将转发到I/O服务进程;服务器通信域中,I/O服务进程处理计算进程上数据输出的任务;包括步骤如下:
(1)用户提交总任务,获得n个进程,设定计算进程和I/O服务进程的比例关系r,是指:用户根据应用的I/O密集程度设置计算进程和I/O服务进程的比值r。例如,r为32:1、16:1或8:1。
以下步骤对用户是透明的,无需用户直接操作,是本发明的内部流程。
(2)初始化,包括:
划分通信域:通过MPI通信器将通信域划分为客户端通信域和服务器通信域;鉴于目前的数据中心基本都安装部署MPI,因此,为提升本发明的通用性和好用性,整个MPI-I/O方法基于MPI标准,采用客户端-服务器架构进行构建,这样本发明就做到了与平台无关,便于在不同的硬件环境上部署。
计算进程初始化:计算进程接收I/O服务进程信息,配置I/O服务进程和计算进程的映射关系;是指:每隔r个计算进程就对应1个I/O服务进程提供服务。
步骤(2)对用户是透明的,无需用户直接操作,是本发明的内部流程。
(3)建立连接,进行通信:
计算进程向I/O服务进程发送连接请求,将消息发送给I/O服务进程,无需等待,之后计算进程进行并行计算,即进入步骤(4);所述消息包括控制消息和数据消息;
I/O服务进程响应计算进程发送的连接请求,建立连接;并从计算进程接收消息,同时将消息分为控制消息和数据消息两种,控制消息用于标识不同的I/O操作类型,数据消息是指具体要写入磁盘的数据;
计算进程与I/O服务进程之间采用MPI通讯协议。支持点对点和广播,包含消息传递应用接口,协议和语义说明。
(4)并行计算:
计算进程并行计算,完成应用要求的任务,每计算一次都向I/O服务进程发送一次I/O请求;计算生成的所有I/O请求都将转发到I/O服务进程;
(5)并行输出:
I/O服务进程负责计算进程传输过来的I/O请求;和计算进程的计算过程时间上重叠,两者并行进行,充分利用计算和存储资源。
(6)结束退出:
计算进程完成计算后,计算进程向I/O服务进程发送结束请求,释放资源;I/O服务进程在确保所有进程完成操作的情况下,响应计算进程发送来的结束请求,结束退出。
本发明的MPI-I/O方法,计算进程可以连续执行,不用等待I/O完成。I/O服务进程在内存中形成一个缓冲池,多次缓冲之后,通过调用底层接口将数据写入文件。
多数科学与工程计算类应用都是多进程执行的,当多个进程分别进行独立的I/O操作时,如果I/O服务进程较少,或者计算进程将I/O请求汇聚到较少的I/O服务进程上,就会造成I/O请求拥塞,进而增加I/O操作耗时。因此,综合考虑硬件平台、应用的I/O操作方式与具体运行规模等多种因素,优化进程映射关系,最大程度上提升并行I/O方法的性能。
要在两个或多个通信域之间传播信息,通常要遵循一定的通信协议。文件的I/O过程包含一定的操作步骤,定义文件标识符、打开文件、位置检索、读写文件直至最后关闭文件,需要一种计算(I/O请求)进程和I/O服务进程都认可的规范,对数据格式、同步方式、传送步骤、检验纠错方式以及控制字符定义等问题做出统一规定。
本发明针对I/O密集型应用的I/O瓶颈问题,覆盖常用I/O接口。此外,由于大气科学、水文、海洋学、环境模拟、地球物理等诸多高性能应用的数据广泛采用NetCDF文件格式,因此,本发明也覆盖NetCDF文件格式的I/O接口。使用方法与C/Fortran语言以及NetCDF自带的I/O接口一致,大大降低了应用开发人员的开发调试难度,且对文件格式没有特殊要求,避免了采用专有格式而导致的格式转换问题。本发明采用宏扩展、自动替换等多种方法,将应用中的接口替换成本发明中的接口,本发明方法就会自动对用户源程序进行相关变换,将I/O问题进行透明化处理,最大程度地减少代码的修改和数据后处理方面的工作量,即可获得I/O方面的性能提升,避免应用的源码修改与调试这个痛点,大大降低应用性能提升的难度。本发明中,把应用中文件的打开、读写、关闭接口,换成本发明的打开、读写、关闭等接口。除了支持所需要的功能,不论哪种格式的数据文件,都还要有附加功能,比如初始化和结束退出,如图5所示。
以Fortran语言为例,文件接口和附加接口及功能如表1所示:
表1
本发明全面考虑I/O操作过程中可能会出现的错误,设计对应错误处理方法,输出错误日志,按照输出的错误信息来定位错误位置。进行I/O操作时主要有两种类型的错误:一是网络故障导致的错误,可以直接沿用MPI相关的错误信息;二是I/O服务进程在具体I/O操作不成功导致的错误,这种类型的错误根据输出的I/O错误信息和采用返回值模型进行错误处理,应用开发人员可根据相关的返回值确定具体的错误类型,继而进行相关的处理。
本发明的作用原理如下:
根据阿姆达尔定律:增加处理器数、计算负载分布到更多处理器上,可以提高计算速度;程序中可并行代码的比例决定增加处理器(总核心数)所能带来的速度提升的上限。如下式所示:
其中,p为并行计算部分所占比例,n为并行处理进程个数。当1-p=0时(即没有串行,只有并行),最大加速比S=n;当p=0时(即只有串行,没有并行),最小加速比S=1;当n→∞时,极限加速比这也就是加速比的上限。
在应用中,假设t计算是一次迭代的计算时间,tI/O是一次迭代的I/O时间,则一次迭代的总时间为:
t一次迭代=t计算+tI/O=max(t计算,tI/O)+min(t计算,tI/O)
如图2所示。
当使用本发明时,I/O服务进程的写数据与计算进程的计算是并行执行的,则一次迭代的总时间为:
t'一次迭代=max(t计算,tI/O)
如图3所示。
计算和I/O并行执行,与串行模式相比,I/O时间将会被计算时间所隐藏。另外,将计算和I/O并行重叠,可以提高计算和存取资源的效率。串行模式下,I/O过程时,计算资源处于空闲状态;在计算过程时,存储资源处于空闲状态。并行模式下,将计算和I/O重叠,计算和存储资源两者都得到充分利用。
本实施例对本发明方法进行了如下:
测试环境:神威E级原型机
不同大小的测试文件:512KB、1MB。
测试进程:计算进程数是256时,按照I/O服务进程与计算进程的比例关系为1:32、1:16、1:8,额外配置8、16、32个服务进程提供I/O服务,总的进程数是264、272、288。
在256个计算进程,文件大小为512K,1M时,分别如图6、图7所示,由图中的加速比来看,利用本发明来优化应用程序的I/O,相对于未优化程序有明显的I/O加速效果,可以解决I/O瓶颈问题,提升程序性能。
Claims (5)
1.一种面向I/O密集型高性能应用的自动化并行MPI-I/O加速方法,其特征在于,运行于计算机中的客户端-服务器架构,客户端-服务器架构包括客户端通信域和服务器通信域;客户端通信域中,计算进程处理数值计算任务,在数值计算过程中生成的所有I/O请求都将转发到I/O服务进程;服务器通信域中,I/O服务进程处理计算进程上数据输出的任务;包括步骤如下:
(1)用户提交总任务,获得n个进程,设定计算进程和I/O服务进程的比例关系r;
(2)初始化,包括:
划分通信域:将通信域划分为客户端通信域和服务器通信域;
计算进程初始化:计算进程接收I/O服务进程信息,配置I/O服务进程和计算进程的映射关系;
(3)建立连接,进行通信:
计算进程向I/O服务进程发送连接请求,将消息发送给I/O服务进程,无需等待,之后计算进程进行并行计算,即进入步骤(4);所述消息包括控制消息和数据消息;
I/O服务进程响应计算进程发送的连接请求,建立连接;并从计算进程接收消息,同时将消息分为控制消息和数据消息两种,控制消息用于标识不同的I/O操作类型,数据消息是指具体要写入磁盘的数据;
(4)并行计算:
计算进程并行计算,完成应用要求的任务,每计算一次都向I/O服务进程发送一次I/O请求;计算进程连续执行,不用等待I/O服务进程完成,I/O服务进程在内存中形成一个缓冲池,多次缓冲之后,通过调用底层接口将数据写入文件;I/O服务进程的写数据与计算进程的计算并行执行;
(5)并行输出:
I/O服务进程负责计算进程传输过来的I/O请求;
(6)结束退出:
计算进程完成计算后,计算进程向I/O服务进程发送结束请求,释放资源;I/O服务进程在确保所有进程完成操作的情况下,响应计算进程发送来的结束请求,结束退出;
步骤(2)至步骤(6)中,对用户是透明的,无需用户直接操作,是内部流程。
2.根据权利要求1所述的一种面向I/O密集型高性能应用的自动化并行MPI-I/O加速方法,其特征在于,步骤(1)中,设定计算进程和I/O服务进程的比例关系r,是指:用户根据应用的I/O密集程度设置计算进程和I/O服务进程的比值r。
3.根据权利要求1所述的一种面向I/O密集型高性能应用的自动化并行MPI-I/O加速方法,其特征在于,步骤(2)中,通过MPI通信器将通信域划分客户端通信域和服务器通信域。
4.根据权利要求1所述的一种面向I/O密集型高性能应用的自动化并行MPI-I/O加速方法,其特征在于,步骤(2)中,配置I/O服务进程和计算进程的映射关系,是指:每隔r个计算进程就对应1个I/O服务进程提供服务。
5.根据权利要求1-4任一所述的一种面向I/O密集型高性能应用的自动化并行MPI-I/O加速方法,其特征在于,步骤(3)中,计算进程与I/O服务进程之间采用MPI通讯协议。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010528438.2A CN111679859B (zh) | 2020-06-11 | 2020-06-11 | 一种面向i/o密集型高性能应用的自动化并行mpi-i/o加速方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010528438.2A CN111679859B (zh) | 2020-06-11 | 2020-06-11 | 一种面向i/o密集型高性能应用的自动化并行mpi-i/o加速方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111679859A CN111679859A (zh) | 2020-09-18 |
CN111679859B true CN111679859B (zh) | 2023-08-18 |
Family
ID=72454563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010528438.2A Active CN111679859B (zh) | 2020-06-11 | 2020-06-11 | 一种面向i/o密集型高性能应用的自动化并行mpi-i/o加速方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111679859B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115599563B (zh) * | 2022-11-29 | 2023-06-13 | 北京卡普拉科技有限公司 | 串行i/o访问的并行i/o控制方法、装置及设备 |
CN118012576B (zh) * | 2024-04-07 | 2024-08-13 | 北京卡普拉科技有限公司 | 基于异步i/o进程的应用文件并行读写适配方法与装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880510A (zh) * | 2012-09-24 | 2013-01-16 | 中国科学院对地观测与数字地球科学中心 | 基于多数据架构中心面向数据密集型应用的并行编程方法 |
CN103325012A (zh) * | 2013-06-18 | 2013-09-25 | 国家电网公司 | 一种适用于电网安全校核的并行计算动态任务分配方法 |
CN109815002A (zh) * | 2017-11-21 | 2019-05-28 | 中国电力科学研究院有限公司 | 一种基于在线仿真的分布式并行计算平台及其方法 |
CN110209353A (zh) * | 2019-05-17 | 2019-09-06 | 青岛海洋科学与技术国家实验室发展中心 | 区域耦合预报系统中roms模式的i/o并行加速方法、装置及介质 |
-
2020
- 2020-06-11 CN CN202010528438.2A patent/CN111679859B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880510A (zh) * | 2012-09-24 | 2013-01-16 | 中国科学院对地观测与数字地球科学中心 | 基于多数据架构中心面向数据密集型应用的并行编程方法 |
CN103325012A (zh) * | 2013-06-18 | 2013-09-25 | 国家电网公司 | 一种适用于电网安全校核的并行计算动态任务分配方法 |
CN109815002A (zh) * | 2017-11-21 | 2019-05-28 | 中国电力科学研究院有限公司 | 一种基于在线仿真的分布式并行计算平台及其方法 |
CN110209353A (zh) * | 2019-05-17 | 2019-09-06 | 青岛海洋科学与技术国家实验室发展中心 | 区域耦合预报系统中roms模式的i/o并行加速方法、装置及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111679859A (zh) | 2020-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Isard et al. | Distributed data-parallel computing using a high-level programming language | |
Dai et al. | Reveal training performance mystery between TensorFlow and PyTorch in the single GPU environment | |
CN109740765B (zh) | 一种基于亚马逊网络服务器的机器学习系统搭建方法 | |
CN111679859B (zh) | 一种面向i/o密集型高性能应用的自动化并行mpi-i/o加速方法 | |
CN109445953A (zh) | 一种面向大规模机器学习系统的机器学习模型训练方法 | |
Abbasi et al. | A preliminary study of incorporating GPUs in the Hadoop framework | |
US20100131740A1 (en) | Data processing system and data processing method | |
CN116974994A (zh) | 一种基于集群的高效能文件协作系统 | |
Bora et al. | The tiny-tasks granularity trade-off: Balancing overhead versus performance in parallel systems | |
Zhang et al. | Artificial intelligence platform for mobile service computing | |
Wickramasinghe et al. | High‐performance iterative dataflow abstractions in Twister2: TSet | |
WO2021227293A1 (zh) | 一种通用的人工智能模型训练方法及系统 | |
CN108536696A (zh) | 一种数据库个性化自助查询平台和方法 | |
JP2023544911A (ja) | 並列量子コンピューティングのための方法及び装置 | |
CN113626035A (zh) | 基于tvm面向risc-v设备的神经网络编译方法 | |
Walker et al. | Composing and executing parallel data-flow graphs with shell pipes | |
CN112783511A (zh) | 一种栅元少群参数计算模块程序的优化方法、系统、终端 | |
Fu et al. | Run-time techniques for exploiting irregular task parallelism on distributed memory architectures | |
US6772414B1 (en) | Lifetime-sensitive mechanism and method for hoisting invariant computations out of loops in a computer program | |
Delestrac et al. | Demystifying the TensorFlow eager execution of deep learning inference on a CPU-GPU tandem | |
Du et al. | Stargazer: Toward efficient data analytics scheduling via task completion time inference | |
CN118519707B (zh) | 一种基于可交换属性的系统调用方法 | |
Ponce et al. | Extension of a Task-based model to Functional programming | |
Liu et al. | Research on High Efficiency IO Control Technology of Seismic Data Based on Data Segmentation | |
CN116909711A (zh) | 一种面向web环境下的多用户科学计算程序的优化方法及系统 |
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 |