- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
多核系统内存管理算法的研究
摘 要
传统超标量处理器在典型程序指令流中不能发掘出更多的并行性,阻碍了单核处理
器性能的提升。多核处理器成为继续提升系统性能的一种新技术途径,为构建高性能处
理器提供了良好的硬件基础。
为充分发挥多核处理器的高性能优势,需要设计更好的操作系统策略与之匹配,这
就给操作系统的设计者提出了新的技术挑战。内存管理作为操作系统的重要组成部分,
对构建高性能多核操作系统起着至关重要的作用。在Linux操作系统中,其内核代码是
开放的,使内核数据结构及算法的改进成为可能,为多核处理器内存管理的研究提供了
一个良好实验平台。
SLAB算法。但是,在Buddy算法中由于某些连续内存块不能满足伙伴块的要求,导致内
存中出现了许多较大的不能进行合并的连续内存块,降低了内存利用率。基于Buddy算
法的不足,本文提出了一种部分延迟放宽合并算法,通过将连续的内存块进行合并,为
内存分配提供了充足的空间,减少了系统中的内存碎片,提高了多核处理器内存利用率;
同时,在原伙伴的基础上,通过将空闲链表分为伙伴忙空闲链表和伙伴闲空闲链表,延
迟了伙伴块的合并时间,减少了内存的分裂与合并频率,提高了系统的运行时间。SLAB
算法通过将频繁分配释放的对象缓存起来提高了内存系统的空间和时间性能,但是该算
法对缓冲区内存的回收比较复杂。本文在原有SLAB算法的基础上引入了本地SLAB队
列,通过本地SLAB队列和半满SLAB队列的使用,减少了自旋锁的使用,降低了核间共
享内存的争用,提高了多核处理器内存访问的速度。
台,在实验平台上使用不同的内存管理算法进行了测试。测试结果表明:新算法减少了
内存碎片的产生,提高了多核处理器系统的并行性。
多核系统内存管理算法的研究
Abstract
Thetraditional inthe instructionstreamCallnot
superscalarprocessortypicalprogram
discovermorc hindersthe of
parallelism,whichperformanceimprovementsingle—core
Multi-core consideredasanewtechnicaltoenhancethe
processors processors way system
a foundationfor hardware
performancecontinuallyprovidegood buildinghigh—performance
The inmaximizethe ofmulti·core needsto
changes performanceadvantages processors
better tomatch newtechnical
design it,which
operatingsystemstrategies presents challenges
forthe an ofthe
operatingsystemdesigners.Asimportantcomponentoperatingsystem,
avitalroleof multi·-core
memorymanagementplays buildinghigh··performance
文档评论(0)