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

?

異構(gòu)系統(tǒng)中的Web服務(wù)器軟件框架研究

2020-06-09 07:17:58尤國(guó)華
關(guān)鍵詞:協(xié)處理器吞吐量處理器

尤國(guó)華,劉 媛,高 東

北京化工大學(xué) 信息科學(xué)與技術(shù)學(xué)院,北京100029

1 引言

2018年3月統(tǒng)計(jì)顯示,F(xiàn)acebook的用戶(hù)已經(jīng)超過(guò)了2.17億,而且還在不斷增加。為了滿(mǎn)足龐大用戶(hù)群的互聯(lián)網(wǎng)需求,數(shù)據(jù)中心必須提供更強(qiáng)大的處理和存儲(chǔ)能力。為提升數(shù)據(jù)中心的性能,傳統(tǒng)的方法是增加數(shù)據(jù)中心的服務(wù)器節(jié)點(diǎn),甚至建立更多的數(shù)據(jù)中心,因此也會(huì)帶來(lái)更高的購(gòu)置成本和使用成本(如耗電量和機(jī)房空間等)。為了滿(mǎn)足需求并且降低成本,提升單臺(tái)服務(wù)器的性能成為重要而迫切的任務(wù)[1]。

近年,隨著CPU 主頻遇到天花板,多核+協(xié)處理器的異構(gòu)模型已經(jīng)成為服務(wù)器端架構(gòu)的主流。協(xié)處理器,如GPU、MIC等,可以極大提升服務(wù)器端的處理能力,彌補(bǔ)CPU 在某些計(jì)算方面的劣勢(shì)。相比GPU,MIC 協(xié)處理器更適合于云計(jì)算這樣的高吞吐量場(chǎng)景。GPU 基于單指令多數(shù)據(jù)(Single Instruction Multiple Data,SIMD),屬于數(shù)據(jù)并行。針對(duì)云計(jì)算場(chǎng)景,如果想充分利用GPU的性能,batch size 就不能太小,但這會(huì)引起延遲的增加,從而降低服務(wù)質(zhì)量(Quality of Service,QoS)。而且,對(duì)于一些復(fù)雜的分支邏輯,GPU會(huì)產(chǎn)生“分支退化”的問(wèn)題[2]。MIC協(xié)處理器每個(gè)核心與CPU核心類(lèi)似,適宜于邏輯運(yùn)算和流水線并行;MIC協(xié)處理器的核心雖然主頻低,但數(shù)量多,適用于云計(jì)算這樣的計(jì)算場(chǎng)景[3]。圖1為MIC協(xié)處理器Intel Xeon Phi 5110p的示意圖,5110p具有57個(gè)物理核心(每個(gè)物理核心有4個(gè)硬件線程),每個(gè)核心的主頻為1.05 GHz。

圖1 Intel Xeon Phi 5110p結(jié)構(gòu)示意圖

雖然MIC 協(xié)處理器的加入從硬件方面提升了web服務(wù)器的性能,但一些常用web服務(wù)器軟件,如Apache、nginx等,均不能充分發(fā)揮多核CPU+MIC協(xié)處理器的性能優(yōu)勢(shì)。因此,若要充分利用多核CPU+MIC協(xié)處理器的異構(gòu)系統(tǒng)的性能,必須要研究與之匹配的web服務(wù)器軟件體系[4]。

雖然以前的研究者對(duì)如何發(fā)揮GPU、MIC等協(xié)處理器的性能進(jìn)行了不少的研究[5-9],如Agrawal 等[10]針對(duì)CPU+GPU 的異構(gòu)系統(tǒng)提出了Rhythm 的web 軟件框架。Rhythm 依據(jù)請(qǐng)求之間的相似性,將請(qǐng)求的處理過(guò)程劃分成不同的階段,并將部分處理階段分配至GPU執(zhí)行。根據(jù)他們的實(shí)驗(yàn)結(jié)果,Rhythm 可以有效地使用GPU處理用戶(hù)請(qǐng)求。但Rhythm適用于處理邏輯比較簡(jiǎn)單的請(qǐng)求,對(duì)于復(fù)雜些的請(qǐng)求,由于GPU 的固有特性,可能導(dǎo)致“分支退化”。Fj?lling 等[11]使用batching 技術(shù)充分利用GPU 的SIMD 特性來(lái)優(yōu)化web 應(yīng)用程序,與CPU相比可提升2到3倍的性能。但他們的工作主要集中在優(yōu)化特定的web應(yīng)用程序,缺乏通用性和擴(kuò)展性。

為了充分利用多核CPU+MIC 協(xié)處理器的性能,本文提出了一種新的web 服務(wù)器軟件框架。該框架通過(guò)將部分動(dòng)態(tài)請(qǐng)求卸載至MIC協(xié)處理器執(zhí)行,從而可以在CPU 和MIC 上并行處理動(dòng)態(tài)請(qǐng)求,進(jìn)而提升服務(wù)器的性能。此外,新框架也能保持多核CPU 和MIC 協(xié)處理器之間的負(fù)載均衡。

2 新的軟件框架

為充分利用MIC協(xié)處理器的計(jì)算性能,新框架將一部分到達(dá)web服務(wù)器的動(dòng)態(tài)請(qǐng)求卸載至MIC協(xié)處理器,由MIC 協(xié)處理器和多核CPU 并行處理動(dòng)態(tài)請(qǐng)求,從而提升web服務(wù)器處理動(dòng)態(tài)請(qǐng)求的效率。同時(shí),新框架也可以在CPU 各核心之間,以及CPU 與MIC 處理器之間達(dá)到負(fù)載均衡。

2.1 軟件框架描述

新的軟件框架基于分階段事件驅(qū)動(dòng)模型(Staged Event Driven Architecture,SEDA),將web 服務(wù)器中請(qǐng)求的處理過(guò)程分為Receiver,Reader,Parser,Scheduler,Handler 和Writer 六個(gè)階段,分別對(duì)應(yīng)于建立連接,讀動(dòng)態(tài)請(qǐng)求,分析動(dòng)態(tài)請(qǐng)求,動(dòng)態(tài)請(qǐng)求的調(diào)度,動(dòng)態(tài)請(qǐng)求的處理和寫(xiě)響應(yīng)六個(gè)處理過(guò)程。每個(gè)階段都由一個(gè)服務(wù)線程池,一個(gè)任務(wù)隊(duì)列和任務(wù)處理邏輯構(gòu)成。其中,Receiver,Reader,Parser,Scheduler 和Writer 五個(gè)階段只部署在主機(jī),而Handler 分別部署在主機(jī)和MIC 協(xié)處理器上。新服務(wù)器軟件框架的處理過(guò)如圖2所示。

圖2 新模型的處理流程

當(dāng)用戶(hù)請(qǐng)求到達(dá)服務(wù)器,Receiver 通過(guò)epoll[12]技術(shù)獲取連接文件符lfd,對(duì)用戶(hù)端建立連接,然后將lfd送至Reader的任務(wù)隊(duì)列中,Reader從lfd中讀取TCP包,然后將包中內(nèi)容送至Parser 的任務(wù)隊(duì)列中,Parser 解析TCP包,并從中抽取出請(qǐng)求。請(qǐng)求被送至Scheduler 的請(qǐng)求隊(duì)列中,由Scheduler 調(diào)度請(qǐng)求至CPU 或MIC 協(xié)處理器。Scheduler 中內(nèi)置有請(qǐng)求調(diào)度算法,由該算法保證CPU與MIC協(xié)處理器之間的負(fù)載均衡。

經(jīng)過(guò)Scheduler 的調(diào)度,請(qǐng)求被分配至運(yùn)行在CPU或MIC協(xié)處理器上的Handler的請(qǐng)求隊(duì)列中,當(dāng)Handler中有可用的服務(wù)線程時(shí),一個(gè)服務(wù)線程會(huì)被分配給該請(qǐng)求。然后,服務(wù)線程解析該請(qǐng)求,并獲取要請(qǐng)求的文件名和參數(shù)。根據(jù)文件名從Cache或內(nèi)存中,甚至磁盤(pán)中載入該文件中的代碼,然后根據(jù)從請(qǐng)求中解析出來(lái)的參數(shù)由服務(wù)線程在CPU 或MIC 協(xié)處理器上執(zhí)行該代碼。代碼執(zhí)行后的結(jié)果results 通過(guò)TCP 協(xié)議發(fā)送至Writer的結(jié)果隊(duì)列中,然后由Writer以HTML的格式發(fā)送至網(wǎng)絡(luò),這就是響應(yīng)。

