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