摘要:輸入輸出系統(tǒng)(I/O系統(tǒng))作為計算機系統(tǒng)中的一個重要組成部分,其性能的好壞對CPU的性能有很大的影響,因此本文從I/O系統(tǒng)基本概述開始介紹,并采用了模型模擬和實際測量的方法來衡量I/O系統(tǒng)性能,并做了相關的評價分析。
關鍵詞:I/O系統(tǒng);I/O系統(tǒng)性能分析
中圖分類號:TP273 文獻標識碼:A 文章編號:1007-9599 (2012) 24-0074-02
1 引言
除了CPU和存儲器兩大模塊外,計算機硬件系統(tǒng)的第三個關鍵部分即是輸入輸出模塊,簡稱I/O系統(tǒng)。I/O系統(tǒng)是計算機系統(tǒng)中的一個重要組成部分,它完成計算機與外界的信息交換,或者給計算機提供大容量的外部存儲器。
2 I/O系統(tǒng)性能的重要性
I/O系統(tǒng)的性能對CPU的性能有很大的影響,若兩者的性能不匹配,I/O系統(tǒng)就有可能成為整個系統(tǒng)的瓶頸。雖然CPU時間是衡量計算機系統(tǒng)的一個重要指標,但系統(tǒng)的響應時間是一個更好的衡量指標。它是指從用戶輸入命令開始,到得到結果所花的時間。這個時間由兩部分組成:I/O系統(tǒng)的響應時間以及CPU的處理時間。如果I/O系統(tǒng)的響應時間很長,CPU再快也沒有用。
Amdahl定律告訴我們:計算機系統(tǒng)的性能受限于系統(tǒng)中最慢的部分。如果I/O系統(tǒng)沒有明顯改進的話,那么計算機系統(tǒng)的總體性能將越來越受限于I/O系統(tǒng)。
3 I/O系統(tǒng)性能測評與分析
那么如何對I/O系統(tǒng)進行有效的性能分析呢?本文試圖從模型模擬和實際測量的方法來進行衡量。模型模擬是對I/O系統(tǒng)建模后,使用排隊理論進行分析。實際測量使之通過基準測試程序進行實際測量。
3.1 模型模擬——排隊系統(tǒng)
排隊系統(tǒng)又稱服務系統(tǒng)。服務系統(tǒng)由服務機構和服務對象(顧客)構成。圖1為一最簡單的排隊系統(tǒng)模型。排隊系統(tǒng)包括三個組成部分:輸入過程、排隊規(guī)則和服務機構。
圖1 M/M/1排隊系統(tǒng)
假定I/O請求的到達時間和服務員的服務時間服從指數(shù)分布。 M/M/1排隊系統(tǒng)的一般假設:系統(tǒng)為一個平衡系統(tǒng);連續(xù)兩個到達請求的間隔時間服從指數(shù)分布,其均值為平均到達時間;請求的個數(shù)不受限制;隊列的長度不受限制,排隊規(guī)則為FIFO;系統(tǒng)只有一個服務員。
排隊系統(tǒng)參數(shù) :任務的平均服務時間; :任務的服務速率; ;W:平均排隊延遲; :平均響應時間; ; :任務的到達率; :服務員利用率(服務強度), ; :正在服務的平均任務數(shù); :隊列的平均長度; :平均任務數(shù), ; ; :服務員個數(shù)。
若M/M/1模型的到達率為 ,服務率為 ,1個服務員。相關的分析結論有:系統(tǒng)服務強度 ;系統(tǒng)中沒有任務的概率 ;系統(tǒng)中有 個任務的概率: ;系統(tǒng)中平均任務數(shù)量 ;隊列中平均任務數(shù) ;系統(tǒng)平均響應時間 ;任務在隊列中的平均等待時間 。
若M/M/m模型將M/M/1模型的服務員修改為 個,相關的分析結論有:
(1)系統(tǒng)服務強度:
(2)系統(tǒng)中沒有任務的概率:
(3)系統(tǒng)中有n個任務的概率:
(4)隊列中有顧客的概率:
(5)系統(tǒng)中平均任務數(shù)量:
(6)隊列中平均任務數(shù):
(7)系統(tǒng)平均響應時間:
(8)隊列中的平均等待時間:
3.2 實際測量I/O系統(tǒng)性能
iozone是一個文件系統(tǒng)的benchmark工具,可以測試不同的操作系統(tǒng)中文件系統(tǒng)的讀寫性能。可以測試 Read, write, re-read,re-write, read backwards, read strided等等不同的模式下的硬盤的性能。IOzone不僅用來測量子系統(tǒng)的吞吐量和比較不同的文件系統(tǒng)的性能, 而且也能用于測量和比較各種級別的獨立的冗余磁盤陣列(RAID)的性能。IOzone 能夠幫助分析在不同的文件大小以及不同記錄塊(record)大小的情況下, 系統(tǒng)的IO性能的高低。IOzone 還可以測試在不同并行進程總數(shù)下的文件IO 能力的實際性能。
用于測試的機器配置如下:
名稱C1C2
CPUDDR2 1024MBIntel 6系列
CPU個數(shù)11
Cache512KB3M
內存1G2G
下面為實際測量的結果。其中表1,表2分別表示C1的write,read的測試結果。表3,表4分別表示C2的write,read的測試結果。第一列為測試的file size;第二列為測試的record size;后四列分別對應不同測試方法的測試結果(單位為Kb/s)。
表1 C1的write能力測試結果
326412825651210242048
64283528361342
128432246417287457267
256518598562531190195564610
512589680616249507259486263634381
10246211046699000592731586660618955401913
2048593211746452631267565787214737550492584508
表2 C1的read能力測試結果
326412825651210242048
64848484406189
128105571810025851027313
2564755381085738936019996047
51210377844928011003684916363900160
10241196297107459813081568590239223581013116
20489499681296817403395331130419028327521827042
表3 C2的write能力測試結果
326412825651210242048
643366026562266
128397085559971720173
25678396097995011480591348335
5125036974728138929712249301469270
1024137882515568001120515118525310452802013843
2048121577988870082974410768151165431543261566242
表4 C2的read能力測試結果
326412825651210242048
6421106623610344
128375871438109194813792
2563707921473079643901785380121
51220138433707921538012144615633878249
1024419711135634563745886355192437204905366966
2048987222109045627576503325893355768144843502420164
對比表,read在C2的表現(xiàn)較好,在write測試在C1,C2之間相差不大。可以看到,硬件平臺的配置好壞對與read相關性能影響較大,而對系統(tǒng)write能力影響較小。
此外,說明內存和緩沖區(qū)容量大對提高系統(tǒng)平均的write速度有正面作用。當file size和record size大小達到一定程度,這時測試的是磁盤(Physical disk)的I/O能力,而write的速度繼續(xù)下降。當文件和記錄的大小較小的時候,文件I/O速度都比較快,隨著文件和記錄逐漸增大,I/O能力數(shù)值慢慢下降。
4 總結
從測試的結果來看,CPU cache和內存比較大的硬件平臺,其文件I/O能力比較好,CPU cache主要影響文件I/O速度的峰值,內存大小主要影響平均的速度。硬件配置的好壞對系統(tǒng)文件read能力的影響比對文件write能力的影響要大一些。在文件I/O能力的各項子測試對比中,read的I/O速度數(shù)值較大,證明在這些方面的能力較好,而write數(shù)值相對較小。
當然,由于這里的測試僅僅只是對普通的讀寫性能進行的,而且又沒有多次測量降低誤差,所以對于日常應用來說,測試結果未必100%可取,但也在另一方面反應了一些情況:即,對于非存儲服務器來說,增加高速整列對I/O性能的影響反而不如升級內存或者CPU的影響大。
參考文獻:
[1]李亮,聶瑞華.高性能計算平臺的IO性能測試與分析.2011.
[2]陳祖義,華勇.集群系統(tǒng)CPU、內存、I/O性能測試研究.2006.05.
[3]劉敏,王意潔.并行I/O技術研究.2002.
[4]張晨曦.編著.計算機系統(tǒng)結構教程[M].清華大學出版社.2011.
[5] Overview of I/O Performance and RAID in an RDBMS Environment [EB/ OL]. http://www. perftuning.co m/whitepapers/RAID.pdf.2002.06.
[作者簡介]尹然(1989- ),女,西南大學,碩士在讀,重慶市北碚區(qū)西南大學11級研究生,研究方向:軟件測試。