2.2 請(qǐng)求調(diào)度算法

為了提升web服務(wù)器的性能,需要將部分請(qǐng)求分配至MIC協(xié)處理器上處理,這可能會(huì)導(dǎo)致CPU和MIC之間的負(fù)載不均衡,因此請(qǐng)求調(diào)度算法既要提高請(qǐng)求處理效率,又要保持CPU之間、CPU與MIC協(xié)處理器之間的負(fù)載均衡。本軟件框架中,請(qǐng)求調(diào)度算法部署在Scheduler中,對(duì)請(qǐng)求進(jìn)行分配和調(diào)度。

請(qǐng)求同一個(gè)頁(yè)面的動(dòng)態(tài)請(qǐng)求,其執(zhí)行過(guò)程具有相似性[13],因此可歸為同一類(lèi)動(dòng)態(tài)請(qǐng)求。如果服務(wù)器中N類(lèi)動(dòng)態(tài)請(qǐng)求,分別是R1,R2,…,RN。動(dòng)態(tài)請(qǐng)求對(duì)處理器的負(fù)載沖擊主要來(lái)自動(dòng)態(tài)請(qǐng)求的數(shù)量和動(dòng)態(tài)請(qǐng)求的服務(wù)時(shí)間,因此可用兩者的乘積表示負(fù)載,即:

其中,CC(i)是第i 種動(dòng)態(tài)請(qǐng)求的數(shù)量,TC(i)是第i 種動(dòng)態(tài)請(qǐng)求的服務(wù)時(shí)間,而WC(i)表示第i 種動(dòng)態(tài)請(qǐng)求對(duì)處理器的負(fù)載沖擊。

若有P個(gè)處理器,而處理器j 上有N 類(lèi)動(dòng)態(tài)請(qǐng)求,每類(lèi)動(dòng)態(tài)請(qǐng)求的數(shù)量分別為CC(1,j),CC(2,j),…,CC(N,j),每類(lèi)動(dòng)態(tài)請(qǐng)求在處理器j 上的服務(wù)時(shí)間分別為T(mén)C(1,j),TC(2,j),…,TC(N,j),那么請(qǐng)求在處理器j 上產(chǎn)生的總負(fù)載可表示為:

動(dòng)態(tài)請(qǐng)求的服務(wù)時(shí)間可以通過(guò)文獻(xiàn)[14]的方法獲取,動(dòng)態(tài)請(qǐng)求某時(shí)間段的數(shù)量可以統(tǒng)計(jì)獲得。因此,從時(shí)間t0到時(shí)間tcurrent這段時(shí)間內(nèi),如果各類(lèi)動(dòng)態(tài)請(qǐng)求到達(dá)的數(shù)量分別為CC(1,j),CC(2,j),…,CC(N,j),那么時(shí)間tcurrent時(shí)處理器j 的負(fù)載可表示為:

其中,Δt=tcurrent-t0。因?yàn)樵讦 時(shí)間內(nèi),隨時(shí)間的推移,處理器會(huì)處理掉一部分動(dòng)態(tài)請(qǐng)求,因此計(jì)算各處理器負(fù)載時(shí)要減去這段時(shí)間,但當(dāng)Δt 大于各類(lèi)動(dòng)態(tài)請(qǐng)求產(chǎn)生的負(fù)載時(shí)長(zhǎng)時(shí),表明此段時(shí)間內(nèi)處理器處于空閑狀態(tài),因此負(fù)載為0。

