TWI507868B - 快速通道互聯匯流排的壓力測試方法和壓力測試裝置 - Google Patents
快速通道互聯匯流排的壓力測試方法和壓力測試裝置 Download PDFInfo
- Publication number
- TWI507868B TWI507868B TW103143661A TW103143661A TWI507868B TW I507868 B TWI507868 B TW I507868B TW 103143661 A TW103143661 A TW 103143661A TW 103143661 A TW103143661 A TW 103143661A TW I507868 B TWI507868 B TW I507868B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- test
- physical memory
- remote entity
- qpi
- Prior art date
Links
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明涉及CPU性能測試領域,尤其涉及快速通道互聯匯流排的壓力測試方法和壓力測試裝置。
快速通道互聯(Quick Path Interconnect,以下簡稱QPI)匯流排技術是一種正在發展的多核CPU訪問系統記憶體的匯流排技術,該匯流排技術通過將CPU晶片直接互聯,能夠提高多核CPU訪問系統記憶體的速度和能力。一個QPI資料包包含80比特,需要兩個時鐘週期或四次傳輸完成整個資料包的傳送(QPI的時鐘信號速率是傳輸速率的一半)。在每次傳輸的20比特資料中,有16比特是真實有效的資料,其餘四位元用於迴圈冗餘校驗,以提高系統的可靠性。由於QPI資料傳輸是雙向的,在發送的同時也可以接收另一端傳輸來的資料,這樣,對於QPI頻率(每秒內傳輸次數)為4.8GT/s總帶寬的匯流排,每個QPI匯流排總帶寬理論上為19.2GB/s,QPI頻率為6.4GT/s的總帶寬=6.4GT/s×2Byte×2=25.6GB/s。但這僅僅是QPI匯流排理論上的資料傳輸速率。實際測試的多核CPU利用QPI
匯流排的資料傳輸速率,往往遠低於理論帶寬指標。
通常測試匯流排速率的方法是隨機地對用戶態下的連續線性記憶體區域進行連續的讀寫測試,從而向多核CPU施加壓力,獲得匯流排資料傳輸速率的測試結果。在多核CPU能夠訪問的實體記憶體空間中,記憶體包括CPU所在節點本地的本地實體記憶體、需要利用QPI匯流排訪問的屬於其他CPU節點本地實體記憶體的遠端實體記憶體,以及連接於系統匯流排上的其他內物理存。在進行多核CPU記憶體訪問時,通常的測試方法無法保證將測試訪問的記憶體區域分配到上述記憶體區域中的本地實體記憶體、遠端實體記憶體或其他記憶體中。因而造成這種方法測試CPU和QPI匯流排的性能很不準確。一方面對多核CPU中每個內核施加的壓力不均勻,造成多核CPU整體性能的浪費;另一方面,QPI匯流排的命中率低,大量資料傳輸訪問通過本地記憶體進行,不能有效測試QPI的承受壓力能力。
針對上述不能準確而有效地測試QPI匯流排的承受壓力能力的問題,本發明提出一種快速通道互聯匯流排的壓力測試方法,包括以下步驟:A.將多個測試線程運行於多個處理器上,其中,每個測試線程被固定在多個處理器中的一個上運行;B.按照處理器節點分配實體記憶體,使得每個測試線程被分配到遠端記憶體,遠端實體記憶體為不屬於當前正在運行線程所在的處理器節點
的記憶體;C.通過驅動程式進行記憶體映射,將遠端實體記憶體映射到測試線程的線性空間;D.在用戶態時,分配測試線程讀寫訪問遠端實體記憶體。
本發明還提供一種快速通道互聯匯流排的壓力測試裝置,係包括一測試線程分配模組、一實體記憶體分配模組、一實體記憶體映射模組以及一測試模組,測試線程分配模組用於在多個處理器上運行多個測試線程,其中,每個測試線程被固定在多個處理器中的一個上運行;實體記憶體分配模組用於按照處理器節點分配實體記憶體,使得每個測試線程被分配為訪問遠端實體記憶體,遠端實體記憶體為不屬於當前正在運行該測試線程的處理器節點的實體記憶體;實體記憶體映射模組用於通過驅動程式進行實體記憶體映射,將遠端實體記憶體映射到測試線程的線性空間;測試模組用於在用戶態時,分配所述測試線程讀寫訪問遠端實體記憶體。
通過上述技術方案,能夠有效向快速通道互聯匯流排施加壓力,且能夠使快速通道互聯匯流排的資料傳輸率接近其理論值,比通常方法更準確地測試快速通道互聯匯流排的性能。
以上僅僅是給出關於本發明的簡要概述,以便提供關於本發明的某些方面的基本理解。應當理解,這個概述並不是關於本發明的窮舉性概述。它並不是意圖確定本發明的關鍵或重要部分,也不是意圖限定本發明的範圍。其目的僅僅是以簡化的形式給出某些概念,以此作為稍後論述的更詳細描述的前序。
本發明所採用的具體實施例,將藉由以下之實施例及圖式作進一步之說明。
1‧‧‧CPU0
2‧‧‧CPU2
3‧‧‧CPU1
4‧‧‧CPU3
5、6、8、10、12、14、16‧‧‧記憶體
7、9、11、13、15‧‧‧記憶體控制器
QPI0、QPI1、QPI2‧‧‧快速通道互聯匯流排
100‧‧‧QPI壓力測試裝置
1001‧‧‧測試線程分配模組
1002‧‧‧實體記憶體分配模組
10021‧‧‧實體記憶體查看單元
10022‧‧‧實體記憶體鎖定模組
10023‧‧‧反向映射單元
1003‧‧‧實體記憶體映射模組
1004‧‧‧測試模組
第一圖為根據本發明的一個實施例提供的在多個處理器之間的快速通道互聯的系統架構示意圖;第二圖為根據本發明的一個實施例提供的在多個處理器之間的快速通道互聯的壓力測試方法的流程圖;以及第三圖示出根據本發明的一個實施例的一種快速通道互聯的壓力測試裝置。
下面參照附圖來說明本發明的實施例。在本發明的一個圖式或一種實施方式中描述的元素和特徵可以與一個或更多個其他附圖或實施方式中示出的元素和特徵相結合。以下描述中,“CPU”和“處理器”、“中央處理器”具有相同的含義,且本說明書中所指的“記憶體”、“實體記憶體”與“記憶體控制器”可分別指“內存”、“物體內存”與“內存控制器”。應當注意,為了清楚的目的,圖式和說明中省略了與本發明無關的、本領域普通技術人員已知的部件和處理的表示和描述。
根據本發明一個實施例的多核CPU的測試系統架構如第一圖所示(在此需要一提的是,圖中僅部分標示文字,其餘未標示文字之方塊與有標示文字之方塊相
同)。該系統包括4個CPU,分別為CPU0(元件符號為1)、CPU1(元件符號為3)、CPU2(元件符號為2)、CPU3(元件符號為4)。當然該測試系統也可以包含4個以上或以內的CPU,每個CPU包括多個內核,並且每個CPU與距其最近、通過記憶體控制器能夠直接訪問的本地實體記憶體組成一個節點,CPU通過快速通道互聯(QPI)匯流排訪問作為其他CPU本地實體記憶體的遠端實體記憶體。例如,CPU0通過記憶體控制器7、9分別連接本地實體記憶體8、10,CPU1通過記憶體控制器13連接本地實體記憶體14,CPU2通過記憶體控制器11連接本地實體記憶體12,CPU3通過記憶體控制器15連接本地實體記憶體16。CPU0通過快速通道互聯匯流排QPI0訪問作為CPU1本地實體記憶體的遠端實體記憶體14。CPU2通過快速通道互聯匯流排QPI1訪問作為CPU3本地實體記憶體的遠端實體記憶體16。通常進行QPI加壓測試時,分別在每一個CPU的所有內核上面啟動一個測試線程,每一個測試線程分配有相應的實體記憶體區進行讀寫。這種方法將讀寫測試的記憶體位址空間映射到用戶態下的連續的線性空間位址。這種映射的結果,一部分位址空間會映射到CPU的本地實體記憶體,一部分位址空間會映射到遠離指定CPU、需要通過QPI匯流排訪問的遠端實體記憶體,還有可能另一部分位址空間會映射到每個CPU均不能直接訪問的外部DRAM。由於CPU速度遠高於記憶體能夠支援的訪問速度,由於對各個CPU施加的壓力不均
勻,這造成多核CPU整體性能的浪費;另一方面,由於利用QPI匯流排訪問記憶體的命中率低,大量對記憶體的訪問通過本地實體記憶體進行,這導致不能有效測試QPI的承受壓力能力。
根據本發明的一個實施例,設計以下QPI加壓方法提高QPI匯流排的命中率。如第二圖所示,將多個測試線程運行於多個處理器上,其中每個測試線程被固定在一個CPU的一個內核上運行S301,按照處理器節點為每一個測試線程分配相應的實體記憶體區進行讀寫,在分配相應的測試實體記憶體時,將測試記憶體按照物理空間進行實體記憶體分配S302,具體為進入內核空間查看每個CPU的當前記憶體使用狀況,發現可以分配的實體記憶體區域,在被測內核的記憶體管理框架內鎖定需要佔用的遠端實體記憶體區,然後進行記憶體映射,將鎖定的遠端記憶體區反向映射到測試線程的線性空間S303,再在用戶態對對應的記憶體空間進行讀寫測試S304。這樣就能夠從根本上保證每一個內核必然訪問真正能夠為QPI加壓的遠端實體記憶體,可以保證對記憶體的所有訪問全部命中QPI匯流排。
為了更好展示採用本發明的QPI加壓方法相對于採用現有技術的QPI加壓方法的測試得到的有益技術效果,請參閱表一與表二分別提供了兩種QPI加壓方法的測試結果,如下所示:
表一給出採用通常QPI加壓方法(隨機記憶體映射)進行一組記憶體讀寫操作測試第一圖中QPI匯流排性能的結果。從表一可以看出,在指定時間內通過QPI進出CPU的資料量分別為791MB和4138MB,分別僅占其QPI理論總帶寬的2%和12%,可見在巨大的實體記憶體訪問壓力下QPI加壓效果遠低於記憶體訪問的壓力,也就是說很多對於記憶體的讀寫都無法準確定位到遠端記憶體,從而造成了這樣的現象。
表二給出了採用本發明的QPI加壓方法進行同樣大小的一組記憶體讀寫操作測試第一圖中QPI匯流排性能的結果(僅使系統在CPU0上運行的所有線程訪問CPU1的本地實體記憶體時測試QPI匯流排性能的結果)。為了清楚展示本發明的測試加壓方法能夠精准訪問遠端實體記憶體的能力,僅使綁定在CPU0的所有內核上面的測試線程訪問CPU1的本地實體記憶體。
從表二中我們可以看出,此時通過QPI匯流排訪問系統記憶體的壓力大大增強,通過QPI匯流排進出CPU的資料流程量分別為4223M和6197M,分別提升至QPI理論總帶寬的12%和18%左右。可知本發明的加壓方法有效增強了QPI匯流排的命中率,改善了QPI匯流排實際性能測試的準確性。
表三(如下所示)示出採用本發明的QPI加壓方法進行
同樣大小的一組記憶體讀寫操作,使第一圖中的系統在CPU0上運行的所有線程訪問CPU1的本地實體記憶體,同時CPU1上運行的所有線程訪問CPU0的本地實體記憶體時的測試QPI匯流排性能的結果。因為CPU0和CPU1都有對遠端實體記憶體的訪問,所以實體記憶體訪問的方向性無法在這種情況下有所體現。
從表三中可以看出,在兩個CPU(CPU0和CPU1)均訪問遠端記憶體的情況下,QPI匯流排的命中率進一步提升,通過QPI匯流排進出CPU的資料流程量分別為5275M和7748M,分別提升至QPI理論總帶寬的16%
和24%左右。
採用本發明的QPI加壓方法利用英代爾公司專用測試工具PCM對上述包含4個CPU的多核系統平臺進行另一組記憶體讀寫操作的QPI匯流排性能測試,獲得結果如下:通過QPI0進入CPU0的資料訪問最高可達QPI理論總帶寬的60%,通過QPI0離開CPU0的資料訪問可達QPI理論總帶寬的92%,基本接近其實際性能極限。而採用通常QPI加壓方法(隨機實體記憶體映射)進行同樣大小的一組記憶體讀寫操作測試獲得的結果為:通過QPI0進入CPU0的最高可達QPI理論總帶寬的2%,通過QPI0離開CPU0的可達QPI理論總帶寬的12%。
可見,通過上述QPI加壓方法,能夠有效向快速通道互聯匯流排施加壓力,且能夠使快速通道互聯匯流排的資料傳輸率接近其理論值,比通常方法更準確地測試了快速通道互聯匯流排的性能。
本發明還提供一種快速通道互聯的壓力測試裝置100,其結構框圖見第三圖,包括:一測試線程分配模組1001,其用於在多個處理器上運行多個測試線程,其中,每個測試線程被固定在多個處理器中的一個上運行;一實體記憶體分配模組1002,其用於按照處理器節點分配實體記憶體,使得每個測試線程被分配為訪問遠端實體記憶體,遠端實體記憶體為不屬於當前正在運行該測試線程的處理器節點的實體記憶體;一實體記憶體映射模組1003,其用於通過驅動程式進行實體記憶體映
射,將遠端實體記憶體映射到測試線程的線性空間;一測試模組1004,其用於在用戶態時,分配所述測試線程讀寫訪問遠端實體記憶體。
實體記憶體分配模組1002還包括:一實體記憶體查看單元10021,其用於在分配實體記憶體時,通過進入內核空間,查看實體記憶體的當前使用狀況,識別出各個處理器可用的遠端實體記憶體;一實體記憶體鎖定模組10022,其用於在實體記憶體管理框架內鎖定各個處理器需要佔用的可用的遠端實體記憶體;以及一反向映射單元10023,其用於將鎖定的可用的遠端實體記憶體反向映射到用戶空間。
通過上述QPI加壓測試還發現,對於多核CPU系統,可以在每個內核上運行多個測試線程,但僅在每個內核上運行一個測試線程時得到最佳的加壓測試效果。在一個內核運行多個測試線程時,可能會因資源衝突等原因,壓力無法施加到最大。
上述快速通道互聯的壓力測試裝置100能夠實現有效向快速通道互聯匯流排施加壓力,且能夠使快速通道互聯匯流排的資料傳輸率接近其理論值,比通常方法更準確地測試快速通道互聯匯流排的性能。
最後應說明的是:以上實施例僅用以說明本發明的技術方案,而非對其限制;儘管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特徵進行等同替換;而這些修
改或者替換,並不使相應技術方案的本質脫離本發明各實施例技術方案的精神和範圍。
Claims (5)
- 一種快速通道互聯匯流排的壓力測試方法,包括以下步驟:A.在多個處理器上運行多個測試線程,其中,每個測試線程被固定在該些處理器中的一個上運行;B.按照一處理器節點分配一實體記憶體,使得該些測試線程被分配為訪問一遠端實體記憶體,該遠端實體記憶體為不屬於當前正在運行該測試線程的該處理器節點的該實體記憶體;C.進行一記憶體映射,將該遠端實體記憶體映射到該些測試線程的線性空間;以及D.在用戶態時,分配該些測試線程讀寫訪問該遠端實體記憶體。
- 如申請專利範圍第1項所述的快速通道互聯匯流排的壓力測試方法,其中,該步驟B進一步包括以下步驟:E.在分配該實體記憶體時,通過進入內核空間,查看該實體記憶體的當前使用狀況,識別出各個處理器可用的該遠端實體記憶體;F.在記憶體管理框架內鎖定各個處理器需要佔用的可用的該遠端實體記憶體;G.將鎖定的可用的該遠端實體記憶體反向映射到用戶空間。
- 如申請專利範圍第1或2項所述的快速通道互聯匯流排的壓力測試方法,其中,在該些多個處理器中的一個上僅固 定運行一個測試線程。
- 一種快速通道互聯匯流排的壓力測試裝置,包括:一測試線程分配模組,其用於在多個處理器上運行多個測試線程,其中,每個測試線程被固定在該些處理器中的一個上運行;一實體記憶體分配模組,其用於按照一處理器節點分配一實體記憶體,使得每個測試線程被分配為訪問一遠端實體記憶體,該遠端實體記憶體為不屬於當前正在運行該測試線程的該處理器節點的該實體記憶體;一實體記憶體映射模組,其用於進行記憶體映射,將該遠端實體記憶體映射到該些測試線程的線性空間;以及一測試模組,其用於在用戶態時,分配該些測試線程讀寫訪問該遠端實體記憶體。
- 如申請專利範圍第4項所述的快速通道互聯匯流排的壓力測試裝置,其中,該實體記憶體分配模組還包括:一實體記憶體查看單元,其用於在分配該實體記憶體時,通過進入內核空間,查看該實體記憶體的當前使用狀況,識別出各個處理器可用的該遠端實體記憶體;一實體記憶體鎖定模組,其用於在記憶體管理框架內鎖定各個處理器需要佔用的可用的該遠端實體記憶體;以及一反向映射單元,其用於將鎖定的可用的該遠端實體記憶體反向映射到用戶空間。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103143661A TWI507868B (zh) | 2014-12-15 | 2014-12-15 | 快速通道互聯匯流排的壓力測試方法和壓力測試裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103143661A TWI507868B (zh) | 2014-12-15 | 2014-12-15 | 快速通道互聯匯流排的壓力測試方法和壓力測試裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI507868B true TWI507868B (zh) | 2015-11-11 |
TW201621666A TW201621666A (zh) | 2016-06-16 |
Family
ID=55220102
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103143661A TWI507868B (zh) | 2014-12-15 | 2014-12-15 | 快速通道互聯匯流排的壓力測試方法和壓力測試裝置 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI507868B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110191010B (zh) * | 2019-04-11 | 2021-01-26 | 深圳市同泰怡信息技术有限公司 | 服务器的压力测试方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200428206A (en) * | 2003-05-09 | 2004-12-16 | Hewlett Packard Development Co | Coverage decoder circuit for performance counter |
TW201131353A (en) * | 2009-11-19 | 2011-09-16 | Qualcomm Inc | Methods and apparatus for measuring performance of a multi-thread processor |
WO2012103712A1 (zh) * | 2011-06-27 | 2012-08-09 | 华为技术有限公司 | Cpu互联装置 |
TW201439758A (zh) * | 2013-04-12 | 2014-10-16 | Inventec Corp | 分散式壓力測試系統及其方法 |
-
2014
- 2014-12-15 TW TW103143661A patent/TWI507868B/zh not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200428206A (en) * | 2003-05-09 | 2004-12-16 | Hewlett Packard Development Co | Coverage decoder circuit for performance counter |
TW201131353A (en) * | 2009-11-19 | 2011-09-16 | Qualcomm Inc | Methods and apparatus for measuring performance of a multi-thread processor |
WO2012103712A1 (zh) * | 2011-06-27 | 2012-08-09 | 华为技术有限公司 | Cpu互联装置 |
US20130103875A1 (en) * | 2011-06-27 | 2013-04-25 | Huawei Technologies Co., Ltd. | Cpu interconnect device |
TW201439758A (zh) * | 2013-04-12 | 2014-10-16 | Inventec Corp | 分散式壓力測試系統及其方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201621666A (zh) | 2016-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10275348B2 (en) | Memory controller for requesting memory spaces and resources | |
US20160154720A1 (en) | Pressure testing method and pressure testing device for a quick path interconnect bus | |
US9424193B2 (en) | Flexible arbitration scheme for multi endpoint atomic accesses in multicore systems | |
RU2491616C2 (ru) | Устройство, способ и система управления матрицами | |
Li et al. | A performance & power comparison of modern high-speed dram architectures | |
US9304925B2 (en) | Distributed data return buffer for coherence system with speculative address support | |
US9792209B2 (en) | Method and apparatus for cache memory data processing | |
WO2014206078A1 (zh) | 内存访问方法、装置及系统 | |
US9229891B2 (en) | Determining a direct memory access data transfer mode | |
KR20160064720A (ko) | 캐시 메모리 장치 및 이를 포함하는 전자 시스템 | |
CN103198001A (zh) | 能够自测pcie接口的存储系统及测试方法 | |
TWI598745B (zh) | 資料傳輸方法及伺服器 | |
US9372796B2 (en) | Optimum cache access scheme for multi endpoint atomic access in a multicore system | |
US20190266110A1 (en) | Scalable, parameterizable, and script-generatable buffer manager architecture | |
TWI507868B (zh) | 快速通道互聯匯流排的壓力測試方法和壓力測試裝置 | |
US20150106569A1 (en) | Chip stack cache extension with coherency | |
US20100058025A1 (en) | Method, apparatus and software product for distributed address-channel calculator for multi-channel memory | |
TWI421874B (zh) | 遠端協助測試記憶體的方法 | |
WO2023240719A1 (zh) | 内存测试方法及装置、存储介质及电子设备 | |
WO2019246534A1 (en) | Hardware-based virtual-to-physical address translation for programmable logic masters in a system on chip | |
Lee et al. | SDM: Sharing-Enabled Disaggregated Memory System with Cache Coherent Compute Express Link | |
US20240004750A1 (en) | Remote scalable machine check architecture | |
WO2016201981A1 (zh) | 数据缓存处理方法及装置 | |
US20240004744A1 (en) | Scalable machine check architecture | |
CN116561009A (zh) | 一种芯片调试方法、装置、系统及芯片 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |