摘要:SPMD(Single Program Multiple Data)是高性能領域的主要工作模式之一,該模式下鄰近核心執(zhí)行相同的程序塊,但根據(jù)處理數(shù)據(jù)或控制流的差異,臨近核心的指令流并不完全相同.L1 ICache(Instruction Cache)共享技術通過將鄰近核心的L1 ICache共享,能有效利用眾核處理器SPMD工作模式的特點,同時能緩解片上資源緊張的問題.但共享結構會帶來訪問沖突,對性能有不利影響.本文基于排隊網絡對共享ICache的訪問沖突進行了理論分析,該理論分析依據(jù)核心對共享ICache體的訪問特性進行建模,避免了直接抽象物理節(jié)點導致的模型訪存特性模糊問題.根據(jù)理論推導的指令緩存性能損失原因,本文設計了面向共享L1 ICache的低訪問沖突XOR散列函數(shù).函數(shù)的設計綜合考慮搜索了代價和工程實現(xiàn)復雜性,在保證散列線性空間隨機散列能力的前提下,對附加延遲、功耗開銷進行控制.該散列函數(shù)基于異或操作,通過調整ICache排隊網絡模型的節(jié)點轉換概率,降低了共享L1 ICache的訪問沖突.實驗結果表明,在指令緩存總容量為32 KB的四核心簇上,使用XOR散列的共享L1 ICache結構較私有L1 ICache結構性能平均優(yōu)化11%,較使用低位交錯策略的共享L1 ICache結構性能平均優(yōu)化8%,較使用面向跨步訪存散列策略的共享L1 ICache結構性能平均優(yōu)化3.2%.
注:因版權方要求,不能公開全文,如需全文,請咨詢雜志社