[发明专利]一种通信方法、装置及系统有效
申请号: | 201310384480.1 | 申请日: | 2013-08-29 |
公开(公告)号: | CN104426958B | 公开(公告)日: | 2018-03-16 |
发明(设计)人: | 谭崇康;高云伟;詹剑锋;解壁伟 | 申请(专利权)人: | 华为技术有限公司;中国科学院计算技术研究所 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F17/30 |
代理公司: | 北京中博世达专利商标代理有限公司11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 通信 方法 装置 系统 | ||
技术领域
本发明涉及通信领域,尤其涉及一种通信方法、装置及系统。
背景技术
平行化虚拟系统是针对多核、众核架构提出的一种多内核操作系统的部署方式。在平行虚拟化系统中,多个操作系统内核共享同一个节点硬件资源,管理操作系统内核采用侧服的方式为计算操作系统内核提供服务,这与传统计算内核执行在虚拟机监控器(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,大消息将被拆分成多个小消息分别进行传输。这就造成了需要多次传输,导致增加通知操作的次数。
在实现上述平行化虚拟系统中的通信过程中,发明人发现现有技术中至少存在如下问题:
上述通信系统在消息的传输过程中,需要进行两次通知操作和一次数据拷贝操作,通信开销较大;通信消息大小固定化将增加通知操作的次数,增加开销;通信系统中的通知机制对于正常的操作系统的任务执行有较大的干扰。
发明内容
本发明的实施例提供一种通信方法及装置,能够消除消息传输过程中的文件及页表的拷贝操作,降低通知机制对正常任务执行的干扰。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种通信方法,包括:
发送计算装置获取通信共享内存,所述通信共享内存为所述发送计算装置和接收计算装置的共享内存;
在所述通信共享内存中存放发送消息,以便所述接收计算装置在所述通信共享内存获取所述发送消息。
结合第一方面,在第一种可能的实现方式中,所述发送计算装置获取通信共享内存之后,包括:
所述发送计算装置将所述通信共享内存的通信共享内存信息发送至所述接收计算装置,以便于所述接收计算装置根据所述通信共享内存信息获取所述通信共享内存。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述发送计算装置将所述通信共享内存的通信共享内存信息发送至所述接收计算装置,包括:
所述发送计算装置在内核地址空间获取全局消息页,其中所述全局消息页包括所述接收计算装置的通知页和通知核;
所述发送计算装置将所述接收计算装置的通知页映射到自身地址空间中,并将通信共享内存信息写入所述通知页中;
所述发送计算装置通过所述发送计算装置的通知核向所述接收计算装置的通知核发送第一中断消息,以便所述接收计算装置根据所述第一中断消息在所述接收计算装置的通知页中获取所述通信共享内存信息。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,在所述通信共享内存中存放发送消息之后,所述方法还包括:
所述发送计算装置通过所述发送计算装置的通知核接收所述接收计算装置的通知核发送的第二中断消息;
所述发送计算装置根据所述第二中断消息在所述接收计算装置的通知页中获取发送确认消息。
结合第一方面,在第四种可能的实现方式中,所述发送计算装置获取通信共享内存,包括:
所述发送计算装置在通信共享内存中获取空闲通信页。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,在所述通信共享内存中存放发送消息,包括:
将所述发送消息拷贝至所述空闲通信页生成通信页;
获取所述通信页的通信描述页;
将所述通信描述页插入所述通信共享内存中的发送消息链表。
第二方面,提供一种通信方法,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学院计算技术研究所,未经华为技术有限公司;中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310384480.1/2.html,转载请声明来源钻瓜专利网。