為充分利用多核處理器中緩存的局部性和NUMA架構(gòu)的特性[15],同一類(lèi)動(dòng)態(tài)請(qǐng)求最好分配至同一個(gè)處理器上,而且需要同時(shí)維護(hù)各處理器之間的負(fù)載均衡。因此,可以根據(jù)各CPU處理器的負(fù)載狀態(tài)W′j(1 ≤j ≤P)和各CPU 上動(dòng)態(tài)請(qǐng)求的種類(lèi)和數(shù)量分配新到的動(dòng)態(tài)請(qǐng)求。若第i 種動(dòng)態(tài)請(qǐng)求到達(dá)服務(wù)器,各CPU上負(fù)載的均值為,而第i 種動(dòng)態(tài)請(qǐng)求在各處理器上的數(shù)量分別為CC(i,1),CC(i,2),…,CC(i,P),則可根據(jù)下式分配第i 種動(dòng)態(tài)請(qǐng)求:

Lj(1 ≤j ≤P)中若Ll值最大,說(shuō)明處理器l 上負(fù)載越小且第i 種動(dòng)態(tài)請(qǐng)求的數(shù)量多,因此將第i 種動(dòng)態(tài)請(qǐng)求分配至處理器l 上,可同時(shí)兼顧處理器間的負(fù)載均衡和緩存局部性。其中,α β 為公式的修正系數(shù),可根據(jù)實(shí)際情況進(jìn)行修正。

同時(shí)Scheduler可監(jiān)測(cè)各處理器的負(fù)載狀態(tài),當(dāng)CPU處理器平均負(fù)載超過(guò)λ(設(shè)定的閾值)時(shí),新到的動(dòng)態(tài)請(qǐng)求會(huì)被分配至MIC協(xié)處理器處理。

當(dāng)動(dòng)態(tài)請(qǐng)求i 到達(dá)服務(wù)器時(shí),各CPU處理器平均負(fù)載E(W′C)>λ,此時(shí)需要將新到的動(dòng)態(tài)請(qǐng)求i 分配至MIC協(xié)處理器處理。

假定有Q 個(gè)MIC 協(xié)處理器,當(dāng)動(dòng)態(tài)請(qǐng)求i 到達(dá)MIC k 協(xié)處理器時(shí)(此時(shí)刻記為t′current),從時(shí)間t′0到時(shí)間t′current,協(xié)處理器MIC k 上分配到的各類(lèi)動(dòng)態(tài)請(qǐng)求數(shù)為CM(1,k),CM(2,k),…,CM(N,k)。每類(lèi)動(dòng)態(tài)請(qǐng)求在MIC k 上的服務(wù)時(shí)間分別為T(mén)M(1,k),TM(2,k),…,TM(N,k)。那么,請(qǐng)求在協(xié)處理器MIC k 產(chǎn)生的總負(fù)載可由下列公式計(jì)算:

那么時(shí)間t′current時(shí)MIC k 上的負(fù)載可表示為:

其中,Δt′=t′current-t′0。因?yàn)樵讦′時(shí)間內(nèi),隨時(shí)間的推移,協(xié)處理器會(huì)處理掉一部分動(dòng)態(tài)請(qǐng)求,因此計(jì)算各處理器負(fù)載時(shí)要減去這段時(shí)間,但當(dāng)Δt′大于各類(lèi)動(dòng)態(tài)請(qǐng)求產(chǎn)生的負(fù)載時(shí)長(zhǎng)時(shí),表明此段時(shí)間內(nèi)處理器處于空閑狀態(tài),因此負(fù)載為0。

那么,各MIC上的負(fù)載的均值為E(W′M)=(W′M(1)+W′M(2)+…+W′M(Q))/Q,而第i 種動(dòng)態(tài)請(qǐng)求在各處理器上的數(shù)量分別為CM(i,1),CM(i,2),…,CM(i,Q),出于負(fù)載均衡和緩存局部性的考慮,可由下式分配動(dòng)態(tài)請(qǐng)求i 至那個(gè)MIC協(xié)處理器。

Gk(1 ≤k ≤P)中,若Gr值大,說(shuō)明MIC r 上負(fù)載小且第i 種動(dòng)態(tài)請(qǐng)求的數(shù)量多,因此將第i 種動(dòng)態(tài)請(qǐng)求分配至協(xié)處理器MIC r 上,可同時(shí)兼顧協(xié)處理器的負(fù)載均衡和緩存局部性。其中,μ,ν 為公式的修正系數(shù),可根據(jù)實(shí)際情況進(jìn)行修正。

經(jīng)過(guò)上述步驟,到達(dá)Web服務(wù)器的動(dòng)態(tài)請(qǐng)求可以被分配至合適的CPU 或MIC 協(xié)處理器上,分配的過(guò)程同時(shí)兼顧了負(fù)載均衡和緩存局部性,可以最大化地利用異構(gòu)系統(tǒng)的計(jì)算能力,從而提高了動(dòng)態(tài)請(qǐng)求的處理能力。

調(diào)度算法的偽碼描述如下:

//用于存儲(chǔ)P 個(gè)CPU處理器上已分配的N 類(lèi)請(qǐng)求的數(shù)量

array CC[N,P]

//用于存儲(chǔ)P 個(gè)CPU處理器上N 類(lèi)請(qǐng)求的服務(wù)時(shí)間

array TC[N,P]

//用于存儲(chǔ)Q 個(gè)MIC處理器上N 類(lèi)請(qǐng)求的服務(wù)時(shí)間

array TM[N,Q]

//用于存儲(chǔ)Q個(gè)MIC處理器上已分配的N 類(lèi)請(qǐng)求的數(shù)量

array CM[N,Q]

初始時(shí)間為t0

While(true)

{

第i 個(gè)請(qǐng)求到達(dá)scheduler,此時(shí)時(shí)間為tcurrent

//當(dāng)前時(shí)間與初始時(shí)間的差值

Δt=tcurrent-t0

//用于記錄每個(gè)CPU的上的歷史總負(fù)載情況

array WC[P]

array W′C[P]

for(j=0; j <P; j+ +)

{

WC[j]=CC[i,j]TC[i,j]

If(WC[j]≥Δt)

W′C[j]=WC[j]-Δt

Else

W′C[j]=0

}//for

If(E(W′C)>λ)//CPU負(fù)載過(guò)大

{

//表示每個(gè)MIC的上的歷史總負(fù)載情況

array WM[Q]

array W′M[Q]

for(j=0; j <Q; j++)

{

WM[j]=CM[i,j]TM[i,j]

If(WM[j]≥Δt)

W′M[j]=WM[j]-Δt

Else

W′M[j]=0

}//for

array G[Q]

for(k=0; k <Q; k++)

{

}

//求G[k]中的最大值Gmax(r)

Gmax(r)=Max{G[k]}

將該請(qǐng)求分配至第r 個(gè)MIC處理器

CM[i,r]++

}//If

Else

{

array L[P]

for(j=0; j <P; j++)

{

}

//求L[j]中的最大值Lmax(l)

Lmax(l)=Max{L[j]}

該該請(qǐng)求分配至第l 個(gè)CPU處理器

CC[i,l]++

}//Else

}//while

3 實(shí)驗(yàn)及評(píng)估分析

3.1 實(shí)驗(yàn)設(shè)置

本實(shí)驗(yàn)采用如圖3 所示拓?fù)鋱D,多臺(tái)客戶(hù)端PC 采用httperf 向服務(wù)器Server 發(fā)送動(dòng)態(tài)請(qǐng)求。本實(shí)驗(yàn)采用一個(gè)6 核12 超線程的CPU 和一個(gè)MIC 卡作為實(shí)驗(yàn)平臺(tái),MIC協(xié)處理器為Intel Xeon Phi 5110p,具有512位SIMD 指令集,57 個(gè)物理核心,每個(gè)核心有4 個(gè)硬件線程?;谛萝浖蚣荛_(kāi)發(fā)的服務(wù)器程序NSFS(New Software Framework Server)部署在服務(wù)器Server 上,用于處理到達(dá)服務(wù)器的動(dòng)態(tài)請(qǐng)求。作為對(duì)比,基于傳統(tǒng)的先到先服務(wù)(FCFS)算法開(kāi)發(fā)了web 服務(wù)器程序uFCFS,部署于兩臺(tái)6 核12 超線程的服務(wù)器節(jié)點(diǎn)上,其中一臺(tái)兼作負(fù)載均衡器使用,采用輪詢(xún)的方式向本身和另一臺(tái)部署uFCFS 的服務(wù)器轉(zhuǎn)發(fā)動(dòng)態(tài)請(qǐng)求,由uFCFS處理動(dòng)態(tài)請(qǐng)求,并返回響應(yīng)。

