<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 網(wǎng)格中比較CPU計算能力的一種方法

網(wǎng)格中比較CPU計算能力的一種方法

作者: 時(shí)間:2012-04-20 來(lái)源:網(wǎng)絡(luò ) 收藏

引 言

本文引用地址:http://dyxdggzs.com/article/171585.htm

中,常常需要使用多臺機協(xié)同工作完成一臺超級機才能完成的計算任務(wù),為實(shí)現上述目標,首先應通過(guò)信息服務(wù)獲得中各臺主機計算的指標,然后進(jìn)行判斷選擇,決定由哪些主機參與計算。

當前,已有的網(wǎng)格信息服務(wù)模塊、網(wǎng)格監控模塊,如MDS2將系統平均負載作為反映狀態(tài)的動(dòng)態(tài)指標提供給用戶(hù);另外,通過(guò)系統命令或系統調用也可以獲得 使用率這個(gè)動(dòng)態(tài)指標。系統平均負載是在特定時(shí)間間隔內運行隊列中的平均進(jìn)程數,CPU使用率表示CPU使用程度的指標,能夠反映出CPU的工作狀態(tài),但由于網(wǎng)格中CPU型號性能的差異,因此,無(wú)法用它們直接網(wǎng)格中CPU的計算。

為直接網(wǎng)格中主機 CPU的計算,獲得具有可比性的反映CPU計算能力的指標,我們采用計算量動(dòng)態(tài)選擇算法,在各臺主機上周期性地瞬間執行計算量適中的Whestone 基準計算,通過(guò)PAPI接口編程對CPU所完成的浮點(diǎn)數計算進(jìn)行精確計數,用得到的每秒百萬(wàn)浮點(diǎn)數MFLOPS作為主機CPU計算能力的指標,定義為 WMFLOPS。得到WMFLOPS后,通過(guò)Globus提供的監控和發(fā)現服務(wù)(Monitoring and Discovery Service,MDS),將該指標作為資源信息進(jìn)行發(fā)布,作為比較網(wǎng)格節點(diǎn)CPU計算能力的依據,為用戶(hù)選擇計算節點(diǎn)提供參考。我們編寫(xiě)了程序 WfpSensor用于上述的實(shí)現。WfpSensor作為傳感器工作于網(wǎng)格中的各個(gè)節點(diǎn),周期性地對CPU進(jìn)行計算測試,獲得WMFLOPS的返回值,同時(shí),WfpSensor也是MDS服務(wù)中的本地信息提供者,定時(shí)將最新的WMFLOPS值傳遞給MDS系統,供用戶(hù)查閱。

計算測試子程序

CPU 的計算能力主要體現在浮點(diǎn)數計算能力、定點(diǎn)數計算能力和矩陣計算能力等方面,其中某一類(lèi)程序在CPU上運行的效果并不能全面地反映CPU的計算能力,所以許多國際基準組織開(kāi)發(fā)了測試CPU計算能力的基準測試程序,在這類(lèi)程序中進(jìn)行的操作和運算可以相對全面客觀(guān)地考察CPU的計算能力。本文采用綜合型基準測試程序Whestone作為WfpSensor的計算測試子程序,Whestone程序中主要包括浮點(diǎn)運算、整數運算、涉及到數組下標索引、子程序調用、參數傳遞、條件轉移和三角/超越函數等,可以綜合考察CPU提供的計算能力。

返回指標WM FLOPS

WfpSensor 進(jìn)程對CPU進(jìn)行計算測試后,取出CPU在測試過(guò)程中的指標來(lái)反映CPU的計算能力。絕大多數網(wǎng)格計算都是科學(xué)計算,而浮點(diǎn)計算是科學(xué)計算程序中最主要的計算,所以選用每秒百萬(wàn)浮點(diǎn)數MFLOPS作為反映CPU計算能力的指標。MFLOPS反映了CPU的浮點(diǎn)計算能力,并且MFLOPS是基于操作而非指令的,可以用它來(lái)比較兩種不同CPU的計算能力。由于是調用Whestone程序進(jìn)行測試所得的結果,因此定義該指標為WMFLOPS。

指標精確計數

