摘 要:多核處理器新技術層出不窮,與此同時多核技術的發展同樣還需要解決諸多的問題與面臨新的挑戰。為了緩解主存與微處理器之間的巨大速度差異,在微處理器中通常集成高速緩存,即cache。本文重點介紹了在多核處理器體系結構下針對共享高速緩存的一些最新的劃分技術,這些技術的應用大大地提升了系統的整體性能。
關鍵詞:高速緩存;多核處理器;微處理器;劃分技術
1 研究背景及意義
片上多處理器(Chip Multiprocessor,CMP)是由美國斯坦福大學提出的,其思想是將大規模并行處理器中的SMP(對稱多處理器)集成到同一芯片內,各個處理器并行執行不同的進程。多核技術是處理器發展的必然。
國內外的眾多學者提出了各種各樣的新技術,對多核架構下的高速緩存進行了改進,包括硬件的設計和軟件的設計,最終使得系統在吞吐率,整體公平性以及加權加速比等方面都有大幅的提高。
2 共享Cache劃分技術
2.1 共享Cache劃分概念
共享cache劃分技術能夠將共享cache劃分為多個獨立的cache區間,每個任務獨占一個共享cache區間直至任務結束。劃分的依據是根據每個任務的需求不同進行更合理的智能的分配,例如根據每個任務的性能增益大小,即單位cache塊失效率變化的大小進行分配。
2.2 Cache劃分最新技術
2.2.1 面向性能的cache劃分
所光等[1]在總結前人經驗的基礎上提出了新的共享cache劃分的目標函數。他研究發現在處理器上并行運行的進程失效率之和最低并不能代表系統的性能達到最佳狀態,而應該尋找系統的吞吐率最大值。因此作者設計了以系統IPC為目標函數的劃分算法。作者在文中引用了失效率監控器和關于IPC與CPI轉換公式,來獲得各個進程的失效率從而進一步代入到公式計算出在各個不同cache分配下總和IPC之和,找到使IPC最大的分配結果。
2.2.2 面向公平性的cache劃分
Yeh[2]在非一致性cache訪問結構的基礎上,提出了快速公平的cache劃分方法,同時考慮了服務質量,是公平性與服務質量二者的結合。文中Yeh設計了基于性能的共享適應cache結構(Performance-Driven Adaptive Sharing),在該結構中分布式cache包括動態劃分控制器以及屬于各個內核的專有cache簇。這樣每個內核不僅可以訪問屬于自己簇的私有cache,同時也可以訪問其他簇的cache中的數據。因此將所有分布的cache看成一個大的共享cache進行劃分,劃分的依據通過變換不同內核的cache數量以取得最大的性能增益。這樣保證公平性的同時也獲得了較高的服務質量。
2.2.3 面向服務質量(QoS)的cache劃分
基于服務質量共享cache劃分策略目標是系統可以區分不同的訪存流,并且根據具體任務需求、程序局部性特征和延遲敏感性等參數建立分配模型。研究人員設計出根據每個任務服務的質量來感知的動態劃分[3]。
3 總結
本文介紹了在CMP架構下對于高速緩存的一些最新技術,從Cache劃分的不同方面進行了闡述。這些新技術分析,研究的側重點有所不同,有的針對系統失效率,有的針對吞吐率,有的則針對公平性。通過本文的介紹給今后的科研工作者以有益的幫助。
[參考文獻]
[1]SuoG,YangX.IPC-Based Cache Partitioning:An IPC- Oriented Dynamic Shared Caehe Partitioning Mechanism [C]Proceedingsofthe 2008 International Conferenee on Convergence and HybridInformation Technology一Volume00,2008:399一406.
[2]T.Y.Yeh and G.Reinman.,“Fast and Fair: Data-stream Quality of Service”,In Proceedings of the 2005 International Conference on Compilers, Architecture,and Synthesis for Embedded Systems,237-248,2005.
[3]Fei Guo,Hari Kannan,Li Zhao,Ramesh Illikkal Kannan H,Guo F,Zhao L,et al.From Chaos to QoS:CaseStudies in CMP Resource Management[J].ACM SIGARCH Computer Architecture News,2007,35(1):21-30.68