加大吞吐量,是時(shí)候該裝備L4級(jí)緩存了
處理器性能與廣義上的DRAM主存儲(chǔ)器性能之間的差距至少在三十年前就成為一個(gè)問題。但在此期間,那些聰明的硬件和軟件工程師創(chuàng)建了緩存層次結(jié)構(gòu)的以及可以利用緩存層次結(jié)構(gòu)的軟件來緩解相關(guān)問題。
但是,隨著我們坐在不斷擴(kuò)展的內(nèi)存層次結(jié)構(gòu)的風(fēng)口浪尖上,諸如Optane 3D XPoint(相變內(nèi)存的一種變體)之類的持久性內(nèi)存已應(yīng)用于DIMM和SSD尺寸因素以及諸如CXL,OpenCAPI,CCIX,NVLink和Gen等新協(xié)議,同時(shí)Gen-Z也被用來把處理器和加速器存儲(chǔ)器連貫地(對(duì)稱地或非對(duì)稱地)連接在一起。
我們不得不思考:是時(shí)候向服務(wù)器添加4級(jí)緩存了嗎?
由于有這么多不同的設(shè)備掛在CPU組件上(有些相對(duì)較近,有些相對(duì)較遠(yuǎn)),因此邏輯上想知道是否需要另一個(gè)高速緩存級(jí)別來掩蓋這些其他內(nèi)存的延遲并提高整體系統(tǒng)吞吐量。
為了了解可能的情況,我們與IBM,Intel,AMD和Marvell的服務(wù)器芯片架構(gòu)師聯(lián)系,以了解他們對(duì)使用L4高速緩存存儲(chǔ)器的想法。在服務(wù)器上。L4緩存絕不是一個(gè)新的發(fā)展,但在系統(tǒng)體系結(jié)構(gòu)中也不是司空見慣。
但是在我們進(jìn)行討論之前,需要先了解一些背景知識(shí)。
在1980年代后期,工程師向處理器添加了1級(jí)高速緩存,當(dāng)時(shí)只有一種核心方式,這是在向內(nèi)存子系統(tǒng)添加總體延遲以換取絕對(duì)降低處理器對(duì)數(shù)據(jù)和指令請(qǐng)求的總體平均延遲之間進(jìn)行的權(quán)衡。
L1緩存最初是外部SRAM,它們安裝在主板上并連接到CPU內(nèi)存組合中。這個(gè)L1高速緩存在時(shí)鐘時(shí)間和主板空間上都非??拷幚砥?,這意味著CPU可以保持忙碌的狀態(tài)。最終,這些1級(jí)緩存被拆分,因此它們可以將常用數(shù)據(jù)存儲(chǔ)在一個(gè)塊中,而流行指令存儲(chǔ)在另一個(gè)塊中,這有助于提高性能。
隨著處理器時(shí)鐘速度的提高以及CPU速度和DRAM速度之間的差距進(jìn)一步擴(kuò)大,L2高速緩存被添加到進(jìn)來,但更臃腫,更慢,更便宜(基于每個(gè)位或每個(gè)帶寬),再次在CPU封裝之外,然后集成在上面。而且,當(dāng)越來越多的內(nèi)核被添加到CPU以及更多的DRAM存儲(chǔ)器控制器來饋送(feed)它們時(shí),甚至更大的L3高速緩存塊也被添加到層次結(jié)構(gòu)中以保持這些CPU的饋送。
在大多數(shù)情況下,這已經(jīng)很好地解決了。在大多數(shù)CPU設(shè)計(jì)中,有一些經(jīng)驗(yàn)法則可以反映出處理中緩存層次結(jié)構(gòu)的級(jí)別,因?yàn)槲覀兇蛩悴捎玫谒膶印?/p>
英特爾的芯片工程師兼架構(gòu)師克里斯·吉亞諾斯(Chris Gianos)領(lǐng)導(dǎo)了許多上一代至強(qiáng)處理器的設(shè)計(jì),他這樣解釋道:“通常,對(duì)于每個(gè)緩存級(jí)別,我們都需要將它們?cè)黾右粋€(gè)合理的數(shù)量以達(dá)到上一個(gè)級(jí)別,以使其有意義,著是因?yàn)槟枰銐蛴腥さ拿新? hit rate)才能對(duì)系統(tǒng)性能產(chǎn)生顯著影響。如果您僅在百分之幾的時(shí)間訪問高速緩存,那么可能很難注意到。其他所有東西都會(huì)淹沒您的演奏,而您并沒有動(dòng)太多。因此,您需要相對(duì)較大的緩存,而在談?wù)摳呒?jí)別時(shí),則需要非常大的緩存。現(xiàn)在,我們的L2以兆字節(jié)為單位,而我們的L3以數(shù)十或數(shù)百兆字節(jié)為單位。顯然,如果您開始考慮使用L4高速緩存,那么可能不是數(shù)百兆字節(jié)就是幾百兆字節(jié)。而且由于它們很大,因此它們的成本無疑是一個(gè)問題。您必須付出足夠的努力才能使其變得有趣,而且價(jià)格也不菲。”
AMD的架構(gòu)師則不愿直接對(duì)話,因?yàn)樗麄儾幌M鸄MD被誤解,讓大家覺得AMD承諾將在Epyc處理器系列中添加L4緩存,但其實(shí)AMD并沒有說出這樣的話。但是它確實(shí)意識(shí)到這是下一步要考慮的事情,就像英特爾一樣。
他們相信每個(gè)架構(gòu)師都在考慮L4緩存,并且他也分享了一些想法?;旧希珹MD的相關(guān)人士表示,緩存層數(shù)和延遲之間的折衷已經(jīng)在行業(yè)和學(xué)術(shù)界進(jìn)行了很好的研究,并且對(duì)于每個(gè)更大,更慢且訪問更廣泛的新緩存層,必須進(jìn)行必要的折衷,以增加通往DRAM的總路徑,因?yàn)榇蠖鄶?shù)設(shè)計(jì)不會(huì)與上層的高速緩存標(biāo)簽查找并行地連續(xù)地推測(cè)性地訪問層次結(jié)構(gòu)中更下方的高速緩存層。當(dāng)Gianos說您需要在命中率和緩存容量之間找到平衡時(shí),這正是Intel在上面所說的,那就意味著L4也不例外。