国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

國產(chǎn)操作系統(tǒng)穩(wěn)定性測試系統(tǒng)設(shè)計與實現(xiàn)

2021-09-22 07:44:02楊攀飛于子桐牟特
電子技術(shù)與軟件工程 2021年13期
關(guān)鍵詞:測試工具內(nèi)存界面

楊攀飛 于子桐 牟特

(基礎(chǔ)軟硬件性能與可靠性測評工業(yè)和信息化部重點實驗室工業(yè)和信息化部電子第五研究所 廣東省廣州市 510610)

1 引言

1.1 背景

在信息技術(shù)應(yīng)用創(chuàng)新的大背景下,對自主、安全、穩(wěn)定提出更高要求,操作系統(tǒng)是計算機軟件和應(yīng)用正常運行的必備基礎(chǔ)條件,其穩(wěn)定性與上下游軟硬件可靠性正相關(guān)。操作系統(tǒng)穩(wěn)定性是指在有異常輸入或壓力條件下,系統(tǒng)能夠繼續(xù)正確運行的程度,即當其上運行的應(yīng)用、硬件層或設(shè)備驅(qū)動器錯誤時,操作系統(tǒng)拒絕或反應(yīng)能力的指標。當前國產(chǎn)操作系統(tǒng)大多沿用Linux技術(shù)體系及成果,Linux作為宏內(nèi)核的典型代表,除最基本的進程管理、線程管理、內(nèi)存管理外,文件系統(tǒng)、驅(qū)動、網(wǎng)絡(luò)協(xié)議等均在內(nèi)核模塊,優(yōu)點是效率高,缺點是穩(wěn)定性差,通過國產(chǎn)操作系統(tǒng)穩(wěn)定性測試技術(shù)研究進而提升其穩(wěn)定性是信息技術(shù)應(yīng)用創(chuàng)新的重要工作。

1.2 研究現(xiàn)狀

國產(chǎn)操作系統(tǒng)基于Linux 操作系統(tǒng)二次開發(fā),通常采用同一個版本針對龍芯、飛騰等不同技術(shù)路線CPU特點和需求進行延伸定制,大部分模塊功能穩(wěn)定、重用性高,因此測試過程中易集中出現(xiàn)問題,導致多次回歸。

目前針對國產(chǎn)操作系統(tǒng)穩(wěn)定性測試主要使用開源Linux 操作系統(tǒng)測試工具,此類工具測試目標較為單一、缺乏集成測試功能,沒有穩(wěn)定的開發(fā)團隊維護升級,運行環(huán)境需求也各不相同,針對不同版本的操作系統(tǒng)和腳本語言,無良好的操作界面,使用感不友好。

因此,通過自主開發(fā)、綜合應(yīng)用、引入完善開源軟件測試工具,制定有效可行的測試計劃、執(zhí)行準確完整的測試用例,構(gòu)建全過程管理的統(tǒng)一高效的自動化測試平臺非常有必要,用以保證國產(chǎn)操作系統(tǒng)研發(fā)、使用和維護時的質(zhì)量穩(wěn)定性,滿足建立完整的國產(chǎn)操作系統(tǒng)生態(tài)鏈的需要。

2 穩(wěn)定性測試系統(tǒng)設(shè)計與實現(xiàn)

2.1 系統(tǒng)分析

根據(jù)國產(chǎn)操作系統(tǒng)特點,結(jié)合用戶需求開發(fā)測試用例庫,涵蓋操作系統(tǒng)的不同模塊,比如CPU、GPU、內(nèi)存、I/O、網(wǎng)絡(luò)等,并提供自動化和半自動化的測試接口,從而對國產(chǎn)操作系統(tǒng)進行自動化的穩(wěn)定性測試及評價。

2.2 系統(tǒng)設(shè)計

操作系統(tǒng)穩(wěn)定性測試工具采用MVC設(shè)計模式,模型,視圖,控制器分離,可分為控制端、執(zhí)行測試和文件系統(tǒng)三個部分。測試工具運行在控制端,包含測試配置模塊、數(shù)據(jù)處理模塊、和總控模塊三個部分。操作系統(tǒng)穩(wěn)定性設(shè)計流程圖如圖1所示。

測試參數(shù)配置模塊主要提供對單獨模塊測試參數(shù)的配置,可通過修改測試參數(shù)配置實現(xiàn)自定義測試。配置項與測試工具相關(guān),比如內(nèi)存測試提供的配置項有數(shù)組大小,測試次數(shù),編譯優(yōu)化,多線程等,也可根據(jù)需要自由配置最為合適的參數(shù)組合。

數(shù)據(jù)處理模塊主要負責收集測試中生成的測試數(shù)據(jù),實時更新測試進度信息,并對測試數(shù)據(jù)做進一步分析處理,計算測試數(shù)據(jù)的均值,最大值,變異系數(shù)等,通過熵值法得到該測試下各項性能指標的權(quán)重,綜合計算最終穩(wěn)定性,并根據(jù)穩(wěn)定性區(qū)間等級確定該測試的穩(wěn)定性等級。

總控模塊負責啟動整個系統(tǒng),控制整個測試過程。測試前,讀入系統(tǒng)參數(shù)更新界面中的相關(guān)信息,并根據(jù)測試參數(shù)配置編譯并啟動測試腳本;測試中,對測試進度進行監(jiān)控,得到實時信息;測試結(jié)束后,對測試過程產(chǎn)生的數(shù)據(jù)做進一步分析,得到測試模塊的穩(wěn)定性。

2.3 系統(tǒng)實現(xiàn)

國產(chǎn)操作系統(tǒng)穩(wěn)定性測試系統(tǒng)主要采用Java語言實現(xiàn),具備平臺可移植性;各測試腳本具有配置界面,便于在不同的條件下對國產(chǎn)操作系統(tǒng)穩(wěn)定性進行測試;各指標的穩(wěn)定性通過變異系數(shù)計算求得,該系數(shù)廣泛應(yīng)用于諸多領(lǐng)域中,本系統(tǒng)將該系數(shù)移植到國產(chǎn)操作系統(tǒng)的穩(wěn)定性評估中,具有一定的含義;為了綜合不同的指標,采用熵值法對不同指標分配權(quán)重,更加客觀。

在功能實現(xiàn)方面,操作系統(tǒng)穩(wěn)定性測試工具支持以下功能:

(1)測試參數(shù)配置,對于單獨模塊的測試,可通過修改測試參數(shù)配置實現(xiàn)自定義測試,配置項和具體使用到的測試工具相關(guān)。

(2)穩(wěn)定性分析,通過調(diào)用第三方內(nèi)存測試工具,得到一系列的測試數(shù)據(jù)用于穩(wěn)定性分析,當有多個指標時,采用熵值法進行綜合評估。

(3)記錄歷史測試結(jié)果,當測試完成時,會將本次測試的一些重要信息記錄在文件中,可用于對比分析。

(4)選擇測試模塊,綜合測試模塊中包含各個模塊的測試,用戶可根據(jù)需要選擇不同的測試組合進行綜合測試。

(5)上傳文件,選擇上傳待分析的測試數(shù)據(jù),一般為文本文件。

(6)穩(wěn)定性分析,首先會對上傳的文件做校驗,檢查其文件內(nèi)容格式是否正確,再對文件內(nèi)容做進一步分析,得到各指標值。

(7)支持測試結(jié)果的持久化保存及管理。

在界面及具體測試模塊實現(xiàn)方面,介紹如下:

2.3.1 系統(tǒng)主界面

系統(tǒng)主界面如圖2所示,通過選項卡進入不同模塊的測試界面。

2.3.2 CPU穩(wěn)定性測試模塊

CPU穩(wěn)定性測試選用的工具為sysbench,其對CPU的測試是在指定時間內(nèi),循環(huán)進行素數(shù)計算。編程公式:對正整數(shù)n,如果用2到根號n之間的所有整數(shù)去除,均無法整除,則n為素數(shù)。

CPU穩(wěn)定性測試模塊界面如圖3所示,主要包括四個部分,分別是參數(shù)配置欄,輸出控制臺,顯示測試結(jié)果的結(jié)果集以及趨勢圖部分。

參數(shù)配置部分包括了sysbench工具幾個主要的測試參數(shù),其含義分別如下:

(1)素數(shù)個數(shù)上限(cpu-max-prime):若設(shè)置為3,則表示2、3、5(這樣要計算1-5共5次);若設(shè)置為10,則表示2、3、5、7、11、13、17、19、23、29(這樣要計算1-29共29次);默認值為10000。

(2)線程數(shù)(threads)若設(shè)置為1,則sysbench僅啟動1個線程進行素數(shù)的計算;若設(shè)置為2,則sysbench會啟動2個線程,同時分別進行素數(shù)的計算;默認值為1。

(3)運行時間(time,單位秒)若設(shè)置為5,則sysbench會在5秒內(nèi)循環(huán)往復進行素數(shù)計算,從輸出結(jié)果可以看到在5秒內(nèi)完成了幾次,比如配合--cpu-max-prime=3,則表示第一輪算得3個素數(shù),如果時間還有剩就再進行一輪素數(shù)計算,直到時間耗盡。每完成一輪就叫一個event;默認值為10;相同時間,比較的是誰完成的event多。

(4)event上限(events)若設(shè)置為100,則表示當完成100次event后,即使時間還有剩,也停止運行;默認值為0,則表示不限event次數(shù);相同event次數(shù),比較的是誰用時更少