指標確定后,如何在WfpSensor中精確得到Whestone計算結束后的WMFLOPS值成為問(wèn)題的關(guān)鍵。由美國田納西大學(xué)計算機學(xué)院創(chuàng )新計算實(shí)驗室開(kāi)發(fā)的標準應用編程接口PAPI( portable application programming interface)能夠滿(mǎn)足上述要求。該軟件通過(guò)CPU上的硬件計數器,對CPU運行時(shí)產(chǎn)生的某些事件進(jìn)行計數,并建立了一個(gè)標準應用編程接口方便用戶(hù)讀出計數器的值,通過(guò)這些值就可以了解當前CPU的工作狀態(tài)。由于CPU生產(chǎn)廠(chǎng)商及型號的不同,CPU硬件計數器所計數的硬件事件會(huì )有所不同,為標準化指標的名稱(chēng),使同一工具可以計數相似的可比較事件,促進(jìn)跨平臺調試程序的能力,PAPI開(kāi)發(fā)者選擇了一套和調試應用程序相關(guān)的硬件事件稱(chēng)為預定義事件,作為反映CPU當前工作狀態(tài)的指標。這些指標是跨平臺的通用事件,包括了大部分主流RISC類(lèi)事件,并且盡可能把這些預定義事件映射到給定CPU的硬件計數器事件中。在本文中,使用了PAPI_FP_INS這個(gè)PAPI預定義事件,它表示進(jìn)程執行過(guò)程中完成的浮點(diǎn)數計算。PAPI提供了精確的計時(shí)器,精確到微秒,能夠準確地對進(jìn)程的執行時(shí)間進(jìn)行計時(shí),如果經(jīng)計數,PAPI_FP_INS事件總數為n,計算執行時(shí)間為t(單位:μs) ,那么WMFLOPS=n/t。

計算量動(dòng)態(tài)選擇

采用計算測試CPU的計算能力,必須保證以下兩點(diǎn):

(1) 測試進(jìn)程應盡可能不影響CPU的正常工作,當然由于測試進(jìn)程的引入必將影響到CPU正常運行,應設法讓這種影響降到一個(gè)可以接受的程度,并且使計算給系統帶來(lái)的開(kāi)銷(xiāo)盡可能小。

(2) 測試進(jìn)程要有一定的計算量,如果計算量過(guò)小,會(huì )使初始化、函數調用等操作消耗的時(shí)間在進(jìn)程的執行時(shí)間t中占有較大的比重,從而使WMFLOPS的值比真實(shí)值小,影響測試結果的精確性。

為同時(shí)保證(1)需要較小的計算量和(2)需要較大的計算量,選擇合適的測試計算量十分重要,為此,提出采用計算量動(dòng)態(tài)選擇的算法確定計算量。

計算量的大小控制可以通過(guò)改變WfpSensor中調用Whestone程序的次數(NUM_LOOPS)實(shí)現。假定使計算執行時(shí)間t(單位:s)在 0.5~1.5的計算量是合理值,計算量調節系數為xs。WfpSensor啟動(dòng)時(shí),NUM_LOOPS賦初值。調用Whestone計算結束后,如果:

(1) 0.5≤t≤1.5,在合理區間內,NUM_LOOPS的值保持不變。

(2) t>1.5,計算量偏大,下次測試應減小Whestone的調用次數,則NUM_LOOPS=NUM_LOOPS/xs。xs為t四舍五入后的整數值。

(3) t0.5,計算量偏小,下次測試應增加Whestone的調用次數,則NUM_LOOPS=NUM_LOOPS3xs。xs為(1/t)四舍五入后的整數值。

具體算法如下:

start_usec=PAPI_get_real_usec();//通過(guò)PAPI函數獲得計算開(kāi)始時(shí)的時(shí)刻

do_wst(NUM_LOOPS);//Whestone寫(xiě)成函數,對它進(jìn)行調用,NUM_LOOPS是調用次數

end_usec=PAPI_get_real_usec();//通過(guò)PAPI函數獲得計算結束時(shí)的時(shí)刻

t=(end_usec-start_usec);//獲得計算執行的時(shí)間

if(t>1.5)//根據本次計算執行時(shí)間決定下次測試的調用次數

{

if((t-floor(t))>0.5)//取最靠近t的整數

xs=floor(t)+1;

else

xs=floor(t)

NUM_LOOPS=NUM_LOOPS/xs;//修改調用次數

}

else

if(t0.5)

{

if((1/t-floor(1/t))>0.5)//取最靠近1/t的整數

xs=floor(1/t)+1;

else

xs=floor(1/t);

NUM_LOOPS =NUM_LOOPS3xs;//修改調用次數

}


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>