一種ntb性能測試方法及系統的制作方法
【技術領域】
[0001 ] 本發明涉及硬件性能測試技術領域,特別是涉及NTB技術領域,具體為一種NTB性能測試方法及系統。
【背景技術】
[0002]PCIe是現代計算機系統使用的主要總線協議之一,存在著非透明橋接(即NTBNon-transparent Bridging)延伸規格。NTB通常用于嵌入式智能I/O板卡,它連接兩個獨立的處理器域,次側的資源和地址對主側的主系統是不可見的。允許次側的本地處理器獨立地配置和控制其子系統。主側和次側的時鐘完全獨立。主側和次側的地址完全獨立,在主側和次側之間可以進行地址翻譯。增加了隔離主、從總線段之間地址域的功能PCIe非透明橋,提供了一種高性能、低負載的信息通道,將本地和遠端的計算機系統連接起來。在存儲服務器系統中常常采用冗余備份策略,當主機發生故障,將有從機代替主機管理存儲系統。NTB是一種在主機與從機之間同步數據的重要途徑,NTB在數據傳輸中的可靠與穩定是保障存儲服務器系統冗余備份策略有效運行的重要條件。
[0003]另外NTB中還包括Scratchpad寄存器和門鈴寄存器,其中,Scratchpad寄存器是可供橋的兩側都可讀寫的,并提供處理器之間的通信。一般非透明橋接中存在8個這樣的寄存器,它們都能被橋的兩側操作。門鈴寄存器則是用來送從非透明的橋一側到另一側的中斷請求,來彌補讀寫Scratchpad寄存器不能提出中斷的不足。
[0004]隨著NTB在各類服務器中的應用越來越多,各個芯片廠商和服務器廠商都在對NTB進行測試。有些基于硬件原理構建測試,有些則使用軟件方法進行測試。但這些測試普遍負載較低,使用的測試數據也不能模擬真實的使用情況。
【發明內容】
[0005]鑒于以上所述現有技術的缺點,本發明的目的在于提供一種NTB性能測試方法及系統,用于解決現有技術中測試普遍負載較低,使用的測試數據也不能模擬真實的使用情況的問題。
[0006]為實現上述目的及其他相關目的,本發明在一方面提供一種NTB性能測試方法,所述NTB性能測試方法包括:在用于NTB測試的主機和從機內均配置NTB服務器、NTB客戶端和數據產生器;將主機與從機建立NTB連接;NTB服務器對本地的NTB接口進行配置,并設置形成內存空洞;NTB客戶端將內存映射到所述內存空洞;由數據產生器產生數據;NTB客戶端將所述數據產生器產生的數據寫入本地內存并通過NTB傳輸到NTB服務器使得NTB服務器讀取到該數據;由NTB服務器顯示讀寫的數據測試指標。
[0007]優選地,主機內的NTB服務器形成內存空洞,從機內的NTB客戶端將內存映射到主機內的內存空洞,從機內的數據產生器產生數據,從機內的NTB客戶端將從機內數據產生器產生的數據寫入本地內存并通過NTB傳輸到主機內的NTB服務器;從機內的NTB服務器形成內存空洞,主機內的NTB客戶端將內存映射到從機內的內存空洞,主機內的數據產生器產生數據,主機內的NTB客戶端將主機內數據產生器產生的數據寫入本地內存并通過NTB傳輸到從機內的NTB服務器;主機內的NTB服務器與從機內的NTB客戶端、主機內的NTB客戶端與從機內的NTB服務器同時進行雙向數據讀寫。
[0008]優選地,NTB服務器設置形成內存空洞后通過PCIe Doorbell通知與其連接的NTB客戶端;NTB客戶端在內存映射完成后通過PCIe Doorbell通知與其連接的NTB服務器。
[0009]優選地,數據產生器產生的數據為特定模式的數據或隨機數據。
[0010]優選地,NTB客戶端包含一個進程或包含多個進程或線程。
[0011]本發明在另外一方面提供一種NTB性能測試系統,所述NTB性能測試系統包括用于NTB測試的主機和從機,主機內和從機內均包括:NTB核心接口,用于將主機與從機建立NTB連接;數據產生器,用于產生數據;NTB服務器,與NTB核心接口相連,用于對本地的NTB核心接口進行配置,并設置形成內存空洞,同時顯示讀寫的數據測試指標;NTB客戶端,與數據產生器、NTB核心接口及NTB服務器相連,用于將內存映射到所述內存空洞,同時將數據產生器產生的數據寫入本地內存并通過NTB傳輸到NTB服務器使得NTB服務器讀取到該數據。
[0012]優選地,主機內的NTB服務器形成內存空洞,從機內的NTB客戶端將內存映射到主機內的內存空洞,從機內的數據產生器產生數據,從機內的NTB客戶端將從機內數據產生器產生的數據寫入本地內存并通過NTB傳輸到主機內的NTB服務器;從機內的NTB服務器形成內存空洞,主機內的NTB客戶端將內存映射到從機內的內存空洞,主機內的數據產生器產生數據,主機內的NTB客戶端將主機內數據產生器產生的數據寫入本地內存并通過NTB傳輸到從機內的NTB服務器;主機內的NTB服務器與從機內的NTB客戶端、主機內的NTB客戶端與從機內的NTB服務器同時進行雙向數據讀寫。
[0013]優選地,NTB服務器設置形成內存空洞后通過PCIe Doorbell通知與其連接的NTB客戶端;NTB客戶端在內存映射完成后通過PCIe Doorbell通知與其連接的NTB服務器。
[0014]優選地,數據產生器產生的數據為特定模式的數據或隨機數據。
[0015]優選地,NTB客戶端包含一個進程或包含多個進程或線程。
[0016]如上所述,本發明的一種NTB性能測試方法及系統,具有以下有益效果:
[0017]1、本發明主機內的NTB服務器與從機內的NTB客戶端、主機內的NTB客戶端與從機內的NTB服務器同時進行雙向數據讀寫,使主機和從機同時進行數據讀寫,顯著增加了測試負載,提高了測試壓力。
[0018]2、本發明使用多進程或多線性進行并行讀寫,也可以增加測試負載,提高測試壓力。
[0019]3、本發明中的數據產生器能夠產生特定模式的數據或隨機數據,使測試用的數據更加接近真實的使用情況,提高了模擬性。
【附圖說明】
[0020]圖1顯示為本發明的NTB性能測試方法的流程示意圖。
[0021]圖2顯示為本發明的NTB性能測試系統的測試示意圖。
[0022]圖3顯示為本發明的NTB性能測試系統的結構示意圖。
[0023]元件標號說明
[0024]I主機
[0025]11主機內的NTB核心接口
[0026]12主機內的NTB服務器
[0027]13主機內的NTB客戶端
[0028]14主機內的數據產生器
[0029]2從機
[0030]21從機內的NTB核心接口[0031 ]22從機內的NTB服務器
[0032]23從機內的NTB客戶端
[0033]24從機內的數據產生器
[0034]511?517步驟
【具體實施方式】
[0035]以下通過特定的具體實例說明本發明的實施方式,本領域技術人員可由本說明書所揭露的內容輕易地了解本發明的其他優點與功效。本發明還可以通過另外不同的【具體實施方式】加以實施或應用,本說明書中的各項細節也可以基于不同觀點與應用,在沒有背離本發明的精神下進行各種修飾或改變。
[0036]本發明的目的在于提供一種NTB性能測試方法及系統,用于解決現有技術中測試普遍負載較低,使用的測試數據也不能模擬真實的使用情況的問題。以下將詳細闡述本發明的一種NTB性能測試系統的原理及實施方式,使本領域技術人員不需要創造性勞動即可理解本發明的一種NTB性能測試系統。
[0037]第一實施例
[0038]請參閱圖1,顯示為本發明的一種NTB性能測試方法的流程示意圖。如圖1所示,本實施例提供一種NTB性能測試方法,所述NTB性能測試方法包括以下步驟。
[0039]步驟S11,在用于NTB測試的主機和從機內均配置NTB服務器、NTB客戶端和數據產生器。在用于NTB測試的主機和從機內均配置NTB服務器、NTB客戶端的目的是使得主機內的NTB服務器可以接收從機內NTB客戶端發送的數據,同時主機內的NTB客戶端也可以向從機內的NTB服務器發送數據。本發明主機內的NTB服務器與從機內的NTB客戶端、主機內的NTB客戶端與從機內的NTB服務器同時進行雙向數據讀寫,使主機和從機同時進行數據讀寫,顯著增加了測試負載,提高了測試壓力。
[0040]步驟S12,將主機與從機建立NTB連接。主機上設有NTB核心接口,從機上也設有NTB核心接口,其中,NTB核心接口提供對NTB進行操作的核心代碼。將主機內的NTB核心接口與從機內的NTB核心接口連