(5)測試次數(shù),該參數(shù)用來控制一共跑幾輪上述配置的測試,用于做穩(wěn)定性分析。

2.3.3 GPU穩(wěn)定性測試模塊

GPU測試模塊采用的測試工具為glmark2,默認在使用該工具時調(diào)用了如下幾個測試項:buあer,build, bump,clear,conditionals,desktop,function。

由于測試項已經(jīng)采用默認的了,因此參數(shù)配置主要包括兩項,單項測試時長以及測試次數(shù),主界面如圖4所示,單項測試時長是指每個測試項測試的時間,因此不考慮初始化等其他因素,一次完成的測試為單項測試時長的七倍。

2.3.4 內(nèi)存穩(wěn)定性測試模塊

內(nèi)存穩(wěn)定性測試界面如圖5所示,大致可分為3個部分,分別為上部的參數(shù)配置部分,中間的測試結(jié)果顯示部分,底部為測試管理部分。下面分別對這三部分進行簡述。

測試人員可根據(jù)需要對測試參數(shù)進行自定義修改,各參數(shù)含義如下:

數(shù)組大小:內(nèi)存測試過程中,使用的數(shù)組大小,數(shù)組占用內(nèi)存應(yīng)至少為CPU最高級緩存大小的4倍。

測試次數(shù):內(nèi)存測試執(zhí)行的次數(shù)。

O3編譯優(yōu)化:編譯測試腳本時是否啟用O3優(yōu)化,優(yōu)化級別分為O0、O1、O2、O3、Os,O0不做任何優(yōu)化,是默認的編譯選項;O1提供基礎(chǔ)級別的優(yōu)化,會消耗較少的編譯時間,它主要對代碼的分支,常量以及表達式等進行優(yōu)化;O2提供更加高級的代碼優(yōu)化,會嘗試更多的寄存器級的優(yōu)化以及指令級的優(yōu)化,它會在編譯期間占用更多的內(nèi)存和編譯時間;O3則在O2的基礎(chǔ)上進行更多的優(yōu)化,例如使用偽寄存器網(wǎng)絡(luò),普通函數(shù)的內(nèi)聯(lián),以及針對循環(huán)的更多優(yōu)化,提供最高級別的代碼優(yōu)化,線上發(fā)布時一定要用O3;Os相當于O2.5,是使用了所有-O2的優(yōu)化選項,但又不縮減代碼尺寸的方法。

多核測試:是否啟用多核執(zhí)行測試。就是利用CPU兩個或多個計算引擎(內(nèi)核)進行測試,核心數(shù)就代表“勞動力”,多核測試可以更好地處理多進程、多線程的任務(wù)。

圖2:操作系統(tǒng)穩(wěn)定性測試系統(tǒng)主界面

圖3:操作系統(tǒng)穩(wěn)定性測試系統(tǒng)CPU測試界面

圖4:操作系統(tǒng)穩(wěn)定性測試系統(tǒng)GPU測試界面

2.3.5 I/O穩(wěn)定性測試模塊

I/O測試采用的測試工具為iozone,是一個文件系統(tǒng)的benchmark工具,可以測試多種模式下文件系統(tǒng)的讀寫性能。測試時,設(shè)置的測試文件大小一定要大于系統(tǒng)內(nèi)存(最佳為內(nèi)存的兩倍大小),否則linux會將讀寫內(nèi)容進行緩存,導致數(shù)值不真實。

iozone常用的配置參數(shù)如下:

(1)-a全面測試,自動增加塊大小進行多次測試。

圖5:操作系統(tǒng)穩(wěn)定性測試系統(tǒng)內(nèi)存測試界面

圖6:操作系統(tǒng)穩(wěn)定性測試系統(tǒng)I/O測試界面

圖7:操作系統(tǒng)穩(wěn)定性測試系統(tǒng)其他測試界面

(2)-i N用來選擇測試項,比如Read /Write /Random。比較常用的是0 1 2,可以指定成-i 0 -i 1 -i2,各數(shù)字對應(yīng)的測試模式如表1所示。

(3)-r block size 指定一次寫入/讀出的塊大小。

(4)-s file size 指定測試文件的大小。

(5)-f filename 指定測試文件的名字,完成后會自動刪除(這個文件必須指定在待測硬盤中)。

(6)-F file1 file2...指定多線程下測試的文件名。

參數(shù)配置界面如圖6所示,可提供2個常用預設(shè)測試選項,除此之外可以通過自定義,手動在文本框中輸入測試命令;測試文件這一欄為測試文件所在的路徑,比如默認測試路徑為/tmp,在測試過程中就會在該路徑下創(chuàng)建一個testfile用于測試,測試完畢后,會自動刪除;測試次數(shù)即指定運行多少次上述配置的測試,用于對穩(wěn)定性進行評估。