圖3 實(shí)驗(yàn)拓?fù)鋱D

本文基于上述兩個(gè)仿真web 服務(wù)器程序NSFS 和uFCFS 進(jìn)行實(shí)驗(yàn),并主要從吞吐量、平均響應(yīng)時(shí)間對(duì)兩者進(jìn)行評(píng)估。其中,httperf 的并發(fā)數(shù)、動(dòng)態(tài)請(qǐng)求的服務(wù)時(shí)間是可以調(diào)整的,本文在調(diào)整這些參數(shù)的情況下進(jìn)行了一系列實(shí)驗(yàn),測(cè)量吞吐量、平均響應(yīng)時(shí)間隨并發(fā)數(shù)和動(dòng)態(tài)請(qǐng)求服務(wù)時(shí)間變化的情況。

3.2 結(jié)果評(píng)估

(1)隨并發(fā)數(shù)的變化

在保持其他實(shí)驗(yàn)參數(shù)保持不變的前提下,改變httperf 發(fā)送動(dòng)態(tài)請(qǐng)求的并發(fā)數(shù)(從100 至10 000),對(duì)兩個(gè)仿真web 服務(wù)器程序NSFS 和uFCFS 進(jìn)行實(shí)驗(yàn),并分別測(cè)量計(jì)算兩個(gè)仿真web 服務(wù)器程序的吞吐量和平均響應(yīng)時(shí)間。實(shí)驗(yàn)結(jié)果如圖4所示。

由圖4 可看出,當(dāng)動(dòng)態(tài)請(qǐng)求的并發(fā)數(shù)不斷增加時(shí),同時(shí)到達(dá)web服務(wù)器的請(qǐng)求數(shù)量增多,所以導(dǎo)致請(qǐng)求排隊(duì)變長(zhǎng),從而導(dǎo)致uFCFS和NSFS的平均響應(yīng)時(shí)間隨并發(fā)數(shù)的增加而增加。但uFCFS 的平均響應(yīng)時(shí)間在此過(guò)程中,增加的幅度要大于NSFS 的幅度,這說(shuō)明使用NSFS框架的web服務(wù)器可以充分利用多核CPU和MIC協(xié)處理器的運(yùn)算能力,其處理請(qǐng)求的能力要強(qiáng)于uFCFS,即基于CPU+MIC協(xié)處理器的異構(gòu)web服務(wù)器的性能要強(qiáng)于由兩個(gè)運(yùn)算節(jié)點(diǎn)組成的web服務(wù)器。

uFCFS和NSFS的吞吐量可根據(jù)如下公式分析:

當(dāng)并發(fā)數(shù)增加時(shí),uFCFS 和NSFS 的平均響應(yīng)時(shí)間均增加,因此根據(jù)公式(8)可知,兩者的吞吐量變化均不會(huì)大。由于NSFS能充分利用MIC協(xié)處理器,因此運(yùn)算能力更強(qiáng),所以平均響應(yīng)時(shí)間也更短一些,從而其吞吐量要高于uFCFS,分析結(jié)果與圖4中的實(shí)驗(yàn)結(jié)果一致。

(2)隨服務(wù)時(shí)間的變化

用戶(hù)請(qǐng)求的服務(wù)時(shí)間變化比較大,呈現(xiàn)重尾分布的特點(diǎn)[16],為模擬真實(shí)場(chǎng)景,不失一般性,本文實(shí)驗(yàn)中的請(qǐng)求服務(wù)時(shí)間是可以調(diào)整的。當(dāng)增大服務(wù)時(shí)間時(shí),測(cè)量uFCFS 和NSFS 兩種服務(wù)器的吞吐量和平均響應(yīng)時(shí)間,圖5為測(cè)得的結(jié)果。

