一種多核服務(wù)器集群環(huán)境下的webgis模型優(yōu)化策略_第1頁(yè)
一種多核服務(wù)器集群環(huán)境下的webgis模型優(yōu)化策略_第2頁(yè)
一種多核服務(wù)器集群環(huán)境下的webgis模型優(yōu)化策略_第3頁(yè)
一種多核服務(wù)器集群環(huán)境下的webgis模型優(yōu)化策略_第4頁(yè)
一種多核服務(wù)器集群環(huán)境下的webgis模型優(yōu)化策略_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

一種多核服務(wù)器集群環(huán)境下的webgis模型優(yōu)化策略

1多核環(huán)境下的webgis模型優(yōu)化策略隨著地理信息復(fù)雜性的增加,網(wǎng)絡(luò)同源性用戶(hù)的增加,網(wǎng)絡(luò)信息系統(tǒng)(webgis)的效率提高受到嚴(yán)重限制。要提高WebGIS系統(tǒng)性能,必須滿足2個(gè)條件:既能支持大用戶(hù)量并發(fā)訪問(wèn),又能同時(shí)縮短用戶(hù)請(qǐng)求的平均響應(yīng)時(shí)間。現(xiàn)有的WebGIS系統(tǒng)主要從硬件和軟件2個(gè)方面解決性能提升問(wèn)題。硬件上通過(guò)專(zhuān)用的負(fù)載均衡器或提高地圖服務(wù)器的CPU處理速度、增加內(nèi)存容量等辦法提高系統(tǒng)性能,存在成本較高、可擴(kuò)展性差的不足隨著CPU單核高頻向多核發(fā)展,多核計(jì)算平臺(tái)為提高服務(wù)器的并發(fā)性能提供了一種新的手段本文提出一種多核環(huán)境下的WebGIS模型優(yōu)化策略,以提升集群中各個(gè)多核服務(wù)器節(jié)點(diǎn)的并發(fā)處理能力。重點(diǎn)研究以下2個(gè)關(guān)鍵問(wèn)題:(1)如何實(shí)現(xiàn)集群環(huán)境下各服務(wù)節(jié)點(diǎn)之間的負(fù)載均衡;(2)如何充分利用單個(gè)多核服務(wù)節(jié)點(diǎn)的資源,提高各服務(wù)節(jié)點(diǎn)的并發(fā)處理能力。2在多核環(huán)境下,webgis模型的優(yōu)化2.1基于多核優(yōu)化的webgis計(jì)算模型隨著WebGIS應(yīng)用的不斷深入,空間計(jì)算已從單任務(wù)向并行性、協(xié)作性任務(wù)發(fā)展,如何提升系統(tǒng)并發(fā)訪問(wèn)能力和響應(yīng)速度已成為迫切需要解決的問(wèn)題筆者在文獻(xiàn)[9]中設(shè)計(jì)了一種基于服務(wù)器場(chǎng)的WebGIS計(jì)算模型,實(shí)現(xiàn)了服務(wù)器集群的調(diào)度和大用戶(hù)量并發(fā)請(qǐng)求的處理,但未針對(duì)集群中具有多CPU核心的服務(wù)結(jié)點(diǎn)內(nèi)部進(jìn)行優(yōu)化,也未考慮如何充分利用各多核服務(wù)結(jié)點(diǎn)資源以提高各服務(wù)結(jié)點(diǎn)自身并發(fā)處理能力。文獻(xiàn)[12-14]對(duì)各種常見(jiàn)算法的并行執(zhí)行進(jìn)行研究,實(shí)現(xiàn)了多核環(huán)境下的并行計(jì)算。這些研究對(duì)于單個(gè)計(jì)算任務(wù)的性能提升是有效的,但對(duì)于WebGIS這種面向大用戶(hù)量并發(fā)訪問(wèn)的系統(tǒng),還不能滿足需要。為實(shí)現(xiàn)多核環(huán)境下WebGIS系統(tǒng)的性能優(yōu)化,本文提出一種可自由按需擴(kuò)展的,基于多核優(yōu)化的WebGIS計(jì)算模型,如圖1所示。該模型的基本原理如下:(1)客戶(hù)端在訪問(wèn)空間數(shù)據(jù)時(shí)將地圖訪問(wèn)請(qǐng)求提交給Web服務(wù)器集群,Web服務(wù)器集群分析請(qǐng)求參數(shù),并將這些請(qǐng)求及參數(shù)傳遞給負(fù)載均衡器。(2)負(fù)載均衡器中請(qǐng)求監(jiān)聽(tīng)器接收到請(qǐng)求后將請(qǐng)求存入請(qǐng)求隊(duì)列池中,任務(wù)響應(yīng)比計(jì)算器定時(shí)計(jì)算請(qǐng)求隊(duì)列池中各個(gè)請(qǐng)求的響應(yīng)比,將其按優(yōu)先級(jí)順序排列存入全局任務(wù)優(yōu)先級(jí)隊(duì)列。(3)地圖服務(wù)器集群中各個(gè)地圖服務(wù)器根據(jù)全局任務(wù)優(yōu)先級(jí)隊(duì)列中任務(wù)的響應(yīng)比獲取響應(yīng)比最高的任務(wù)。(4)地圖服務(wù)器中進(jìn)程調(diào)度器調(diào)度請(qǐng)求隊(duì)列緩沖區(qū)管理線程填充請(qǐng)求隊(duì)列緩沖區(qū)。(5)地圖服務(wù)器中的線程調(diào)度池中的調(diào)度線程從請(qǐng)求隊(duì)列緩沖區(qū)中獲取任務(wù),并分配給服務(wù)內(nèi)核群中對(duì)應(yīng)的服務(wù)內(nèi)核進(jìn)行處理,各調(diào)度線程和服務(wù)內(nèi)核并行運(yùn)行。(6)地圖服務(wù)器完成空間數(shù)據(jù)請(qǐng)求處理,將結(jié)果返回給負(fù)載均衡器。(7)負(fù)載均衡器將結(jié)果返回給客戶(hù)端進(jìn)行展示。當(dāng)系統(tǒng)并發(fā)用戶(hù)增加時(shí),只需要增加地圖服務(wù)器到地圖服務(wù)器集群即可。該WebGIS計(jì)算模型具有以下2個(gè)特點(diǎn):(1)使用兩級(jí)并行處理機(jī)制,即各個(gè)服務(wù)器節(jié)點(diǎn)的并行處理和服務(wù)器節(jié)點(diǎn)內(nèi)部的并行處理,充分利用多核服務(wù)器節(jié)點(diǎn)的多核并行計(jì)算的優(yōu)勢(shì),實(shí)現(xiàn)了多核集群中請(qǐng)求的任務(wù)調(diào)度和負(fù)載均衡,提升了整個(gè)WebGIS服務(wù)器集群的并行處理能力。(2)改變傳統(tǒng)的被動(dòng)式負(fù)載均衡方法,使用一種新的地圖服務(wù)器節(jié)點(diǎn)主動(dòng)式任務(wù)獲取方法,實(shí)現(xiàn)了集群環(huán)境下的任務(wù)分配和負(fù)載均衡。2.2響應(yīng)比及動(dòng)態(tài)WebGIS系統(tǒng)應(yīng)用復(fù)雜,包括矢量地圖顯示、瓦片地圖顯示、要素查詢(xún)、空間分析等功能,每個(gè)功能應(yīng)用需要的標(biāo)準(zhǔn)執(zhí)行時(shí)間均不相同,以矢量地圖顯示功能為例,每個(gè)用戶(hù)每次請(qǐng)求的矢量地圖的范圍均不相同,范圍越大,生成圖像越慢;范圍越小,生成圖像越快。在這種復(fù)雜的應(yīng)用場(chǎng)景下,為了使大多數(shù)并發(fā)用戶(hù)滿意,首先要考慮請(qǐng)求預(yù)計(jì)的標(biāo)準(zhǔn)執(zhí)行時(shí)間,執(zhí)行時(shí)間越小,應(yīng)該越優(yōu)先被執(zhí)行。其次要考慮并發(fā)用戶(hù)的等待時(shí)間,等待時(shí)間越長(zhǎng),優(yōu)先級(jí)越高,應(yīng)該越優(yōu)先被執(zhí)行,這樣才能使等待時(shí)間長(zhǎng)的用戶(hù)優(yōu)先得到響應(yīng),避免用戶(hù)無(wú)限的排隊(duì)等待。本文基于使平均響應(yīng)時(shí)間盡可能低,且讓大多數(shù)并發(fā)用戶(hù)滿意的原則,對(duì)請(qǐng)求隊(duì)列中任務(wù)進(jìn)行響應(yīng)比計(jì)算和動(dòng)態(tài)分配。設(shè)t計(jì)算任務(wù)標(biāo)準(zhǔn)執(zhí)行時(shí)間t負(fù)載均衡器中的任務(wù)響應(yīng)比計(jì)算器計(jì)算任務(wù)等待隊(duì)列中的各任務(wù)的響應(yīng)優(yōu)先級(jí),設(shè)當(dāng)前計(jì)算時(shí)間為t,當(dāng)前計(jì)算任務(wù)的響應(yīng)比優(yōu)先級(jí)R計(jì)算如式(2)所示。對(duì)任務(wù)按響應(yīng)比優(yōu)先級(jí)進(jìn)行排序,并將其存儲(chǔ)到負(fù)載均衡器中的全局任務(wù)優(yōu)先級(jí)隊(duì)列中。2.3請(qǐng)求任務(wù)被沖突的任務(wù)分配目前已有的WebGIS負(fù)載均衡研究均使用負(fù)載均衡器根據(jù)某種策略主動(dòng)分配任務(wù)給集群中的各個(gè)服務(wù)器,這種分配方式有以下2個(gè)缺點(diǎn):(1)任務(wù)統(tǒng)一由負(fù)載均衡器主動(dòng)式順序分發(fā),負(fù)載均衡器存在請(qǐng)求轉(zhuǎn)發(fā)瓶頸,請(qǐng)求的順序分發(fā)會(huì)導(dǎo)致服務(wù)器無(wú)法立即對(duì)請(qǐng)求進(jìn)行并行處理。(2)對(duì)服務(wù)器節(jié)點(diǎn)負(fù)載狀態(tài)的判斷存在延遲問(wèn)題,對(duì)服務(wù)節(jié)點(diǎn)狀態(tài)監(jiān)視的時(shí)間間隔不能太短,太短會(huì)占用服務(wù)節(jié)點(diǎn)資源,造成有限的資源浪費(fèi),間隔太長(zhǎng)又會(huì)導(dǎo)致對(duì)服務(wù)器狀態(tài)的判斷存在延遲,負(fù)載均衡器對(duì)服務(wù)器節(jié)點(diǎn)當(dāng)前運(yùn)行狀態(tài)的判斷不準(zhǔn)確,從而導(dǎo)致任務(wù)分配的不公平。為解決上述問(wèn)題,本文設(shè)計(jì)的計(jì)算模型任務(wù)調(diào)度采用服務(wù)節(jié)點(diǎn)主動(dòng)式獲取方式,改變以前服務(wù)節(jié)點(diǎn)被動(dòng)接收負(fù)載均衡器分發(fā)任務(wù)的模式。為實(shí)現(xiàn)服務(wù)節(jié)點(diǎn)能并行的獲取請(qǐng)求隊(duì)列中的任務(wù),本文為每個(gè)服務(wù)節(jié)點(diǎn)設(shè)計(jì)了請(qǐng)求隊(duì)列緩沖區(qū),并使用專(zhuān)用線程對(duì)其進(jìn)行管理。這樣的目的是讓服務(wù)節(jié)點(diǎn)內(nèi)部線程調(diào)度池中的各服務(wù)內(nèi)核線程可以并發(fā)的訪問(wèn)請(qǐng)求隊(duì)列緩沖區(qū),避免直接訪問(wèn)全局請(qǐng)求隊(duì)列時(shí)鎖操作引起排隊(duì)問(wèn)題。請(qǐng)求隊(duì)列緩沖區(qū)專(zhuān)用線程的工作原理如圖2所示。服務(wù)節(jié)點(diǎn)中的線程調(diào)度池并行運(yùn)行,各調(diào)度線程并發(fā)訪問(wèn)請(qǐng)求隊(duì)列緩沖區(qū),獲取緩沖區(qū)中優(yōu)先級(jí)最高的任務(wù)分配給服務(wù)內(nèi)核群優(yōu)先進(jìn)行處理,同時(shí)立即通知緩沖區(qū)管理線程立即更新緩沖區(qū),從全局任務(wù)優(yōu)先級(jí)隊(duì)列中獲取新的任務(wù)填充請(qǐng)求隊(duì)列緩沖區(qū),保證緩沖區(qū)中待執(zhí)行任務(wù)數(shù)量與線程調(diào)度池中線程個(gè)數(shù)相等。線程調(diào)度流程如圖3所示。2.4模型加速比分析評(píng)價(jià)一個(gè)計(jì)算模型并發(fā)處理能力的標(biāo)準(zhǔn)有很多,其中最常用的一種標(biāo)準(zhǔn)就是計(jì)算加速比,加速比(1)當(dāng)線程數(shù)小于或等于處理器核心數(shù)時(shí),加速比與處理器核心數(shù)呈正比,具有線性加速比,并行效率保持較優(yōu)狀態(tài)。(2)當(dāng)線程數(shù)大于處理器核心數(shù)時(shí),加速比與并行運(yùn)行時(shí)間呈反比,最終將保持穩(wěn)定;參與計(jì)算的處理器核心數(shù)固定,則并行效率與加速比呈正比加速比完整表達(dá)式為:其中,Ψ(n,p)表示在p個(gè)處理器核心上解決規(guī)模為n的問(wèn)題時(shí)的加速比;σ(n)表示計(jì)算任務(wù)中內(nèi)在的串行部分;φ(n)表示可以并行執(zhí)行的計(jì)算部分;K(n,p)表示并行開(kāi)銷(xiāo)所需的時(shí)間。根據(jù)以上加速比計(jì)算式可以推導(dǎo)出Amdahl定律其中,uf079為整個(gè)算法在并行機(jī)上所能達(dá)到的最大加速比;f為整個(gè)算法中串行執(zhí)行部分所占的比例。Amdahl定律對(duì)于解決固定規(guī)模的問(wèn)題,提供了一種預(yù)測(cè)用一定數(shù)量的處理器并行解決問(wèn)題時(shí)加速比的上限,從而可以幫助決定一個(gè)程序是否值得并行優(yōu)化WebGIS計(jì)算模型中任務(wù)的串行部分比例使用計(jì)算模型中任務(wù)數(shù)目來(lái)衡量,設(shè)T本文對(duì)WebGIS計(jì)算模型進(jìn)行分析,利用MicrosoftVisualStudio2010的性能分析工具檢測(cè)程序,通過(guò)CPU采樣分析,根據(jù)式(5)計(jì)算出需要串行執(zhí)行的任務(wù)所占比例為5%。設(shè)使用2臺(tái)服務(wù)器進(jìn)行集群部署,2臺(tái)服務(wù)器CPU均為8核。在傳統(tǒng)WebGIS集群模型中,集群中的各個(gè)服務(wù)器能并行地處理請(qǐng)求,根據(jù)Amdahl定律計(jì)算出這種模型所能達(dá)到的最大加速比理論值為:基于多核優(yōu)化后,集群中的每個(gè)多核服務(wù)器節(jié)點(diǎn)中的服務(wù)內(nèi)核群在線程調(diào)度池的調(diào)度下并行運(yùn)行,通過(guò)CPU采樣分析,節(jié)點(diǎn)內(nèi)部有26%的任務(wù)比例需要串行執(zhí)行。根據(jù)Amdahl定律計(jì)算出本文設(shè)計(jì)的基于多核優(yōu)化的WebGIS計(jì)算模型能達(dá)到的最大加速比理論值為:與傳統(tǒng)WebGIS計(jì)算模型相比,在使用上述2臺(tái)服務(wù)器進(jìn)行集群部署的場(chǎng)景下,本文提出的WebGIS模型的最大加速比在理論上較傳統(tǒng)模型提高了約1.41倍。3實(shí)驗(yàn)與結(jié)果分析3.1實(shí)驗(yàn)環(huán)境設(shè)置本文使用位于高速局域網(wǎng)內(nèi)的刀片中心構(gòu)建試驗(yàn)床,刀片服務(wù)器硬件配置為CPUIntel®Xeon®E56202.40GHz(8核),8GB內(nèi)存服務(wù)器,使用全國(guó)地質(zhì)圖瓦片數(shù)據(jù)(數(shù)據(jù)量大小為12.27GB)對(duì)本文設(shè)計(jì)的基于多核環(huán)境的WebGIS計(jì)算模型進(jìn)行仿真實(shí)驗(yàn),并與傳統(tǒng)WebGIS模型進(jìn)行對(duì)比。實(shí)驗(yàn)環(huán)境的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖4所示。測(cè)試過(guò)程中使用LoadRunner采集各個(gè)測(cè)試場(chǎng)景下地圖服務(wù)器的CPU利用率、平均每秒點(diǎn)擊率、平均每秒I/O次數(shù)、平均每秒吞吐量、平均每秒響應(yīng)時(shí)間,實(shí)驗(yàn)結(jié)果如表1所示。3.2測(cè)試結(jié)果分析3.2.1其他調(diào)度線程的性能比較根據(jù)表1中LoadRunner采集的結(jié)果數(shù)據(jù)可以分析得出:(1)當(dāng)線程個(gè)數(shù)小于8個(gè)線程時(shí),有空閑的CPU核心未被充分利用,隨著線程數(shù)的增加,更多地利用處理器資源,吞吐量線性增加,平均響應(yīng)時(shí)間線性減少,性能不斷提升。(2)當(dāng)線程個(gè)數(shù)達(dá)到8個(gè)線程,即與CPU核心數(shù)相等時(shí),所有CPU核心被充分利用,各調(diào)度線程調(diào)度服務(wù)內(nèi)核并行計(jì)算,并發(fā)處理性能接近最優(yōu)。(3)當(dāng)線程個(gè)數(shù)大于8個(gè)線程時(shí),由于測(cè)試用的服務(wù)器CPU核心數(shù)只有8個(gè),CPU會(huì)頻繁地進(jìn)行線程切換操作,這會(huì)導(dǎo)致額外的CPU開(kāi)銷(xiāo),因此并發(fā)處理能力幾乎不能再線性增加。3.2.2不同線程數(shù)下并行效率分析LoadRunner采集的平均響應(yīng)時(shí)間最直接地反映了服務(wù)器對(duì)大用戶(hù)量并發(fā)訪問(wèn)請(qǐng)求的并發(fā)處理能力,根據(jù)表1中的結(jié)果數(shù)據(jù)中的平均響應(yīng)時(shí)間,計(jì)算使用不同線程數(shù)時(shí)本文計(jì)算模型的加速比,即并發(fā)效率提升倍數(shù),結(jié)果如圖5所示。由圖5可以看出,使用8個(gè)線程加速比達(dá)到最大4.74,與2.4節(jié)的加速比理論分析基本相符。當(dāng)小于等于8個(gè)線程之前,即當(dāng)線程數(shù)小于CPU核心數(shù)時(shí),加速比與線程數(shù)呈正比,具有線性加速比,并行效率保持較優(yōu)狀態(tài);當(dāng)大于8個(gè)線程時(shí),由于CPU要進(jìn)行額外的線程上下文切換,各線程之間產(chǎn)生對(duì)有限的核心資源的爭(zhēng)用效應(yīng),因此,性能不能再得到提高,反而有所下降。3.2.3不同用戶(hù)并發(fā)用量時(shí)平均響應(yīng)時(shí)間在不同并發(fā)用戶(hù)量并發(fā)訪問(wèn)場(chǎng)景下,傳統(tǒng)WebGIS模型和本文基于多核優(yōu)化的WebGIS模型的平均響應(yīng)時(shí)間對(duì)比如圖6所示??梢钥闯?在網(wǎng)絡(luò)地圖可視化應(yīng)用中,客戶(hù)端發(fā)送地圖數(shù)據(jù)請(qǐng)求時(shí),特別是在瀏覽大規(guī)模矢量數(shù)據(jù)時(shí),平均響應(yīng)時(shí)間越小,用戶(hù)體驗(yàn)越好從結(jié)果數(shù)據(jù)分析得出,隨著并發(fā)用戶(hù)量的增加,當(dāng)并發(fā)用戶(hù)量大于10時(shí),傳統(tǒng)模型較快達(dá)到性能瓶頸,隨著用戶(hù)量的繼續(xù)增加,平均響應(yīng)時(shí)間也線性地快速增加;而本文提出的基于多核優(yōu)化的WebGIS模型在并發(fā)用戶(hù)量增加到25才達(dá)到性能瓶頸(與2.4節(jié)中性能分析結(jié)果中提到的并發(fā)性能提高約1.41倍基本相符),隨著用戶(hù)量的繼續(xù)增加,本文設(shè)計(jì)的模型的平均響應(yīng)時(shí)間增長(zhǎng)曲線平緩,與傳統(tǒng)模型相比,具有較好的穩(wěn)定性和抗高負(fù)載能力。4實(shí)驗(yàn)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論