圖8:操作系統(tǒng)穩(wěn)定性測試系統(tǒng)綜合評估界面

表1:測試模式

2.3.6 其他測試模塊

其他測試主要用于分析數(shù)據(jù)的穩(wěn)定性。主界面如圖7所示。數(shù)據(jù)需按格式要求,比如第一行表示橫縱坐標軸,第二行對應(yīng)下面各列數(shù)據(jù)的含義。當提供的文件格式不正確時系統(tǒng)會報錯,當提供文件格式正確時則會處理該文件中的數(shù)據(jù)。

2.3.7 綜合評估模塊

綜合評估模塊即對前述四個模塊分別進行默認配置的測試,最終將所有測試結(jié)果進行綜合,通過熵值確定各個指標的權(quán)重并評價,得到最終的綜合穩(wěn)定度以及穩(wěn)定等級。其主界面如圖8所示。

3 系統(tǒng)運行效果與分析

在完成測試系統(tǒng)代碼的編寫及調(diào)試后,并在配置了龍芯、飛騰、申威、鯤鵬、兆芯等主流硬件平臺及麒麟操作系統(tǒng)、UOS操作系統(tǒng)等國產(chǎn)主流操作系統(tǒng)的計算機中測試,對測試中出現(xiàn)的問題進行修改和優(yōu)化,使測試系統(tǒng)能夠穩(wěn)定運行并提供可靠的測試結(jié)果。如下內(nèi)容為對運行的效果進行描述和分析。

3.1 運行效果

以測試GPU為例,描述測試運行過程如下:

(1)安裝初始化:根據(jù)測試系統(tǒng)不同測試模塊所依賴的環(huán)境安裝相關(guān)依賴包,然后安裝測試系統(tǒng)安裝包,測試系統(tǒng)已集成為一個jar包,前期運行環(huán)境及安裝部署完成之后,進入.jar文件或.sh文件路徑下,通過終端使用命令java –jar StTestTool.jar或./StTestTool.sh即可運行。

(2)測試配置:可配置測試時使用的測試配置,也可使用默認的測試配置。

圖9:GPU測試結(jié)果圖

(3)執(zhí)行測試:圖9為一次測試示例,在結(jié)果集中顯示了每次測試完成后得到的各個測試項的測試結(jié)果,該數(shù)值為FPS,是指畫面每秒傳輸幀數(shù),通俗來講就是指動畫或視頻的畫面數(shù)。FPS是測量用于保存、顯示動態(tài)視頻的信息數(shù)量。每秒鐘幀數(shù)越多,所顯示的動作就會越流暢。右側(cè)變化圖是各個測試項的每次測試結(jié)果,對測試結(jié)果進行直觀顯示。最終的測試結(jié)果即穩(wěn)定性顯示在最下方,有穩(wěn)定性數(shù)值及其對應(yīng)的穩(wěn)定性等級。

4 總結(jié)

針對國產(chǎn)操作系統(tǒng)設(shè)計并現(xiàn)了一套綜合測試系統(tǒng),可對適配不同廠商的操作系統(tǒng),具備良好的通用性,界面操作簡便,極大地提高了測試效率,無需測試人員編寫測試腳本,降低了測試難度,彌補了對國產(chǎn)操作系統(tǒng)進行綜合測試區(qū)域的空白,為對國產(chǎn)操作系統(tǒng)進一步測試研究打下了基礎(chǔ)。

猜你喜歡
測試工具內(nèi)存界面
邊緣智力兒童及其智力測試工具的研究進展
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
“春夏秋冬”的內(nèi)存
當代陜西(2019年13期)2019-08-20 03:54:22
Http并發(fā)連接測試工具
基于FANUC PICTURE的虛擬軸坐標顯示界面開發(fā)方法研究
人機交互界面發(fā)展趨勢研究
手機界面中圖形符號的發(fā)展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
福祿克推出先進的連接式測試工具系統(tǒng)
基于內(nèi)存的地理信息訪問技術(shù)
上網(wǎng)本為什么只有1GB?
二连浩特市| 枣强县| 灵丘县| 文安县| 纳雍县| 金华市| 台前县| 洛浦县| 青海省| 都江堰市| 昔阳县| 绵竹市| 习水县| 上饶县| 望谟县| 南充市| 阳朔县| 富蕴县| 阿瓦提县| 凤庆县| 大余县| 永春县| 志丹县| 桂平市| 奈曼旗| 彭阳县| 平原县| 永泰县| 通化县| 略阳县| 龙游县| 灵山县| 泾源县| 桐城市| 大渡口区| 同心县| 延庆县| 密云县| 吴桥县| 沧源| 伊吾县|