CN104426958B - 一种通信方法、装置及系统 - Google Patents

一种通信方法、装置及系统 Download PDF

Info

Publication number
CN104426958B
CN104426958B CN201310384480.1A CN201310384480A CN104426958B CN 104426958 B CN104426958 B CN 104426958B CN 201310384480 A CN201310384480 A CN 201310384480A CN 104426958 B CN104426958 B CN 104426958B
Authority
CN
China
Prior art keywords
computing device
message
communication
page
shared drive
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
Application number
CN201310384480.1A
Other languages
English (en)
Other versions
CN104426958A (zh
Inventor
谭崇康
高云伟
詹剑锋
解壁伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
Original Assignee
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd, Institute of Computing Technology of CAS filed Critical Huawei Technologies Co Ltd
Priority to CN201310384480.1A priority Critical patent/CN104426958B/zh
Priority to PCT/CN2014/083641 priority patent/WO2015027797A1/zh
Publication of CN104426958A publication Critical patent/CN104426958A/zh
Application granted granted Critical
Publication of CN104426958B publication Critical patent/CN104426958B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Abstract

本发明实施例公开了一种通信方法、装置及系统,涉及通信领域,解决了操作系统之间传输过程中的文件及页表的拷贝操作造成通信开销大的问题。具体方案为:发送计算装置获取通信共享内存,通信共享内存为发送计算装置和接收计算装置的共享内存,在通信共享内存中存放发送消息,以便接收计算装置在通信共享内存获取发送消息。本发明用于操作系统之间的通信。

Description

一种通信方法、装置及系统
技术领域
本发明涉及通信领域,尤其涉及一种通信方法、装置及系统。
背景技术
平行化虚拟系统是针对多核、众核架构提出的一种多内核操作系统的部署方式。在平行虚拟化系统中,多个操作系统内核共享同一个节点硬件资源,管理操作系统内核采用侧服的方式为计算操作系统内核提供服务,这与传统计算内核执行在虚拟机监控器(Hypervisor)之上的虚拟化方式有较大的区别。
通信系统作为多内核操作系统中一个重要的组成部分,其性能的好坏直接影响到多内核操作系统的执行效率。在传统的虚拟化系统中,两个操作系统内核之间的通信大多是基于互相连接,并且由Hypervisor支持通信数据的传输。所述基于互相连接,表示平行化虚拟系统中的任意两个通信的操作系统内核之间都要进行共享内存和通信结构的维护,这将造成较大的开销。
目前技术手段使用了一种被称为逻辑域通道(Logic Domain Channel)的通信系统。在该通信系统中,每个逻辑域(Logic Domain)有一个发送消息队列和接受消息队列。以Logic Domain1与Logic Domain2通信为例,Logic domain1将消息放置到自身发送消息队列中,通过一个虚拟监控器消息(Hypervisor call)通知Hypervisor发送消息,Hypervisor将消息从Logic domain1的内存空间中拷贝到Logic domain2的接收消息队列中,并给Logic domain2发送中断消息通知。在Logic Domain Channel中,消息大小为固定的64B,大消息将被拆分成多个小消息分别进行传输。这就造成了需要多次传输,导致增加通知操作的次数。
在实现上述平行化虚拟系统中的通信过程中,发明人发现现有技术中至少存在如下问题:
上述通信系统在消息的传输过程中,需要进行两次通知操作和一次数据拷贝操作,通信开销较大;通信消息大小固定化将增加通知操作的次数,增加开销;通信系统中的通知机制对于正常的操作系统的任务执行有较大的干扰。
发明内容
本发明的实施例提供一种通信方法及装置,能够消除消息传输过程中的文件及页表的拷贝操作,降低通知机制对正常任务执行的干扰。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种通信方法,包括:
发送计算装置获取通信共享内存,所述通信共享内存为所述发送计算装置和接收计算装置的共享内存;
在所述通信共享内存中存放发送消息,以便所述接收计算装置在所述通信共享内存获取所述发送消息。
结合第一方面,在第一种可能的实现方式中,所述发送计算装置获取通信共享内存之后,包括:
所述发送计算装置将所述通信共享内存的通信共享内存信息发送至所述接收计算装置,以便于所述接收计算装置根据所述通信共享内存信息获取所述通信共享内存。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述发送计算装置将所述通信共享内存的通信共享内存信息发送至所述接收计算装置,包括:
所述发送计算装置在内核地址空间获取全局消息页,其中所述全局消息页包括所述接收计算装置的通知页和通知核;
所述发送计算装置将所述接收计算装置的通知页映射到自身地址空间中,并将通信共享内存信息写入所述通知页中;
所述发送计算装置通过所述发送计算装置的通知核向所述接收计算装置的通知核发送第一中断消息,以便所述接收计算装置根据所述第一中断消息在所述接收计算装置的通知页中获取所述通信共享内存信息。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,在所述通信共享内存中存放发送消息之后,所述方法还包括:
所述发送计算装置通过所述发送计算装置的通知核接收所述接收计算装置的通知核发送的第二中断消息;
所述发送计算装置根据所述第二中断消息在所述接收计算装置的通知页中获取发送确认消息。
结合第一方面,在第四种可能的实现方式中,所述发送计算装置获取通信共享内存,包括:
所述发送计算装置在通信共享内存中获取空闲通信页。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,在所述通信共享内存中存放发送消息,包括:
将所述发送消息拷贝至所述空闲通信页生成通信页;
获取所述通信页的通信描述页;
将所述通信描述页插入所述通信共享内存中的发送消息链表。
第二方面,提供一种通信方法,包括:
接收计算装置获取通信共享内存,所述通信共享内存为所述发送计算装置和接收计算装置的共享内存;
在所述通信共享内存中获取所述发送计算装置存入的发送消息。
结合第二方面,在第一种可能的实现方式中,所述接收计算装置获取通信共享内存之前,包括:
所述接收计算装置获取所述发送计算装置发送的通信共享内存信息;
所述接收计算装置获取通信共享内存,包括:
根据所述通信共享内存信息映射至所述通信共享内存,以便在所述通信共享内存中获取所述发送计算装置存入的发送消息。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述接收计算装置获取所述发送计算装置发送的通信共享内存信息,包括:
所述接收计算装置通过所述接收计算装置的通知核接收所述发送计算装置的通知核发送的第一中断消息;
所述接收计算装置根据所述第一中断消息在所述接收计算装置的通知页中获取所述通信共享内存信息。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,在所述通信共享内存中获取所述发送计算装置存入的发送消息之后,还包括:
所述接收计算装置在内核地址空间获取全局消息页,其中所述全局消息页包括所述接收计算装置的通知页和通知核;
所述接收计算装置将所述接收计算装置的通知页映射到自身地址空间中,并将发送确认消息写入所述通知页中;
所述接收计算装置通过所述接收计算装置的通知核向所述发送计算装置的通知核发送第二中断消息,以便所述发送计算装置根据所述第二中断消息在所述发送计算装置的通知页中获取所述发送确认消息。
结合第二方面,在第四种可能的实现方式中,所述接收计算装置获取发送计算装置发送的通信共享内存信息,包括:
所述接收计算装置扫描所述通信共享内存中的接收消息链表;
在所述通信共享内存中的接收消息链表获取通信描述页。
结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,在所述通信共享内存中获取所述发送计算装置存入的发送消息,包括:
在所述通信描述页中获取端口号,并在所述端口号指示的端口上接收发送消息。
结合第二方面的第五种可能的实现方式,在第六种可能的实现方式中,在所述通信共享内存中获取所述发送计算装置存入的发送消息之后,包括:
所述接收计算装置将所述完成发送消息的通信页插入所述通信共享内存中的待归还通信链表。
第三方面,提供一种通信方法,包括:
管理装置生成全局消息页,所述全局消息页包括接收计算装置的通知页和通知核;
将所述全局消息页映射到所有计算装置的内核地址空间中,其中所述通知页用于存储所述通知核,所述通知核用于传输中断消息。
第四方面,提供一种通信方法,包括:
管理装置扫描各个发送计算装置的发送消息链表;
将所述发送计算装置中的发送消息链表中的通信描述页插入接收计算装置的接收消息链表;
所述管理装置查询各个计算装置中的待归还消息链表;
将所述待归还消息链表中的通信页插入对应的计算装置中。
第五方面,提供一种发送计算装置,包括:
内存分配单元,用于获取通信共享内存,所述通信共享内存为所述发送计算装置和接收计算装置的共享内存;
消息发送单元,用于在所述内存分配单元获取的所述通信共享内存中存放发送消息,以便所述接收计算装置在所述通信共享内存获取所述发送消息。
结合第五方面,在第一种可能的实现方式中,所述发送计算装置,还包括:
信息发送单元,用于将所述内存分配单元获取的所述通信共享内存的通信共享内存信息发送至所述接收计算装置,以便于所述接收计算装置根据所述通信共享内存信息获取所述通信共享内存。
结合第五方面的第一种可能的实现方式,在第二种可能的实现方式中,所述信息发送单元包括:
内核分配子单元,用于在内核地址空间获取全局消息页,其中所述全局消息页包括所述接收计算装置的通知页和通知核;
写入子单元,用于将所述内核分配子单元获取的所述接收计算装置的通知页映射到自身地址空间中,并将通信共享内存信息写入所述通知页中;
发送子单元,用于通过所述内核分配子单元获取的所述发送计算装置的通知核向所述接收计算装置的通知核发送第一中断消息,以便所述接收计算装置根据所述第一中断消息在所述接收计算装置的通知页中获取所述通信共享内存信息。
结合第五方面的第二种可能的实现方式,在第三种可能的实现方式中,还包括:
中断消息接收单元,用于通过所述内核分配子单元获取的所述发送计算装置的通知核接收所述接收计算装置的通知核发送的第二中断消息;
确认消息发送单元,用于通过中断消息接收单元接收的第二中断消息在所述接收计算装置的通知页中获取发送确认消息。
结合第五方面,在第四种可能的实现方式中,所述内存分配单元具体用于在通信共享内存中获取空闲通信页。
结合第五方面的第四种可能的实现方式,在第五种可能的实现方式中,在所述消息发送单元包括:
消息上传子单元,用于将上传消息拷贝至所述空闲通信页生成通信页;
消息描述子单元,用于从所述消息上传子单元生成的通信页中获取通信描述页;
描述消息转移子单元,用于通过将所述消息描述子单元获取的通信描述页插入所述通信共享内存中的发送消息链表。
第六方面,提供一种接收计算装置,包括:
内存分配单元,用于获取通信共享内存,所述通信共享内存为所述发送计算装置和接收计算装置的共享内存;
消息接收单元,用于在所述内存分配单元中获取所述发送计算装置存入的发送消息。
结合第六方面,在第一种可能的实现方式中,所述接收计算装置,还包括:
信息接收单元,用于获取所述发送计算装置发送的通信共享内存信息;
所述内存分配单元,具体用于根据所述通信共享内存信息映射至所述通信共享内存,以便在所述通信共享内存中获取所述信息接收单元存入的发送消息。
结合第六方面的第一种可能的实现方式,在第二种可能的实现方式中,所述信息接收单元,包括:
中断消息接收子单元,用于接收所述接收计算装置的通知核接收所述发送计算装置的通知核发送的第一中断消息;
存入子单元,用于通过中断消息接收子单元接收的所述第一中断消息在所述接收计算装置的通知页中获取所述通信共享内存信息。
结合第六方面的第二种可能的实现方式,在第三种可能的实现方式中,在所述接收计算装置,还包括:
内核分配单元,用于在内核地址空间中获取全局消息页,其中所述全局消息页包括所述接收计算装置的通知页和通知核;
写入单元,用于通过所述内核分配单元将所述接收计算装置的通知页映射到自身地址空间中,并将发送确认消息写入所述通知页中;
发送单元,用于通过所述内核分配单元通过所述接收计算装置的通知核向所述发送计算装置的通知核发送第二中断消息,以便所述发送计算装置根据所述第二中断消息在所述发送计算装置的通知页中获取所述发送确认消息。
结合第六方面,在第四种可能的实现方式中,所述消息接收单元,包括:
接收扫描子单元,用于通过所述接收计算装置扫描所述通信共享内存中的接收消息链表;
描述页获取子单元,用于通过所述内存分配单元中的接收消息链表获取通信描述页。
结合第六方面的第四种可能的实现方式,在第五种可能的实现方式中,所述消息接收单元,包括:
消息下发子单元,用于通过所述描述页获取单元获取的描述页中获取端口号,并在所述端口号指示的端口上接收发送消息。
结合第六方面的第五种可能的实现方式,在第六种可能的实现方式中,还包括:
归还通信页单元,用于将所述完成发送消息的通信页插入所述通信共享内存中的待归还通信链表。
第七方面,提供一种管理装置,包括:
全局页生成单元,用于通过管理装置生成全局消息页,所述全局消息页包括接收计算装置的通知页和通知核;
全局页发送单元,用于通过管理装置将所述全局消息页映射到所有计算装置的内核地址空间中,其中所述通知页用于存储所述通知核用于传输中断消息。
第八方面,提供一种管理装置,包括:
发送扫描单元,用于通过管理装置扫描各个发送计算装置的发送消息链表;
描述页转移单元,用于通过所述管理装置将所述发送计算装置中的发送消息链表中的通信描述页插入接收计算装置的接收消息链表;
消息查询单元,用于通过所述管理装置查询各个计算装置中的待归还消息链表;
通信页归还单元,用于通过所述管理装置将所述待归还消息链表中的通信页插入对应的计算装置中。
第九方面,提供一种通信系统,包括至少两个计算装置,其中一个所述计算装置为第五方面或第五方面中任意一种可能的实现方式所述的发送计算装置,另一个所述计算装置为第六方面或第六方面中任意一种可能的实现方式所述的接收计算装置。
结合第九方面,在第一种可能的实现方式中,还包括第七方面和第八方面所述的管理装置。
通过上述方案,发送计算装置获取通信共享内存,通信共享内存为发送计算装置和接收计算装置的共享内存,在通信共享内存中存放发送消息,以便所述接收计算装置在所述通信共享内存获取所述发送消息,这样就能够消除消息传输过程中的数据内容拷贝及页表操作。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明的实施例提供的一种通信方法的流程示意图;
图2为本发明的实施例提供的另一种通信方法流程示意图;
图3为本发明的另一实施例提供的一种通信方法流程示意图;
图4为本发明的又一实施例提供的一种通信方法流程示意图;
图5为本发明的再一实施例提供的一种通信方法流程示意图;
图6为本发明的实施例提供的一种通信装置示意图;
图7为本发明的另一实施例提供的一种通信装置示意图;
图8为本发明的又一实施例提供的一种通信装置示意图;
图9为本发明的实施例提供的一种通信装置示意图;
图10为本发明的另一实施例提供的一种通信装置示意图;
图11为本发明的又一实施例提供的一种通信装置示意图;
图12为本发明的实施例提供的一种通信装置示意图;
图13为本发明的实施例提供的一种通信装置示意图;
图14为本发明的实施例提供的一种发送计算装置示意图;
图15为本发明的实施例提供的一种接收计算装置示意图;
图16为本发明的实施例提供的一种管理装置示意图;
图17为本发明的实施例提供的一种通信系统示意图;
图18为本发明的另一实施例提供的一种通信系统示意图;
图19为本发明的又一实施例提供的一种通信系统的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
本发明的实施例应用于通信系统中各个操作系统间通信数据的传输,以下各个实施例的论述中,操作系统架构于各自对应的计算装置,各个计算装置为对应的操作系统提供硬件上的支撑,即通过计算装置实现其相应的功能,管理操作系统通过管理装置实现其硬件部分的功能,具体以下实施例可以应用于多内核的操作系统,各个操作系统可以共享所在节点的节点资源,每个操作系统拥有独立的CPU,并独占节点中的部分内存。
具体的本发明的实施例提供一种通信方法,参照图1所示,在发送计算装置一侧,包括以下步骤:
101、发送计算装置获取通信共享内存,通信共享内存为发送计算装置和接收计算装置的共享内存。
按照上述的应用场景,可以理解的是发送计算装置和接收计算装置是平行的运行在一个节点内的。
102、发送计算装置在通信共享内存中存放发送消息,以便接收计算装置在通信共享内存获取发送消息。
本发明的实施例还提供一种通信方法,参照图2所示,在接收计算装置一侧,包括以下步骤:
201、接收计算装置获取通信共享内存,通信共享内存为发送计算装置和接收计算装置的共享内存;
202、接收计算装置在通信共享内存中获取发送计算装置存入的发送消息。
本发明的实施例提供的通信方法,发送计算装置获取通信共享内存,通信共享内存为发送计算装置和接收计算装置的共享内存,在通信共享内存中存放发送消息,以便接收计算装置在通信共享内存获取发送消息,这样就能够消除消息传输过程中的数据内容拷贝及页表操作。
本发明的另一实施例提供一种通信方法,包括发送计算装置、接收计算装置和管理装置之间的相互通信,按照上述的应用场景,可以理解的是发送计算装置、接收计算装置及管理装置是平行的运行在一个节点内的。
参照图3所示,包括以下步骤:
301、发送计算装置在通信共享内存中获取空闲通信页。
可选的,通信共享内存分为私有通信内存和共享通信内存,私有通信内存用来保存发送消息,通信共享内存用来承载接收消息。
其中,具体的通信共享内存获取过程可以为:在每个计算装置启动时,管理装置在通信共享内存中为该计算装置分配一部分内存作为该计算装置的私有通信内存。私有通信内存在计算装置启动时由管理装置从通信内存中指定,共享通信内存是所有通信内存中除私有通信内存之外的通信内存。管理装置将通信共享内存的分配情况、通信共享内存映射到的线性地址空间等信息保存在计算装置的启动参数中。当计算装置在启动过程中从启动参数中获取通信内存信息并将通信一一映射到对应的通信共享内存映射线性地址空间中。其中,私有通信内存将读写映射,用于保存从该计算装置发送的消息;其他共享通信内存将只读映射用于本计算装置篡改其他计算装置的消息内容,这部分通信共享内存将用于承载本计算装置的接收消息。
302、发送计算装置将发送消息拷贝至空闲通信页生成通信页。
303、发送计算装置获取通信页的通信描述页。
其中该通信描述页中可以包括:发送消息的大小,消息数据的地址、接收计算装置的ID(Identity,身份标识)、目标端口号等描述信息。
304、发送计算装置将通信描述页插入通信共享内存中的发送消息链表。
由于所有计算装置都将通信共享内存映射到同一端线性地址空间中,所以通信页和通信描述页的移动只需要进行链表操作(对队首指针的移动),而不需要进行数据拷贝,减少了通信开销。
305、管理装置扫描各个发送计算装置的发送消息链表。
306、管理装置将发送计算装置中的发送消息链表中的通信描述页插入接收计算装置的接收消息链表。
可选的,这里每个消息都有一个时间戳用于记录消息在接收消息链表中的停留时间,管理装置可以通过一个查询线程,对停留时间过长的接收消息优先处理。
307、接收计算装置扫描通信共享内存中的接收消息链表。
由于这里引入了接收计算装置扫描机制,可以避免装置之间通过通知消息控制数据的收发,因此避免了通知机制对正常传输的数据造成传输干扰。
308、接收计算装置在通信共享内存中的接收消息链表获取通信描述页。
309、接收计算装置在通信描述页中获取端口号,并在端口号指示的端口上从通信共享内存中接收发送消息。
310、接收计算装置将完成发送消息的通信页插入通信共享内存中的待归还通信链表。
311、管理装置查询各个计算装置中的待归还消息链表。
312、管理装置将待归还消息链表中的通信页插入对应的计算装置中。
通过以上步骤,可以实现在管理装置和计算装置之间通过全局消息通道层面实现计算装置之间的消息发送,其中管理装置在上述过程中起到维护计算装置的通信结构的作用,即对发送消息链表、接收消息链表、空闲通信页、通信页、待归还消息链表及通信描述页的维护。
本发明的实施例提供的通信方法,发送计算装置获取通信共享内存,通信共享内存为发送计算装置和接收计算装置的共享内存,在通信共享内存中存放发送消息,以便接收计算装置在通信共享内存获取发送消息,这样就能够消除消息传输过程中的数据内容拷贝及页表操作,进一步的由于不需要通过专门的信令通知各个计算装置进行发送消息的接收或发送,因此能够降低数据传输干扰。
在上述的基于全局消息通道的方案中,由于需要在链表中对数据按照队列排序进行传输,因此其实时性差将影响到系统的性能,本发明的另一实施例提供一种通信方法,能够基于计算装置之间的专用消息通道实现大量数据的实时传输,参照图4所示,包括以下步骤:
401、发送计算装置获取通信共享内存,通信共享内存为发送计算装置和接收计算装置的共享内存。
这里共享内存的分配可以参照上述实施例这里不再赘述。
402、发送计算装置将通信共享内存的通信共享内存信息发送至接收计算装置,以便于接收计算装置根据通信共享内存信息获取通信共享内存。
这里对于通信共享内存信息,计算装置可以通过通信查询线程查询通信共享内存的状态获取。
403、接收计算装置获取发送计算装置发送的通信共享内存信息;
404、接收计算装置根据通信共享内存信息映射至通信共享内存,在通信共享内存中获取发送计算装置存入的发送消息。
通过以上步骤可以实现计算装置间通过专用消息通道进行发送消息的传输,当然该传输过程也是基于计算装置之间配置有通信共享内存的。
可选的,结合专用消息通道的建立过程,本发明的实施例提供了一种通信方法,参照图5所示,包括以下步骤:
501、管理装置生成全局消息页,全局消息页包括接收计算装置的通知页和通知核;
502、管理装置将全局消息页映射到所有计算装置的内核地址空间中,其中通知页用于存储通知核,通知核用于传输中断消息。
503、发送计算装置获取通信共享内存。
504、发送计算装置在内核地址空间获取全局消息页,其中全局消息页包括接收计算装置的通知页和通知核;
505、发送计算装置将接收计算装置的通知页映射到自身地址空间中,并将通信共享内存信息写入通知页中;
506、发送计算装置通过发送计算装置的通知核向接收计算装置的通知核发送第一中断消息,以便接收计算装置根据第一中断消息在接收计算装置的通知页中获取通信共享内存信息。
507、接收计算装置通过接收计算装置的通知核接收发送计算装置的通知核发送的第一中断消息;
508、接收计算装置根据第一中断消息在接收计算装置的通知页中获取通信共享内存信息。
509、发送计算装置在通信共享内存中存放发送消息。
510、接收计算装置在内核地址空间获取全局消息页,其中全局消息页包括接收计算装置的通知页和通知核;
511、接收计算装置将接收计算装置的通知页映射到自身地址空间中,并将发送确认消息写入通知页中;
512、接收计算装置通过接收计算装置的通知核向发送计算装置的通知核发送第二中断消息,以便发送计算装置根据第二中断消息在发送计算装置的通知页中获取发送确认消息。
513、发送计算装置通过发送计算装置的通知核接收接收计算装置的通知核发送的第二中断消息;
514、发送计算装置根据第二中断消息在接收计算装置的通知页中获取发送确认消息。
上述过程中通过计算装置之间的控制消息通道,为计算装置建立了基于通信共享内存的专用消息通道,通过专用消息通道进行计算装置之间的数据传输,实现了两个计算装置间的实时传输和频繁传输。
本发明的实施例提供的通信方法,发送计算装置获取通信共享内存,通信共享内存为发送计算装置和接收计算装置的共享内存,在通信共享内存中存放发送消息,以便接收计算装置在通信共享内存获取发送消息,这样就能够消除消息传输过程中的文件及页表在计算装置的内存之间拷贝操作数据内容拷贝及页表操作,进一步的由于不需要通过专门的信令通知各个计算装置进行发送消息的接收或发送,因此能够降低数据传输干扰。
参照图6所示,提供一种发送计算装置6,用于实现上述方法实施例提供的通信方法,包括:
内存分配单元61,用于获取通信共享内存,通信共享内存为发送计算装置和接收计算装置的共享内存;
消息发送单元62,用于在内存分配单元61获取的通信共享内存中存放发送消息,以便接收计算装置在通信共享内存获取发送消息。
本发明的实施例提供的发送计算装置,发送计算装置获取通信共享内存,通信共享内存为发送计算装置和接收计算装置的共享内存,在通信共享内存中存放发送消息,以便接收计算装置在通信共享内存获取发送消息,这样就能够消除消息传输过程中的数据内容拷贝及页表操作。
进一步的,参照图7所示,发送计算装置6,还包括:
信息发送单元63,用于将内存分配单元61获取的通信共享内存的通信共享内存信息发送至接收计算装置,以便于接收计算装置根据通信共享内存信息获取通信共享内存。
可选的,信息发送单元63包括:
内核分配子单元631,用于在内核地址空间获取全局消息页,其中全局消息页包括接收计算装置的通知页和通知核;
写入子单元632,用于将内核分配子单元631获取的接收计算装置7的通知页映射到自身地址空间中,并将通信共享内存信息写入通知页中;
发送子单元633,用于通过内核分配子单元631获取的发送计算装置6的通知核向接收计算装置的通知核发送第一中断消息,以便接收计算装置根据第一中断消息在接收计算装置的通知页中获取通信共享内存信息。
可选的,发送计算装置6,还包括:
中断消息接收单元64,用于通过内核分配子单元631获取的发送计算装置6的通知核接收接收计算装置的通知核发送的第二中断消息;
确认消息发送单元65,用于通过中断消息接收单元64接收的第二中断消息在接收计算装置的通知页中获取发送确认消息。
上述过程中通过计算装置之间的控制消息通道,为计算装置建立了基于通信共享内存的专用消息通道,通过专用消息通道进行计算装置之间的数据传输,实现了两个计算装置间的实时传输和频繁传输;此外,进一步的由于不需要通过专门的信令通知各个计算装置进行发送消息的接收或发送,因此能够降低数据传输干扰。
进一步可选的,参照图8所示,内存分配单元61具体用于在通信共享内存中获取空闲通信页。
可选的,消息发送单元62包括:
消息上传子单元621,用于将上传消息拷贝至空闲通信页生成通信页;
消息描述子单元622,用于从消息上传子单元621生成的通信页中获取通信描述页;
描述消息转移子单元623,用于通过将消息描述子单元622获取的通信描述页插入通信共享内存中的发送消息链表。
参照图9所示,提供一种接收计算装置7,用于实现上述方法的实施例提供的通信方法,包括:
内存分配单元71,用于获取通信共享内存,通信共享内存为发送计算装置6和接收计算装置7的共享内存;
消息接收单元72,用于在内存分配单元71中获取发送计算装置6存入的发送消息。
本发明的实施例提供的通信装置,发送计算装置获取通信共享内存,通信共享内存为发送计算装置和接收计算装置的共享内存,在通信共享内存中存放发送消息,以便接收计算装置在通信共享内存获取发送消息,这样就能够消除消息传输过程中的数据内容拷贝及页表操作,进一步的由于不需要通过专门的信令通知各个计算装置进行发送消息的接收或发送,因此能够降低数据传输干扰。
进一步的,参照图10所示,接收计算装置7,还包括:
信息接收单元73,用于获取发送计算装置6发送的通信共享内存信息;
所述内存分配单元71,具体用于根据所述通信共享内存信息映射至所述通信共享内存,以便在所述通信共享内存中获取所述信息接收单元存入的发送消息。
可选的,信息接收单元73,包括:
中断消息接收子单元731,用于接收接收计算装置7的通知核接收发送计算装置6的通知核发送的第一中断消息;
存入子单元732,用于通过中断消息接收子单元731接收的第一中断消息在接收计算装置7的通知页中获取通信共享内存信息。
可选的,在接收计算装置7,还包括:
内核分配单元74,用于在内核地址空间中获取全局消息页,其中全局消息页包括接收计算装置7的通知页和通知核;
写入单元75,用于通过内核分配单元74将接收计算装置7的通知页映射到自身地址空间中,并将发送确认消息写入通知页中;
发送单元76,用于通过内核分配单元74通过接收计算装置7的通知核向发送计算装置6的通知核发送第二中断消息,以便发送计算装置6根据第二中断消息在发送计算装置6的通知页中获取发送确认消息。
上述过程中通过计算装置之间的控制消息通道,为计算装置建立了基于通信共享内存的专用消息通道,通过专用消息通道进行计算装置之间的数据传输,实现了两个计算装置间的实时传输和频繁传输;此外,进一步的由于不需要通过专门的信令通知各个计算装置进行发送消息的接收或发送,因此能够降低数据传输干扰。
进一步可选的,参照图11,消息接收单元72,包括:
接收扫描子单元721,用于通过接收计算装置7扫描通信共享内存中的接收消息链表;
描述页获取子单元722,用于通过内存分配单元71中的接收消息链表获取通信描述页;
可选的,消息接收单元72,包括:
消息下发子单元723,用于通过描述页获取单元78获取的描述页中获取端口号,并在端口号指示的端口上接收发送消息;
进一步的,该接收计算装置,包括:
归还通信页单元77,用于将完成发送消息的通信页插入通信共享内存中的待归还通信链表。
参照图12所示,提供一种管理装置8,包括:
全局页生成单元81,用于通过管理装置8生成全局消息页,所述全局消息页包括接收计算装置7的通知页和通知核;
全局页发送单元82,用于通过管理装置8将所述全局消息页映射到所有计算装置的内核地址空间中,其中所述通知页用于存储所述通知核用于传输中断消息。
参照图13所示,提供一种管理装置9,包括:
发送扫描单元91,用于通过管理装置扫描各个发送计算装置的发送消息链表;
描述页转移单元92,用于通过所述管理装置将所述发送计算装置中的发送消息链表中的通信描述页插入接收计算装置的接收消息链表;
消息查询单元93,用于通过所述管理装置查询各个计算装置中的待归还消息链表;
通信页归还单元94,用于通过所述管理装置将所述待归还消息链表中的通信页插入对应的虚拟机中。
参照图14所示,本发明的实施例提供一种发送计算装置10,包括处理器1001、存储器1002和数据总线1003,其中处理器和存储器通过数据总线连接,其中
该数据总线1003可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线1003可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1002用于存储数据或可执行程序代码,其中程序代码包括计算机操作指令,具体可以为:操作系统、应用程序等。存储器25可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器1001可能是一个中央处理器(Central Processing Unit,CPU),或者是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
处理器1001,用于获取通信共享内存,通信共享内存为发送计算装置和接收计算装置的共享内存;在通信共享内存中存放发送消息,以便接收计算装置在通信共享内存获取发送消息。
可选的,计算装置10还包括发射器1004,发射器1004与数据总线1003连接,处理器1001还用于通过发射器1004将通信共享内存的通信共享内存信息发送至接收计算装置,以便于接收计算装置根据通信共享内存信息获取通信共享内存。
进一步的,可选的处理器1001,具体用于在内核地址空间获取全局消息页,其中全局消息页包括接收计算装置的通知页和通知核;
将接收计算装置的通知页映射到自身地址空间中,并将通信共享内存信息写入通知页中;
处理器利用发射机通过发送计算装置的通知核向接收计算装置的通知核发送第一中断消息,以便接收计算装置根据第一中断消息在接收计算装置的通知页中获取通信共享内存信息。
进一步的,计算装置10还包括接收器1005,接收器1005与数据总线1003连接,
处理器1001利用接收器1005通过发送计算装置的通知核接收接收计算装置的通知核发送的第二中断消息;
处理器1001还用于根据第二中断消息通过发射器1004在接收计算装置的通知页中获取发送确认消息。
可选的,处理器1001具体用于在通信共享内存中获取空闲通信页。
进一步的,处理器具体用于将送消息拷贝至空闲通信页生成通信页;获取通信页的通信描述页;将通信描述页插入通信共享内存中的发送消息链表。
上述计算装置通过获取通信共享内存,通信共享内存为发送计算装置和接收计算装置的共享内存,在通信共享内存中存放发送消息,以便接收计算装置在通信共享内存获取发送消息,这样就能够消除消息传输过程中的数据内容拷贝及页表操作。
参照图15所示,本发明的实施例提供一种通信系统接收计算装置11,包括处理器1101、存储器1102和数据总线1103,其中处理器和存储器通过数据总线连接,其中
该数据总线1103可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线1103可以分为地址总线、数据总线、控制总线等。为便于表示,图15中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1102用于存储数据或可执行程序代码,其中程序代码包括计算机操作指令,具体可以为:操作系统、应用程序等。存储器1102可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器1101可能是一个中央处理器(Central Processing Unit,CPU),或者是特定集成电路(Application Specific IntegratedCircuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
处理器1101用于获取通信共享内存,通信共享内存为发送计算装置和接收计算装置的共享内存;在内存分配单元中获取发送计算装置存入的发送消息。
可选的,计算装置11还包括接收器1104,接收器1104与数据总线1103连接;接收器1104用于获取发送计算装置10发送的通信共享内存信息;
获取通信共享内存信息,包括:根据通信共享内存信息映射至通信共享内存,以便在通信共享内存中获取信息接收单元存入的发送消息。
进一步的,接收器1104用于接收接收计算装置的通知核接收发送计算装置的通知核发送的第一中断消息;还用于通过中断消息接收子单元接收的第一中断消息在接收计算装置的通知页中获取通信共享内存信息。
进一步的处理器1101具体用于在内核地址空间中获取全局消息页,其中全局消息页包括接收计算装置的通知页和通知核;
将接收计算装置11的通知页映射到自身地址空间中,并将发送确认消息写入通知页中;
通过接收计算装置11的通知核向发送计算装置的通知核发送第二中断消息,以便发送计算装置根据第二中断消息在发送计算装置的通知页中获取发送确认消息。
可选的接收器1104用于接收消息链表获取通信描述页。
进一步的,接收计算装置11还包括发射器1105,发射器1105与数据总线1103连接,获取的描述页中获取端口号,并在端口号指示的端口上接收发送消息;通过接收计算装置11将完成发送消息的通信页插入通信共享内存中的待归还通信链表。
上述计算装置通过获取通信共享内存,通信共享内存为发送计算装置和接收计算装置的共享内存,在通信共享内存中存放发送消息,以便接收计算装置在通信共享内存获取发送消息,这样就能够消除消息传输过程中的数据内容拷贝及页表操作,进一步的由于不需要通过专门的信令通知各个计算装置进行发送消息的接收或发送,经过接收计算装置11扫描消息接收链表可以判断是否存在消息,因此能够降低数据传输的干扰。
参照图16所示,本发明实施例提供一种管理装置12,包括:
包括处理器1201、存储器1202和数据总线1203,其中处理器和存储器通过数据总线连接,其中
该数据总线1203可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线1203可以分为地址总线、数据总线、控制总线等。为便于表示,图16中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1202用于存储数据或可执行程序代码,其中程序代码包括计算机操作指令,具体可以为:操作系统、应用程序等。存储器1202可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器1201可能是一个中央处理器(Central Processing Unit,CPU),或者是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
处理器1201用于生成全局消息页,全局消息页包括接收计算装置的通知页和通知核;并将全局消息页映射到所有计算装置的内核地址空间中,其中通知页用于存储通知核用于传输中断消息。
进一步的,处理器1201用于扫描各个发送计算装置的发送消息链表;
管理装置12还包括发射器1204,发射器1204与数据总线1103连接用于将发送计算装置中的发送消息链表中的通信描述页插入接收计算装置的接收消息链表;
处理器1201查询各个计算装置中的待归还消息链表;
发射器1204用于将待归还消息链表中的通信页插入对应的计算装置中。
上述管理装置12,通过扫描各个发送计算装置的发送消息链表确定是否需要通信描述页的转移,这样不需要通过专门的信令通知管理装置发送通信描述页,因此能够降低数据传输干扰。
参照图17所示,本发明实施例提供一种通信系统,包括:
至少两个计算装置,一个为发送计算装置1301,另一个为接收计算装置1302;
进一步可选的,还包括一个管理装置1303。
其中,发送计算装置、接收计算装置及管理装置运行在同一个节点内;它们的通信共享内存都分配在同一线性地址空间上,进行数据传输及页表操作。
其中,参照图18所示,发送计算装置10、接收计算装置11及管理装置12通过通信共享内存建立全局消息通道,主要用于进行非实时消息的传输,由管理装置实现信息的转发,具体过程参照上述方法及装置实施例的描述,这里不再赘述;
进一步的,参照图19所示,发送计算装置10和接收计算装置11可以通过通信共享内存建立专用消息通道,主要用于进行实时消息的传输,其中专用消息通道的建立可以通过各计算装置与管理装置12之间控制消息通道传输的控制信息控制实现,具体过程参照上述方法及装置实施例的描述,这里就不在赘述。
以上的通信系统,发送计算装置获取通信共享内存,通信共享内存为发送计算装置和接收计算装置的共享内存,在通信共享内存中存放发送消息,以便接收计算装置在通信共享内存获取发送消息,这样就能够消除消息传输过程中的数据内容拷贝及页表操作,进一步的由于不需要通过专门的信令通知各个计算装置进行发送消息的接收或发送,因此能够降低数据传输干扰;由全局通道实现非实时消息传输,并由专用消息通道实现实时消息传输和频繁的消息传输,提高了通信系统的灵活性。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (24)

1.一种通信方法,其特征在于,包括:
发送计算装置获取通信共享内存,所述通信共享内存为所述发送计算装置和接收计算装置的共享内存;
在所述通信共享内存中存放发送消息,以便所述接收计算装置在所述通信共享内存获取所述发送消息;
所述发送计算装置获取通信共享内存之后,包括:
所述发送计算装置将所述通信共享内存的通信共享内存信息发送至所述接收计算装置,以便于所述接收计算装置根据所述通信共享内存信息获取所述通信共享内存;
所述发送计算装置将所述通信共享内存的通信共享内存信息发送至所述接收计算装置,包括:
所述发送计算装置在内核地址空间获取全局消息页,其中,所述全局消息页是由管理装置生成的,所述全局消息页包括所述接收计算装置的通知页和通知核;
所述发送计算装置将所述接收计算装置的通知页映射到自身地址空间中,并将通信共享内存信息写入所述通知页中;
所述发送计算装置通过所述发送计算装置的通知核向所述接收计算装置的通知核发送第一中断消息,以便所述接收计算装置根据所述第一中断消息在所述接收计算装置的通知页中获取所述通信共享内存信息。
2.根据权利要求1所述的通信方法,其特征在于,在所述通信共享内存中存放发送消息之后,所述方法还包括:
所述发送计算装置通过所述发送计算装置的通知核接收所述接收计算装置的通知核发送的第二中断消息;
所述发送计算装置根据所述第二中断消息在所述接收计算装置的通知页中获取发送确认消息。
3.根据权利要求1所述的通信方法,其特征在于,所述发送计算装置获取通信共享内存,包括:
所述发送计算装置在通信共享内存中获取空闲通信页。
4.根据权利要求3所述的通信方法,其特征在于,在所述通信共享内存中存放发送消息,包括:
将所述发送消息拷贝至所述空闲通信页生成通信页;
获取所述通信页的通信描述页;
将所述通信描述页插入所述通信共享内存中的发送消息链表。
5.一种通信方法,其特征在于,包括:
接收计算装置获取通信共享内存,所述通信共享内存为发送计算装置和接收计算装置的共享内存;
在所述通信共享内存中获取所述发送计算装置存入的发送消息;
所述接收计算装置获取通信共享内存之前,包括:
所述接收计算装置获取所述发送计算装置发送的通信共享内存信息;
所述接收计算装置获取通信共享内存,包括:
根据所述通信共享内存信息映射至所述通信共享内存,以便在所述通信共享内存中获取所述发送计算装置存入的发送消息;
所述接收计算装置获取所述发送计算装置发送的通信共享内存信息,包括:
所述接收计算装置通过所述接收计算装置的通知核接收所述发送计算装置的通知核发送的第一中断消息;
所述接收计算装置根据所述第一中断消息在所述接收计算装置的通知页中获取所述通信共享内存信息。
6.根据权利要求5所述的通信方法,其特征在于,在所述通信共享内存中获取所述发送计算装置存入的发送消息之后,还包括:
所述接收计算装置在内核地址空间获取全局消息页,其中所述全局消息页包括所述接收计算装置的通知页和通知核;
所述接收计算装置将所述接收计算装置的通知页映射到自身地址空间中,并将发送确认消息写入所述通知页中;
所述接收计算装置通过所述接收计算装置的通知核向所述发送计算装置的通知核发送第二中断消息,以便所述发送计算装置根据所述第二中断消息在所述发送计算装置的通知页中获取所述发送确认消息。
7.根据权利要求5所述的通信方法,其特征在于,所述接收计算装置获取发送计算装置发送的通信共享内存信息,包括:
所述接收计算装置扫描所述通信共享内存中的接收消息链表;
在所述通信共享内存中的接收消息链表获取通信描述页。
8.根据权利要求7所述的通信方法,其特征在于,在所述通信共享内存中获取所述发送计算装置存入的发送消息,包括:
在所述通信描述页中获取端口号,并在所述端口号指示的端口上从所述通信共享内存中接收发送消息。
9.根据权利要求8所述的通信方法,在所述通信共享内存中获取所述发送计算装置存入的发送消息之后,包括:
所述接收计算装置将所述完成发送消息的通信页插入所述通信共享内存中的待归还通信链表。
10.一种通信方法,其特征在于,包括:
管理装置生成全局消息页,所述全局消息页包括接收计算装置的通知页和通知核;
将所述全局消息页映射到所有计算装置的内核地址空间中,其中所述通知页用于存储所述通知核,所述通知核用于传输中断消息;
所述方法还包括:发送计算装置在内核地址空间获取全局消息页,其中,所述全局消息页是由管理装置生成的,所述全局消息页包括所述接收计算装置的通知页和通知核;
所述发送计算装置将所述接收计算装置的通知页映射到自身地址空间中,并将通信共享内存信息写入所述通知页中;
所述发送计算装置通过所述发送计算装置的通知核向所述接收计算装置的通知核发送第一中断消息,以便所述接收计算装置根据所述第一中断消息在所述接收计算装置的通知页中获取所述通信共享内存信息。
11.根据权利要求10所述的通信方法,其特征在于,所述方法还包括:
管理装置扫描各个发送计算装置的发送消息链表;
将所述发送计算装置中的发送消息链表中的通信描述页插入接收计算装置的接收消息链表;
所述管理装置查询各个计算装置中的待归还消息链表;
将所述待归还消息链表中的通信页插入对应的计算装置中。
12.一种发送计算装置,其特征在于,包括:
内存分配单元,用于获取通信共享内存,所述通信共享内存为所述发送计算装置和接收计算装置的共享内存;
消息发送单元,用于在所述内存分配单元获取的所述通信共享内存中存放发送消息,以便所述接收计算装置在所述通信共享内存获取所述发送消息;
所述发送计算装置,还包括:
信息发送单元,用于将所述内存分配单元获取的所述通信共享内存的通信共享内存信息发送至所述接收计算装置,以便于所述接收计算装置根据所述通信共享内存信息获取所述通信共享内存;
所述信息发送单元包括:
内核分配子单元,用于在内核地址空间获取全局消息页,其中,所述全局消息页是由管理装置生成的,所述全局消息页包括所述接收计算装置的通知页和通知核;
写入子单元,用于将所述内核分配子单元获取的所述接收计算装置的通知页映射到自身地址空间中,并将通信共享内存信息写入所述通知页中;
发送子单元,用于通过所述内核分配子单元获取的所述发送计算装置的通知核向所述接收计算装置的通知核发送第一中断消息,以便所述接收计算装置根据所述第一中断消息在所述接收计算装置的通知页中获取所述通信共享内存信息。
13.根据权利要求12所述的发送计算装置,其特征在于,还包括:
中断消息接收单元,用于通过所述内核分配子单元获取的所述发送计算装置的通知核接收所述接收计算装置的通知核发送的第二中断消息;
确认消息发送单元,用于通过中断消息接收单元接收的第二中断消息在所述接收计算装置的通知页中获取发送确认消息。
14.根据权利要求12所述的发送计算装置,其特征在于,所述内存分配单元具体用于在通信共享内存中获取空闲通信页。
15.根据权利要求14所述的发送计算装置,其特征在于,所述消息发送单元包括:
消息上传子单元,用于将发送消息拷贝至所述空闲通信页生成通信页;
消息描述子单元,用于从所述消息上传子单元生成的通信页中获取通信描述页;
描述消息转移子单元,用于将所述消息描述子单元获取的通信描述页插入所述通信共享内存中的发送消息链表。
16.一种接收计算装置,其特征在于,包括:
内存分配单元,用于获取通信共享内存,所述通信共享内存为发送计算装置和接收计算装置的共享内存;
消息接收单元,用于在所述内存分配单元中获取所述发送计算装置存入的发送消息;
所述接收计算装置,还包括:
信息接收单元,用于获取所述发送计算装置发送的通信共享内存信息;
所述内存分配单元,具体用于根据所述通信共享内存信息映射至所述通信共享内存,以便在所述通信共享内存中获取所述信息接收单元存入的发送消息;
所述信息接收单元,包括:
中断消息接收子单元,用于接收所述接收计算装置的通知核接收所述发送计算装置的通知核发送的第一中断消息;
存入子单元,用于通过中断消息接收子单元接收的所述第一中断消息在所述接收计算装置的通知页中获取所述通信共享内存信息。
17.根据权利要求16所述的接收计算装置,其特征在于,所述接收计算装置,还包括:
内核分配单元,用于在内核地址空间中获取全局消息页,其中所述全局消息页包括所述接收计算装置的通知页和通知核;
写入单元,用于通过所述内核分配单元将所述接收计算装置的通知页映射到自身地址空间中,并将发送确认消息写入所述通知页中;
发送单元,用于通过所述内核分配单元通过所述接收计算装置的通知核向所述发送计算装置的通知核发送第二中断消息,以便所述发送计算装置根据所述第二中断消息在所述发送计算装置的通知页中获取所述发送确认消息。
18.根据权利要求16所述的接收计算装置,其特征在于,所述消息接收单元,包括:
接收扫描子单元,用于通过所述接收计算装置扫描所述通信共享内存中的接收消息链表;
描述页获取子单元,用于通过所述内存分配单元中的接收消息链表获取通信描述页。
19.根据权利要求18所述的接收计算装置,其特征在于,所述消息接收单元,包括:
消息下发子单元,用于通过所述描述页获取子单元获取的描述页中获取端口号,并在所述端口号指示的端口上接收发送消息。
20.根据权利要求19所述的接收计算装置,其特征在于,还包括:
归还通信页单元,用于将所述完成发送消息的通信页插入所述通信共享内存中的待归还通信链表。
21.一种管理装置,其特征在于,包括:
全局页生成单元,用于通过管理装置生成全局消息页,以便于发送计算装置在内核地址空间获取所述全局消息页,将接收计算装置的通知页映射到自身地址空间中,并将通信共享内存信息写入通知页中,通过所述发送计算装置的通知核向所述接收计算装置的通知核发送第一中断消息,使得所述接收计算装置根据所述第一中断消息在所述接收计算装置的通知页中获取所述通信共享内存信息,所述全局消息页包括接收计算装置的通知页和通知核;
全局页发送单元,用于通过管理装置将所述全局消息页映射到所有计算装置的内核地址空间中,其中所述通知页用于存储所述通知核,所述通知核用于传输中断消息。
22.根据权利要求21所述的管理装置,其特征在于,包括:
发送扫描单元,用于通过管理装置扫描各个发送计算装置的发送消息链表;
描述页转移单元,用于通过所述管理装置将所述发送计算装置中的发送消息链表中的通信描述页插入接收计算装置的接收消息链表;
消息查询单元,用于通过所述管理装置查询各个计算装置中的待归还消息链表;
通信页归还单元,用于通过所述管理装置将所述待归还消息链表中的通信页插入对应的计算装置中。
23.一种通信系统,其特征在于,包括至少两个计算装置,其中一个所述计算装置为权利要求12-15任一项所述的发送计算装置,另一个所述计算装置为权利要求16至20任一项所述的接收计算装置。
24.根据权利要求23所述的通信系统,其特征在于,还包括权利要求21或22所述的管理装置。
CN201310384480.1A 2013-08-29 2013-08-29 一种通信方法、装置及系统 Active CN104426958B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310384480.1A CN104426958B (zh) 2013-08-29 2013-08-29 一种通信方法、装置及系统
PCT/CN2014/083641 WO2015027797A1 (zh) 2013-08-29 2014-08-04 一种通信方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310384480.1A CN104426958B (zh) 2013-08-29 2013-08-29 一种通信方法、装置及系统

Publications (2)

Publication Number Publication Date
CN104426958A CN104426958A (zh) 2015-03-18
CN104426958B true CN104426958B (zh) 2018-03-16

Family

ID=52585530

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310384480.1A Active CN104426958B (zh) 2013-08-29 2013-08-29 一种通信方法、装置及系统

Country Status (2)

Country Link
CN (1) CN104426958B (zh)
WO (1) WO2015027797A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105045727B (zh) * 2015-08-14 2018-06-26 华为技术有限公司 一种访问共享内存的方法及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496880B1 (en) * 1999-08-26 2002-12-17 Agere Systems Inc. Shared I/O ports for multi-core designs
CN1904873A (zh) * 2005-07-28 2007-01-31 大唐移动通信设备有限公司 嵌入式实时操作系统中多核处理器的核间通信方法及装置
CN101000596A (zh) * 2007-01-22 2007-07-18 北京中星微电子有限公司 一种可实现芯片内多核间通信的芯片及通信方法
CN101354693A (zh) * 2008-09-11 2009-01-28 重庆邮电大学 一种异构多核处理器的核间通信调度系统及方法
CN101477511A (zh) * 2008-12-31 2009-07-08 杭州华三通信技术有限公司 一种实现多操作系统共享存储介质的方法和装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6976155B2 (en) * 2001-06-12 2005-12-13 Intel Corporation Method and apparatus for communicating between processing entities in a multi-processor
US6976131B2 (en) * 2002-08-23 2005-12-13 Intel Corporation Method and apparatus for shared cache coherency for a chip multiprocessor or multiprocessor system
US8015567B2 (en) * 2002-10-08 2011-09-06 Netlogic Microsystems, Inc. Advanced processor with mechanism for packet distribution at high line rate

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496880B1 (en) * 1999-08-26 2002-12-17 Agere Systems Inc. Shared I/O ports for multi-core designs
CN1904873A (zh) * 2005-07-28 2007-01-31 大唐移动通信设备有限公司 嵌入式实时操作系统中多核处理器的核间通信方法及装置
CN101000596A (zh) * 2007-01-22 2007-07-18 北京中星微电子有限公司 一种可实现芯片内多核间通信的芯片及通信方法
CN101354693A (zh) * 2008-09-11 2009-01-28 重庆邮电大学 一种异构多核处理器的核间通信调度系统及方法
CN101477511A (zh) * 2008-12-31 2009-07-08 杭州华三通信技术有限公司 一种实现多操作系统共享存储介质的方法和装置

Also Published As

Publication number Publication date
CN104426958A (zh) 2015-03-18
WO2015027797A1 (zh) 2015-03-05

Similar Documents

Publication Publication Date Title
US10572290B2 (en) Method and apparatus for allocating a physical resource to a virtual machine
CN103119912B (zh) 多处理器计算平台中的处理器间通信技术
CN101128807B (zh) 用于扩充中断控制器和合成中断来源的系统和方法
US9053266B2 (en) Computing system with hardware bus management and method of operation thereof
CN102648455B (zh) 服务器和流控制程序
US9769084B2 (en) Optimizing placement of virtual machines
CN107690622A (zh) 实现硬件加速处理的方法、设备和系统
US9665921B2 (en) Adaptive OpenGL 3D graphics in virtual desktop infrastructure
CN106648896B (zh) 一种Zynq芯片在异构称多处理模式下双核共享输出外设的方法
US9178839B2 (en) Sharing buffer space in link aggregation configurations
CN104216862B (zh) 一种用户进程与系统服务之间的通信方法、装置
JP2015537307A (ja) コンポーネント指向ハイブリッドクラウドオペレーティングシステムのアーキテクチャ及びその通信方法
CN101262501B (zh) 一种多核系统中的核间通信方法和一种多核系统
CN102541803A (zh) 数据发送方法和计算机
US20130315236A1 (en) High Speed Variable Bandwidth Ring-Based System
CN105242872A (zh) 一种面向虚拟集群的共享存储系统
CN107436798A (zh) 一种基于numa节点的进程访问方法及装置
CN103455371A (zh) 用于优化的管芯内小节点间消息通信的方法和系统
CN103986585A (zh) 报文预处理方法及其装置
CN104883302A (zh) 一种数据包转发的方法、装置及系统
CN108228309A (zh) 基于虚拟机的数据包发送和接收方法及装置
CN102375789B (zh) 一种通用网卡非缓存的零拷贝方法及零拷贝系统
US20190324930A1 (en) Method, device and computer program product for enabling sr-iov functions in endpoint device
CN104123173B (zh) 一种实现虚拟机间通信的方法及装置
CN106569874A (zh) 存储设备的操作方法及物理服务器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant