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