[发明专利]一种多核系统的资源管理方法和控制核有效
申请号: | 200710121337.8 | 申请日: | 2007-09-04 |
公开(公告)号: | CN101110043A | 公开(公告)日: | 2008-01-23 |
发明(设计)人: | 张雪峰 | 申请(专利权)人: | 杭州华三通信技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F17/30 |
代理公司: | 北京德琦知识产权代理有限公司 | 代理人: | 宋志强;麻海明 |
地址: | 310053浙江省杭州市高新技术产业*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多核 系统 资源管理 方法 控制 | ||
技术领域
本发明涉及资源分配技术,特别涉及一种多核系统的资源管理方法和控制核。
背景技术
多核中央处理单元(CPU)可看作将多个通用的中央处理单元(CPU)以及一些功能部件集成到一块芯片中形成的一个系统级芯片(SOC),本文中,将多核CPU中的通用CPU称为核(core)。将应用多核CPU的系统称为多核系统。在多核系统中,各个核之间可以并发访问临界资源(又称共享资源),这些共享资源的分配和访问需要一定的机制进行控制和管理,以保证系统的正常运行。
多核系统的一个典型应用是在路由器产品中,管理大量的路由等转发表项信息,完成报文的路由和转发。在应用多核系统的路由器产品中,分配的共享资源用于建立转发表项。具体地,当需要建立转发表项时,分配一定的共享资源(即共享的一块内存空间),利用该资源建立转发表项;当需要删除转发表项时,释放承载该转发表项的共享资源。
一般在路由器产品中,存在一个控制core负责转发表项维护操作(包括增加和删除转发表项等),其他的core处理转发业务会频繁的访问控制core维护的转发表项,称为控制core。为了实现高速的转发处理,要求在数据转发过程中能够快速的命中表项,也就是查找到指定资源,达到高速的数据转发能力;并且,在大容量路由处理环境下能够快速完成建立表项,也就是完成资源分配;同时,由于存在多核对转发表项的访问,所以需要解决访问冲突的问题,也就是并发访问共享资源的冲突问题。
在资源管理过程中,如果不存在资源释放操作,那么采用顺序分配的资源分配方式,即可以保证资源分配的连续性。但事实上,很多情况下会出现资源释放操作,例如网络路由状况发生改变需要删除某个转发表项,这时,释放的资源成为可分配的资源,那么已分配的资源就不再是连续的,而出现了某些可分配的空洞。如果仍然采用顺序分配方案,则这些被释放的资源就无法被重新利用。
目前,在多核系统中,可以采用HASH索引表+资源池的方案进行资源的管理,以实现上述快速分配资源、查找指定资源和解决并发访问冲突的问题,同时能够尽可能利用所有可分配资源。其中,资源池即为所有可分配的共享资源区域(即共享的内存空间)。
具体地,图1为路由器产品中应用HASH索引表+资源池方案的示意图,其资源分配方法具体包括:遍历资源池中的资源,以获取空闲资源,并为该资源设置有效标志;然后,将该设置有效标志后的资源和HASH索引表做关联,在HASH索引表中相应key值(如图1中所示的“1”和“3”)的位置上写入该资源的地址信息。上述分配的资源可以上报给上层单元,用于写入要创建的转发表项。
当需要将建立好的转发表项删除时,具体可以为:获取将要删除资源的地址信息,为该资源设置无效标志,并将该资源与HASH索引表去掉关联,也就是将HASH索引表中相应key值的位置置空。
因为采用资源池的方式,所以表项操作的性能都可以得到保证,同时采用HASH索引表表项查询的效率也能够满足要求。对于访问冲突问题,可以通过延迟删除的方式解决。使用延迟删除方式时,所有的Core/Thread共享唯一的表项,创建新的转发表项时,先创建新的表项将老的表项替换掉,保证后续的查找使用新的表项;老的表项挂在回收链上延时一段时间再删除,保证更新操作时正在访问该表项的Core/Thread不会访问非法地址。
但是,采用上述HASH索引表+资源池的方案也存在以下缺点:
1、由于资源分配的非连续性,导致在进行资源分配时,需要遍历资源池以找到空闲资源,极大地影响了资源分配效率;
2、在需要对转发表进行遍历操作(例如,要显示所有有效表项时)或要删除整个转发表时,需要遍历整个资源池以找到其中的有效或满足条件的表项;实际上有效或满足条件的表项在整个转发表中所占的比例较小,但需遍历整个转发表,增加了许多无用的查找操作,极大的影响了转发效率。
3、需要删除特定转发表项时,为避免有正在访问该表项的报文访问已经释放的内存空间,引入的延迟删除机制增加了算法的复杂度。在大量路由频繁振荡情况下,延迟删除链会很长,有可能造成内存耗尽,进而无法分配新的可用资源以建立新的转发表项。
4、由于在资源分配时返回首个匹配条件的空闲资源,因此,在表项反复增删的条件下,刚释放的资源可能又被作为新分配的资源使用。这种方式不利于程序稳定,例如反复增删过程丢失一个删除消息,有可能使得后续增加消息使用错误的资源。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州华三通信技术有限公司,未经杭州华三通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710121337.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:锅炉
- 下一篇:机床传动丝杠的无动力随动辅助支承装置