基于fpga的性能測試數(shù)據(jù)流的調(diào)度方法和裝置制造方法
【專利摘要】本發(fā)明實施例提供一種基于FPGA的性能測試數(shù)據(jù)流的調(diào)度方法和裝置。本發(fā)明實施例涉及測試【技術領域】,用以解決測試設備成本高的問題。方法包括為每條測試數(shù)據(jù)流配置流長度、占用被測試端口總帶寬的百分比和流請求發(fā)生器;利用流請求發(fā)生器產(chǎn)生測試數(shù)據(jù)流的流請求消息;對流請求發(fā)生器進行輪詢,并將輪詢獲得的流請求消息存儲在先進先出緩存器FIFO中;從FIFO中讀取流請求消息,并根據(jù)流請求消息從流存儲器中讀取測試數(shù)據(jù)流;對讀取的測試數(shù)據(jù)流進行封裝,并將封裝后的測試數(shù)據(jù)流發(fā)送給以太網(wǎng)的被測試端口。本發(fā)明實施例提供的基于FPGA的性能測試數(shù)據(jù)流的調(diào)度方法和裝置,可以應用于性能測試設備中。
【專利說明】基于FPGA的性能測試數(shù)據(jù)流的調(diào)度方法和裝置
【技術領域】
[0001] 本發(fā)明實施例涉及測試【技術領域】,尤其涉及一種基于FPGA的性能測試數(shù)據(jù)流的 調(diào)度方法和裝置。
【背景技術】
[0002] 性能測試是通過模擬被測試設備的負載條件來測試被測試設備的性能的測試。在 對以太網(wǎng)進行性能測試時,需要在以太網(wǎng)的同一端口發(fā)送多條長度不同的數(shù)據(jù)流,以測試 以太網(wǎng)的網(wǎng)絡性能。
[0003] 現(xiàn)有技術中,在對以太網(wǎng)設備進行性能測試時,以太網(wǎng)性能測試設備首先通過數(shù) 據(jù)流生成軟件生成測試數(shù)據(jù)流,然后通過測試設備的CPU將測試數(shù)據(jù)流調(diào)度給以太網(wǎng)的被 測試端口,以執(zhí)行性能測試。上述方法,測試設備在測試端口發(fā)送測試數(shù)據(jù)流的速率受限于 測試設備的CPU的處理能力。
[0004] 對于高速以太網(wǎng),由于高速以太網(wǎng)的數(shù)據(jù)傳輸速率最低為百兆比特率,基本傳輸 速率為千兆比特率、萬兆比特率,甚至更高,在對高速以太網(wǎng)進行性能測試時,要使測試設 備的CPU的處理能力與高速以太網(wǎng)的數(shù)據(jù)傳輸速率相匹配,需要測試設備的各個部件(例 如,CPU、內(nèi)存、主板等)都具有較高的配置,因此,測試設備的成本高。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的實施例提供一種基于FPGA的性能測試數(shù)據(jù)流的調(diào)度方法和裝置,用以 降低測試設備的成本。
[0006] 為達到上述目的,本發(fā)明的實施例采用如下技術方案:
[0007] 第一方面,本發(fā)明實施例提供一種基于FPGA的性能測試數(shù)據(jù)流的調(diào)度方法,包 括:
[0008] 為每條測試數(shù)據(jù)流配置流長度、占用被測試端口總帶寬的百分比和流請求發(fā)生 器,所述測試數(shù)據(jù)流與所述流請求發(fā)生器一一對應;
[0009] 利用流請求發(fā)生器產(chǎn)生測試數(shù)據(jù)流的流請求消息,所述流請求消息中包括測試數(shù) 據(jù)流的流標識信息和流長度信息;
[0010] 對流請求發(fā)生器進行輪詢,并將輪詢獲得的流請求消息存儲在先進先出緩存器 FIFO 中;
[0011] 從FIFO中讀取流請求消息,并根據(jù)所述流請求消息中的流標識信息和流長度信 息從流存儲器中讀取測試數(shù)據(jù)流;
[0012] 按照以太網(wǎng)協(xié)議標準對讀取的測試數(shù)據(jù)流進行封裝,并將封裝后的測試數(shù)據(jù)流發(fā) 送給以太網(wǎng)的被測試端口。
[0013] 結合第一方面,在第一方面的第一種可能的實現(xiàn)方式中,所述利用流請求發(fā)生器 產(chǎn)生測試數(shù)據(jù)流的流請求消息,包括:
[0014] 流請求發(fā)生器接收FPGA系統(tǒng)時鐘信號,并在每接收到第一閾值數(shù)量的系統(tǒng)時鐘 信號后產(chǎn)生一個流請求消息,所述第一閾值為發(fā)送與所述流請求發(fā)生器對應的測試數(shù)據(jù)流 需要經(jīng)過的系統(tǒng)時鐘的數(shù)量;
[0015] 結合第一方面或第一方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式 中,所述第一閾值的計算公式為:
【權利要求】
1. 一種基于FPGA的性能測試數(shù)據(jù)流的調(diào)度方法,其特征在于,包括: 為每條測試數(shù)據(jù)流配置流長度、占用被測試端口總帶寬的百分比和流請求發(fā)生器,所 述測試數(shù)據(jù)流與所述流請求發(fā)生器一一對應; 利用流請求發(fā)生器產(chǎn)生測試數(shù)據(jù)流的流請求消息,所述流請求消息中包括測試數(shù)據(jù)流 的流標識信息和流長度信息; 對流請求發(fā)生器進行輪詢,并將輪詢獲得的流請求消息存儲在先進先出緩存器FIFO 中; 從FIFO中讀取流請求消息,并根據(jù)所述流請求消息中的流標識信息和流長度信息從 流存儲器中讀取測試數(shù)據(jù)流; 按照以太網(wǎng)協(xié)議標準對讀取的測試數(shù)據(jù)流進行封裝,并將封裝后的測試數(shù)據(jù)流發(fā)送給 以太網(wǎng)的被測試端口。
2. 根據(jù)權利要求1所述的方法,其特征在于,所述利用流請求發(fā)生器產(chǎn)生測試數(shù)據(jù)流 的流請求消息,包括: 流請求發(fā)生器接收現(xiàn)場可編程門陣列FPGA系統(tǒng)時鐘信號,并在每接收到第一閾值數(shù) 量的系統(tǒng)時鐘信號后產(chǎn)生一個流請求消息,所述第一閾值為發(fā)送與所述流請求發(fā)生器對應 的測試數(shù)據(jù)流需要經(jīng)過的系統(tǒng)時鐘的數(shù)量。
3. 根據(jù)權利要求2所述的方法,其特征在于,所述第一閾值的計算公式為:
其中,R為第一閾值,L為與流請求發(fā)生器對應的測試數(shù)據(jù)流封裝后的字節(jié)數(shù),K為被測 試端口在一個FPGA系統(tǒng)時鐘周期能夠發(fā)送數(shù)據(jù)流的字節(jié)數(shù),P為與流請求發(fā)生器對應的測 試數(shù)據(jù)流占用被測試端口總帶寬的百分比。
4. 根據(jù)權利要求2所述的方法,其特征在于,所述每接收到第一閾值數(shù)量的系統(tǒng)時鐘 信號后產(chǎn)生一個流請求消息,包括: 對流請求發(fā)生器接收的系統(tǒng)時鐘進行計數(shù); 在流請求發(fā)生器接收到第η個系統(tǒng)時鐘后,將ACCn+K · P的值和IOOL的值做比較; 若 ACCn+K · P>100L,則 ACCn+1 = ACCn+K · P-100L,并產(chǎn)生一個流請求消息; 若 ACCn+K · P〈100L,則 ACCn+1 = ACCn+K · P ; 其中,η為整數(shù)變量、ACCn為中間變量,ACCtl = 0, L為與流請求發(fā)生器對應的測試數(shù)據(jù) 流封裝后的字節(jié)數(shù),K為被測試端口在一個FPGA系統(tǒng)時鐘周期能夠發(fā)送數(shù)據(jù)流的字節(jié)數(shù),P 為與流請求發(fā)生器對應的測試數(shù)據(jù)流占用被測試端口總帶寬的百分比。
5. 根據(jù)權利要求1-4任一項所述的方法,其特征在于,還包括,為每條測試數(shù)據(jù)流分配 一個流存儲單元; 所述根據(jù)流請求消息中的流標識信息和流長度信息從流存儲器中讀取測試數(shù)據(jù)流,包 括: 按照所述流請求消息中的流長度信息,從與所述流請求消息中的流標識相對應的流存 儲單元中讀取測試數(shù)據(jù)流。
6. -種基于FPGA的性能測試數(shù)據(jù)流的調(diào)度裝置,其特征在于,包括:分配模塊、流請求 發(fā)生器、流請求仲裁器、FIFO、流存儲器、調(diào)度模塊和發(fā)送模塊; 所述分配模塊,用于為每條測試數(shù)據(jù)流配置流長度、占用被測試端口總帶寬的百分比 和流請求發(fā)生器,所述測試數(shù)據(jù)流與所述流請求發(fā)生器一一對應; 所述流請求發(fā)生器,用于產(chǎn)生測試數(shù)據(jù)流的流請求消息,所述流請求消息中包括測試 數(shù)據(jù)流的流標識信息和流長度信息; 所述流請求仲裁器,用于對流請求發(fā)生器進行輪詢,并將輪詢獲得的流請求消息存儲 在先進先出緩存器FIFO中; 所述調(diào)度模塊,用于從FIFO中讀取流請求消息,并根據(jù)所述流請求消息中的流標識信 息和流長度信息從流存儲器中讀取測試數(shù)據(jù)流; 所述發(fā)送模塊,用于按照以太網(wǎng)協(xié)議標準對讀取的測試數(shù)據(jù)流進行封裝,并將封裝后 的測試數(shù)據(jù)流發(fā)送給以太網(wǎng)的被測試端口。
7. 根據(jù)權利要求6所述的裝置,其特征在于, 所述流請求發(fā)生器具體用于接收FPGA系統(tǒng)時鐘信號,并在每接收到第一閾值數(shù)量的 系統(tǒng)時鐘信號后產(chǎn)生一個流請求消息,所述第一閾值為發(fā)送與所述流請求發(fā)生器對應的測 試數(shù)據(jù)流需要經(jīng)過的系統(tǒng)時鐘的數(shù)量。
8. 根據(jù)權利要求7所述的裝置,其特征在于,所述第一閾值的計算公式為:
其中,R為第一閾值,L為與流請求發(fā)生器對應的測試數(shù)據(jù)流封裝后的字節(jié)數(shù),K為被測 試端口在一個FPGA系統(tǒng)時鐘周期能夠發(fā)送數(shù)據(jù)流的字節(jié)數(shù),P為與流請求發(fā)生器對應的測 試數(shù)據(jù)流占用被測試端口總帶寬的百分比。
9. 根據(jù)權利要求7所述的裝置,其特征在于,所述流請求發(fā)生器包括: 計數(shù)單元,用于對流請求發(fā)生器接收的系統(tǒng)時鐘進行計數(shù); 比較單元,用于在流請求發(fā)生器接收到第η個系統(tǒng)時鐘后,將ACCn+K ·Ρ的值和IOOL的 值做比較; 生成單元,若ACCn+K · P>100L,則ACCn+1 = ACCn+K · P-100L,所述生成器產(chǎn)生一個流請 求消息; 若 ACCn+K · P〈100L,則 ACCn+1 = ACCn+K · P ; 其中,η為整數(shù)變量、ACCn為中間變量,ACCtl = 0, L為與流請求發(fā)生器對應的測試數(shù)據(jù) 流封裝后的字節(jié)數(shù),K為被測試端口在一個FPGA系統(tǒng)時鐘周期能夠發(fā)送數(shù)據(jù)流的字節(jié)數(shù),P 為與流請求發(fā)生器對應的測試數(shù)據(jù)流占用被測試端口總帶寬的百分比。
10. 根據(jù)權利要求6-9任一項所述的裝置,其特征在于,還包括,所述分配模塊還用于 為每條測試數(shù)據(jù)流分配一個流存儲單元; 所述調(diào)度模塊具體用于按照所述流請求消息中的流長度信息,從與所述流請求消息中 的流標識相對應的流存儲單元中讀取測試數(shù)據(jù)流。
【文檔編號】H04L12/26GK104378256SQ201410621464
【公開日】2015年2月25日 申請日期:2014年11月6日 優(yōu)先權日:2014年11月6日
【發(fā)明者】李建國 申請人:邁普通信技術股份有限公司