根據(jù)圖5,當(dāng)服務(wù)時(shí)間增加時(shí),uFCFS和NSFS 的吞吐量均下降,這是由于隨著服務(wù)時(shí)間增加,兩種web 服務(wù)器處理動(dòng)態(tài)請(qǐng)求的時(shí)間都隨之增長(zhǎng),因此導(dǎo)致兩種服務(wù)器的吞吐量均下降。但是NSFS 的吞吐量一直大于uFCFS,這是因?yàn)镹SFS 可以整合多核CPU 和MIC協(xié)處理器的運(yùn)算能力,整體性能要優(yōu)于由兩臺(tái)普通節(jié)點(diǎn)構(gòu)成的uFCFS 服務(wù)器。隨服務(wù)時(shí)間增加,uFCFS 和NSFS 的平均響應(yīng)時(shí)間均增加,這是由于服務(wù)時(shí)間的增加會(huì)加重服務(wù)器的負(fù)載,從而導(dǎo)致排隊(duì)時(shí)間的增加,進(jìn)而延長(zhǎng)了服務(wù)器的平均響應(yīng)時(shí)間。而NSFS 的平均響應(yīng)時(shí)間始終低于uFCFS,這也證實(shí)了NSFS 的性能要優(yōu)于uFCFS。

4 結(jié)論

本文針對(duì)由多核CPU和MIC協(xié)處理組成的異構(gòu)系統(tǒng),提出了可充分發(fā)揮該系統(tǒng)運(yùn)算性能的動(dòng)態(tài)請(qǐng)求調(diào)度算法。該算法基于分階段事件驅(qū)動(dòng)模型,將動(dòng)態(tài)請(qǐng)求的處理過(guò)程分為多個(gè)階段,運(yùn)算較密集的動(dòng)態(tài)請(qǐng)求處理階段由多核CPU 和MIC 協(xié)處理器并行承擔(dān),并通過(guò)負(fù)載均衡算法保持多核CPU和MIC協(xié)處理器之間的負(fù)載均衡?;诖四P?,本文開(kāi)發(fā)了對(duì)應(yīng)的仿真程序,并進(jìn)行了相關(guān)的仿真實(shí)驗(yàn)。實(shí)驗(yàn)表明,基于該算法的web服務(wù)器的吞吐量、平均響應(yīng)時(shí)間均優(yōu)于由兩個(gè)節(jié)點(diǎn)構(gòu)成的采用傳統(tǒng)FCFS算法的仿真web服務(wù)器。

圖4 兩個(gè)仿真程序隨并發(fā)數(shù)變化時(shí)的性能對(duì)比

圖5 兩個(gè)仿真程序隨服務(wù)時(shí)間變化時(shí)的性能對(duì)比

猜你喜歡
協(xié)處理器吞吐量處理器
基于HBase分布式數(shù)據(jù)庫(kù)海量數(shù)據(jù)序列存儲(chǔ)優(yōu)化
基于HBase分布式數(shù)據(jù)庫(kù)海量數(shù)據(jù)序列存儲(chǔ)優(yōu)化
HBase分布式二級(jí)索引通用方案研究
2016年10月長(zhǎng)三角地區(qū)主要港口吞吐量
集裝箱化(2016年11期)2017-03-29 16:15:48
2016年11月長(zhǎng)三角地區(qū)主要港口吞吐量
集裝箱化(2016年12期)2017-03-20 08:32:27
Imagination的ClearCallTM VoIP應(yīng)用現(xiàn)可支持Cavium的OCTEON? Ⅲ多核處理器
ADI推出新一代SigmaDSP處理器
呼嚕處理器
2014年1月長(zhǎng)三角地區(qū)主要港口吞吐量
集裝箱化(2014年2期)2014-03-15 19:00:33
上海港11月集裝箱吞吐量同比增長(zhǎng)4.25%
廣東造船(2013年6期)2013-04-29 16:34:55
花垣县| 洪湖市| 寿宁县| 视频| 翁牛特旗| 馆陶县| 丹阳市| 岳池县| 东源县| 特克斯县| 信阳市| 道孚县| 会宁县| 云和县| 博野县| 鹰潭市| 莆田市| 徐州市| 辰溪县| 德令哈市| 新绛县| 新昌县| 塘沽区| 杂多县| 阿坝| 梁平县| 施秉县| 昌乐县| 施甸县| 榆树市| 兴仁县| 黄浦区| 增城市| 三原县| 四子王旗| 长宁县| 游戏| 如东县| 林口县| 西丰县| 阿拉善右旗|