The invention discloses a simplified MPI implementation method for multi-core chips for direct memory access interconnection communication. By establishing a distributed context data structure and a receiving context data structure at the same time as the control structure and data structure supporting the whole parallel environment, the message sender does not actually perform the data transmission operation, but only needs to do so. Describe the sending message and set up the sending context. When the receiver runs the receiving call, if the context matches, it reads the message from the memory address specified by the sender back to the local memory space. In the application layer, it can design parallel programs with minimal memory footprint and transfer messages between processes to support the use of direct memory access interconnection. The parallel programming of the multi-core chips of Xin can realize the function of process synchronization. It can be used in the complex parallel programming of the multi-core chips that directly access the interconnection communication in memory.
【技术实现步骤摘要】
面向直接内存访问互连通信的多核芯片的MPI实现方法
本专利技术属于并行编程领域,涉及面向直接内存访问互连通信的多核芯片的MPI实现方法。
技术介绍
基于消息传递接口(MPI)的并行编程是目前最常见的一种并行编程方法,它主要面向分布式内存架构的并行程序设计,在高性能计算领域获得了广泛应用。MPI为并行编程提供了一种标准,而不代表某一种具体的MPI实现。MPI标准由MPI论坛进行统一管理,目前已经发展到MPI-3.1标准版本,其中包含数百个支持并行程序设计的调用接口。MPI最初应用于分布式多机系统的并行编程,但是随着集成电路技术与工艺的发展,多核芯片成为了目前处理器设计的主流,使得MPI逐渐在片上多核并行程序设计中获得了广泛研究与应用。在大量的多核系统芯片中,采用直接内存访问的核间互连结构实现多核通信是一种常见的技术手段。在这种核间互连结构中,MPI同时还起着保证核间数据一致性的作用,因为直接内存访问的核间互连通信机制一般只提供“路由+直接内存访问”的网络层服务,即硬件只负责将源节点内存中的数据通过网络路由搬运到目的节点的内存中,而将保证数据一致性的方法交由应用层与网络层之间的传输层来完成。MPI在这样的系统中即充当了传输层的角色,为并行编程与进程通信提供服务。硬件只提供核间直接内存访问的网络层的好处是将上层的传输层交由软件程序来实现,为传输层的设计实现提供了较大的探索空间。针对多核芯片的MPI的实现一般采用标准MPI的一个子集来完成片上核间消息传递,在资源极为宝贵且受限的单芯片多核环境中实现轻量级的核间通信,同时支持并行程序框架的实现。目前已有的技术中,均没 ...
【技术保护点】
1.一种面向直接内存访问互连通信的多核芯片的精简MPI的实现方法,其特征在于,包括以下步骤:在接收方和发送方同时建立一个分布式上下文数据结构和一个接收上下文数据结构,接收方首先要访问发送方的分布式上下文数据结构,通过分布式上下文数据结构来判断是否有消息需要接收,并通过分布式上下文数据结构信息来确定是否和自身要接收的消息相匹配;如果有消息要接收且消息匹配,接收方再单独发起对消息的读操作,将消息读回自身的内存空间。
【技术特征摘要】
1.一种面向直接内存访问互连通信的多核芯片的精简MPI的实现方法,其特征在于,包括以下步骤:在接收方和发送方同时建立一个分布式上下文数据结构和一个接收上下文数据结构,接收方首先要访问发送方的分布式上下文数据结构,通过分布式上下文数据结构来判断是否有消息需要接收,并通过分布式上下文数据结构信息来确定是否和自身要接收的消息相匹配;如果有消息要接收且消息匹配,接收方再单独发起对消息的读操作,将消息读回自身的内存空间。2.根据权利要求1所述的一种面向直接内存访问互连通信的多核芯片的精简MPI的实现方法,其特征在于,分布式上下文在每个进程中都采用静态存储,在整个并行环境运行的过程中占据固定的存储空间,接收上下文采用动态存储。3.根据权利要求1所述的一种面向直接内存访问互连通信的多核芯片的精简MPI的实现方法,其特征在于,分布式上下文数据结构包括发送上下文、进程总数和当前进程编号。4.根据权利要求3所述的一种面向直接内存访问互连通信的多核芯片的精简MPI的实现方法,其特征在于,发送上下文包括一个控制信号量和用于描述发送消息的五个消息描述成员,所述消息描述成员与发送调用中的消息描述参数相对应,并在运行发送调用时会将调用中的消息描述参数分别赋值给对应的消息描述成员,供接收方通过直接内存访问的方式获取;所述控制信号量为发送上下文的控制结构,用于收发双方的同步协调,控制信号量的初始为0。5.根据权利要求4所述的一种面向直接内存访问互连通信的多核芯片的精简MPI的实现方法,其特征在于,接收方首先访问发送方的发送上下文,通过发送方的发送上下文中的控制信号量来判断是否有消息需要接收,并通过发送方的发送上下文中的消息描述成员来确定是否和自身要接收的消息相匹配;如果有消息要接收且消息匹配,接收方再单独发起对消息的读操作,将消息读回自身的内存空间。6.根据权利要求3所述的一种面向直接内存访问互连通信的多核芯片的精简MPI的实现方法,其特征在于,所述的进程总数为整个系统中并行执行的进程数量,由并行系统初始化时指定。7.根据权利要求3所述的一种面向直接内存访问...
【专利技术属性】
技术研发人员:周泉,杨靓,何卫强,巨新刚,
申请(专利权)人:西安微电子技术研究所,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。