多核共享資源——解決頻率極限問題的關鍵
目前,市場上的許多系統(tǒng)在單核處理器上運行它們的控制和數據層以及附加的服務。然而,由于存在系統(tǒng)功率預算問題,單核處理器已經逼近了頻率的極限,這個問題采用晶體管技術是無法解決的。因此,在下一代系統(tǒng)中對更高性能和更寬差異化服務的需求,使這些系統(tǒng)成為多核器件的理想候選人,為系統(tǒng)提供商提高系統(tǒng)的性能提供了一條途徑并增加新的服務,與此同時,保持在常常由系統(tǒng)位置和終端用戶的筆記本驅動的功率預算之內。
這些新型的多核器件在I/O連接性上呈現(xiàn)令人感興趣的挑戰(zhàn)。在許多場合中,隨機地把特殊的I/O口連接到一個特殊的核是無法接受的。應用劃分可能受到資源跨越多個核進行共享的需求的影響。在接入路由器的應用中,許多I/O將接收數據包以進行處理,正如現(xiàn)存的許多方式一樣,在想把數據外發(fā)到一個公共I/O的眾多核中智能地分布數據包。許多現(xiàn)有的解決方案包括在出入口上的一些硬件加速的分解以及分類,從而有助于它們分發(fā)數據包,但是,甚至更為簡單的方法是采用一或多個核來運行代碼,以確定在哪里發(fā)送進來的數據包。有時候,當一個核被用作分發(fā)機制時,軟件在各個處理器之間可能更具有移植性;但是,該核不僅僅成為了器件的性能瓶頸,也成為了整個系統(tǒng)的性能瓶頸。如前所述,核頻率將繼續(xù)落后于對處理能力的要求(這種情形是由日益增長的快速I/O混合而成的);因此,至關重要的是確保數據包分發(fā)機制不是瓶頸,并且他們足夠地靈活以確定每一個數據包的最初目的地。
跨越多核對應用進行劃分也意味著劃分任何共享資源,如片外存儲器以及片上高速緩沖存儲器。隨著在單一裸片上的核的數量的增加,片外存儲器帶寬以及片上L2高速緩沖存儲器并沒有在引腳數以及裸片面積的壓力下而增加。
此外,要考慮的另一個問題是各個核采用共享的資源,如硬件加速器(其中包括模式匹配以及加密/解密引擎等等)。這些硬件資源對于支持較高層的功能是必不可少的,如預防入侵、虛擬私人網絡以及當今企業(yè)市場需要的、在較高性能級別上的狀態(tài)防火墻。
一個良好的例子就是,一個核要么做它的常規(guī)數據包處理,要么利用執(zhí)行單元來完成加速任務。該核當執(zhí)行優(yōu)化指令時無法轉移去處理另一個數據包。數據包處理代碼利用Look-Aside加速可以處理一個數據包,把它傳遞給加速器進行處理,并開始處理另一個數據包,其行為非常像“管線”方式。在完成任務以后,加速器把數據包返回給內核做進一步的處理。這種類型的加速容許內核完全利用加速器的性能。
評論