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