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