计算机研究与发展
計算機研究與髮展
계산궤연구여발전
JOURNAL OF COMPUTER RESEARCH AND DEVELOPMENT
2011年
12期
2268-2276
,共9页
袁清波%赵健博%陈明宇%孙凝晖
袁清波%趙健博%陳明宇%孫凝暉
원청파%조건박%진명우%손응휘
多核%异构操作系统%锁竞争%cache%性能评测
多覈%異構操作繫統%鎖競爭%cache%性能評測
다핵%이구조작계통%쇄경쟁%cache%성능평측
共享内存操作系统使用精心设计的锁来保护各种共享数据,对这些数据的访问需要首先获得对应的锁,当内核中同时有多个流程(系统调用、内核线程或中断处理程序等)试图获得同一个锁时会产生竞争,相关流程越多竞争就越激烈.随着系统中处理单元数目的增长,这些流程的数量也在不断增加,此时,对锁的竞争会影响系统的整体性能,甚至成为瓶颈.另一方面,操作系统与应用程序在同一处理器核上交替运行,因为硬件cache容量有限,导致操作系统的代码和数据经常替换掉应用程序的代码和数据.当应用程序重新被调度运行时,需从更慢速的cache,甚至从内存中读取这些代码和数据,从而降低了性能.通过在一台16核AMD节点上的相关测试,以上问题得到了量化验证,并针对这些问题提出了一种异构操作系统模型.在此模型下,应用程序和操作系统分别运行在不同的处理器核上,实验显示这种模式可以有效降低对锁的竞争和对cache的污染.
共享內存操作繫統使用精心設計的鎖來保護各種共享數據,對這些數據的訪問需要首先穫得對應的鎖,噹內覈中同時有多箇流程(繫統調用、內覈線程或中斷處理程序等)試圖穫得同一箇鎖時會產生競爭,相關流程越多競爭就越激烈.隨著繫統中處理單元數目的增長,這些流程的數量也在不斷增加,此時,對鎖的競爭會影響繫統的整體性能,甚至成為瓶頸.另一方麵,操作繫統與應用程序在同一處理器覈上交替運行,因為硬件cache容量有限,導緻操作繫統的代碼和數據經常替換掉應用程序的代碼和數據.噹應用程序重新被調度運行時,需從更慢速的cache,甚至從內存中讀取這些代碼和數據,從而降低瞭性能.通過在一檯16覈AMD節點上的相關測試,以上問題得到瞭量化驗證,併針對這些問題提齣瞭一種異構操作繫統模型.在此模型下,應用程序和操作繫統分彆運行在不同的處理器覈上,實驗顯示這種模式可以有效降低對鎖的競爭和對cache的汙染.
공향내존조작계통사용정심설계적쇄래보호각충공향수거,대저사수거적방문수요수선획득대응적쇄,당내핵중동시유다개류정(계통조용、내핵선정혹중단처리정서등)시도획득동일개쇄시회산생경쟁,상관류정월다경쟁취월격렬.수착계통중처리단원수목적증장,저사류정적수량야재불단증가,차시,대쇄적경쟁회영향계통적정체성능,심지성위병경.령일방면,조작계통여응용정서재동일처리기핵상교체운행,인위경건cache용량유한,도치조작계통적대마화수거경상체환도응용정서적대마화수거.당응용정서중신피조도운행시,수종경만속적cache,심지종내존중독취저사대마화수거,종이강저료성능.통과재일태16핵AMD절점상적상관측시,이상문제득도료양화험증,병침대저사문제제출료일충이구조작계통모형.재차모형하,응용정서화조작계통분별운행재불동적처리기핵상,실험현시저충모식가이유효강저대쇄적경쟁화대cache적오염.