[发明专利]一种全局内存共享方法、装置和一种通信系统有效
申请号: | 201210548012.9 | 申请日: | 2012-12-17 |
公开(公告)号: | CN103870333B | 公开(公告)日: | 2017-08-29 |
发明(设计)人: | 谭崇康;陆钢;詹剑锋;张立新 | 申请(专利权)人: | 华为技术有限公司;中国科学院计算技术研究所 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙)44285 | 代理人: | 唐华明 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 全局 内存 共享 方法 装置 通信 系统 | ||
技术领域
本发明涉及通信领域,尤其涉及一种全局内存共享方法、装置和一种通信系统。
背景技术
随着数据量和数据处理需求的进一步提升,负载对操作系统的性能要求越来越高,微内核、多内核已经成为了操作系统未来发展的一个趋势。多内核协同工作能够很好隔离应用、提升系统的吞吐率以及较大地提高系统性能。因而,在面临着大数据处理的今天,各种多内核系统(或多操作系统)也逐渐步入人们的视线,从传统的计算机集群系统到如今比较热门的异构操作系统都是人们在这方面的尝试。
多操作系统结构的主要思想是采用这种方式能够将不同的负载分配到不同的操作系统内核上执行,如此既能够提高系统的处理能力又能兼容不同操作系统上的应用。与传统的基于计算机集群的多操作系统结构相比,现在的多操作系统的粒度已经由操作系统降低到操作系统内核。即便如此,这种计算与资源共享分离的设计思想仍然没有改变。换言之,采用这种设计,所有的内核在计算上是独立的即独立处理负载,但在资源使用上各个操作系统共享整个多操作系统结构的资源,例如输入/输出(Input/Output,I/O)、内存等。
就内存这一多操作系统结构的资源而言,现存的多操作系统结构大多都采用全局内存共享方式,即,每个CPU都运行这各自独立的子操作系统;而各个子操作系统之间通过PCIe总线或网络等形式访问全局内存池;整个多操作系统存在一个全局内存管理服务来负责协调子操作系统之间对全局内存的占用情况。
对于全局内存的共享情况而言,各种多操作系统结构所采取的策略则不太一样。现有技术的一种典型设计为:如果将全局内存抽象成一条“内存带”,则由全局内存管理服务系统或模块按照固定顺序从前往后将“内存带”的内存以块数为基本单位分配给各个子操作系统的内核区(Kernel Section),即各个子操作系统的内核区占用内存的顺序是从前往后固定排列,内核区分配的内存在整个多操作系统的运行过程中不会更改,而各个子操作系统的用户区(General Section)则从后往前由全局内存管理服务系统或模块分配而获得“内存带”的内存。与内核区的内存分配不同的是,用户区的内存分配是动态分配,属于各个子操作系统的页面之间没有顺序。
上述现有采用全局内存共享方式的多操作系统结构存在的缺陷为:各个子操作系统缺乏主动内存感知的能力,所有的全局内存管理工作都交由全局内存管理服务处理,从而造成全局内存管理编码复杂,执行效率低,也影响整个系统的性能。
发明内容
本发明实施例提供全局内存共享方法、装置和一种通信系统,以提高子操作系统的自主性和降低全局内存管理服务的压力。
本发明实施例提供一种全局内存共享方法,所述方法包括:
子操作系统统计预定次数的任务轮转期间页面换出率和换页期间的内存驻留时间比值;
所述子操作系统根据所述页面换出率和内存驻留时间比值计算内存压力指标;
若所述内存压力指标大于内存压力阈值,则所述子操作系统向全局内存管理服务发出申请,所述申请用于从全局共享内存分配当前可获取的内存。
本发明另一实施例提供一种全局内存共享方法,所述方法包括:
全局内存管理服务接收子操作系统发出的用于从全局共享内存分配当前可获取内存的申请;
所述全局内存管理服务将全局空闲内存队列中可分配的内存块标记为不可用状态并向所述子操作系统发送内存分配消息,所述内存分配消息携带可分配内存块的描述消息;
所述全局内存管理服务接收所述子操作系统返回的更新确认消息;
所述全局内存管理服务根据所述更新确认消息将所述标记为不可用状态的内存块从所述全局空闲内存队列中删除;
所述全局内存管理服务向所述子操作系统发送所述更新确认消息的响应消息。
本发明实施例提供一种全局内存共享装置,所述装置包括:
统计模块,用于统计预定次数的任务轮转期间页面换出率和换页期间的内存驻留时间比值;
计算模块,用于根据所述页面换出率和内存驻留时间比值计算内存压力指标;
内存申请模块,用于所述内存压力指标大于内存压力阈值时向全局内存管理服务发出申请,所述申请用于从全局共享内存分配当前可获取的内存。
本发明另一实施例提供一种全局内存共享装置,所述装置包括:
申请接收模块,用于接收子操作系统发出的用于从全局共享内存分配当前可获取内存的申请;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学院计算技术研究所,未经华为技术有限公司;中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210548012.9/2.html,转载请声明来源钻瓜专利网。