• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      大數(shù)據(jù)處理中非均勻存儲(chǔ)訪問技術(shù)研究

      2013-09-30 06:39:40郭曉梅
      關(guān)鍵詞:大數(shù)據(jù)

      郭曉梅

      [摘要]目前,大數(shù)據(jù)的高性能處理日益重要,本文通過實(shí)驗(yàn),對(duì)非均勻存儲(chǔ)訪問的各種情況進(jìn)行了詳細(xì)深入的研究,對(duì)訪問時(shí)間差別進(jìn)行了深入的分析,揭示了在非均勻存儲(chǔ)訪問系統(tǒng)中線程本地存儲(chǔ)訪問和遠(yuǎn)程存儲(chǔ)訪問的性能差異。發(fā)現(xiàn)了讀寫內(nèi)存、不同訪問距離等各種情況下線程內(nèi)存訪問的性能特點(diǎn)。得出了在線程調(diào)度中的重要結(jié)論,對(duì)應(yīng)用程序在進(jìn)行大數(shù)據(jù)處理的線程調(diào)度執(zhí)行提出了重要的建議。

      [關(guān)鍵詞]大數(shù)據(jù);非均勻存儲(chǔ)訪問;線程調(diào)度

      [中圖分類號(hào)]C37 [文獻(xiàn)標(biāo)識(shí)碼]A [文章編號(hào)]1672-5158(2013)06-0031-02

      引言

      在當(dāng)今時(shí)代,互聯(lián)網(wǎng)迅猛發(fā)展,各行各業(yè)數(shù)據(jù)量猛增。數(shù)據(jù)種類繁多,數(shù)據(jù)量巨大,大數(shù)據(jù)時(shí)代來臨。隨著大數(shù)據(jù)的來臨,大數(shù)據(jù)處理成為越來越有價(jià)值的工作,而大數(shù)據(jù)的高性能處理則至關(guān)重要。

      目前大數(shù)據(jù)處理大都采用多處理器系統(tǒng),而多處理器系統(tǒng)中的非均勻存儲(chǔ)訪問架構(gòu)為進(jìn)行大數(shù)據(jù)高性能處理的主流體系結(jié)構(gòu)之一。

      1 非均勻存儲(chǔ)訪問技術(shù)特點(diǎn)

      1.1 多處理器系統(tǒng)模式

      在多處理器系統(tǒng)中,比較流行的有三種模式,即對(duì)稱多處理模式、大規(guī)模并行處理模式、非均勻存儲(chǔ)訪問模式。對(duì)稱多處理模式是在一個(gè)主存上連接著兩個(gè)或兩個(gè)以上的處理器,這些處理器共享一個(gè)主存,也被稱為均勻性存儲(chǔ)訪問系統(tǒng)。大規(guī)模并行處理模式是分布式存儲(chǔ)器模式,可擴(kuò)展性比較好,但是需要并行編程和并行編譯,在軟件系統(tǒng)構(gòu)建上比較復(fù)雜,使用不便。非均勻存儲(chǔ)訪問架構(gòu)是將若干個(gè)單元通過專門的互聯(lián)設(shè)備聯(lián)結(jié)在一起組成分布式和共享內(nèi)存系統(tǒng)。每一個(gè)處理器可以訪問自己?jiǎn)卧拇鎯?chǔ)器,也可以訪問其他單元的存儲(chǔ)器,所有訪存有遠(yuǎn)近、時(shí)延長短之分,稱為非均勻存儲(chǔ)訪問。

      1.2 非均勻存儲(chǔ)訪問架構(gòu)的性能優(yōu)勢(shì)

      非均勻存儲(chǔ)訪問架構(gòu)的性能優(yōu)勢(shì)主要體現(xiàn)在以下幾個(gè)方面:第一,非均勻存儲(chǔ)訪問處理器訪問同一單元上的內(nèi)存的速度比一般對(duì)稱多處理模式超出一倍。第二,非均勻存儲(chǔ)訪問的突破性技術(shù)徹底擺脫了傳統(tǒng)的超大總線對(duì)多處理結(jié)構(gòu)的束縛,它大大增強(qiáng)單一操作系統(tǒng)可管理的處理器、內(nèi)存和I/O插槽。最后,非均勻存儲(chǔ)訪問系統(tǒng)提供內(nèi)存互聯(lián)的硬件結(jié)構(gòu),這種技術(shù)可以開發(fā)新型動(dòng)態(tài)的分區(qū)系統(tǒng)。系統(tǒng)分區(qū)可以允許系統(tǒng)管理員根據(jù)用戶工作負(fù)荷的要求,簡(jiǎn)單地管理和使用CPU和內(nèi)存資源,從而達(dá)到最高的資源利用率和最佳的性能。正因?yàn)橐陨系脑?,非均勻存?chǔ)訪問架構(gòu)得到越來越廣泛的應(yīng)用。

      2 非均勻存儲(chǔ)訪問技術(shù)線程訪問時(shí)間研究

      非均勻存儲(chǔ)訪問系統(tǒng)的基本特征是具有多個(gè)CPU模塊,每個(gè)CPU模塊由多個(gè)核(如6個(gè))組成,并且具有獨(dú)立的本地內(nèi)存、I/O槽口等。由于其節(jié)點(diǎn)之間可以通過互聯(lián)模塊進(jìn)行連接和信息交互,因此每個(gè)CPU可以訪問整個(gè)系統(tǒng)的內(nèi)存。但是線程訪問遠(yuǎn)近程存儲(chǔ)器的時(shí)間是不一樣的。

      我們使用的非均勻存儲(chǔ)訪問系統(tǒng)是四個(gè)主頻為2.2GHZ的雙核AMD opteron多處理器,每個(gè)處理器有2x1GB DDR400 DRAM內(nèi)存。如(圖1)所示。四個(gè)處理器由coherent HyperTransport(相關(guān)性超傳輸)總線連接,每個(gè)處理器有一條雙向HyperTransport(超傳輸)總線和I/O連接,兩條雙向相關(guān)性超傳輸總線分別和另外兩個(gè)雙核處理器連接。每個(gè)雙向超傳輸總線的數(shù)據(jù)傳輸帶寬為4 GB/s。系統(tǒng)有4個(gè)節(jié)點(diǎn)NO,N1,N2,N3。每個(gè)節(jié)點(diǎn)有自己的內(nèi)存控制器(MCT),連接著本節(jié)點(diǎn)的內(nèi)存。每個(gè)節(jié)點(diǎn)有2個(gè)核CO,c1,兩個(gè)核連接著一個(gè)系統(tǒng)需求接口(sRI),系統(tǒng)中間有一個(gè)交叉設(shè)備XBar,SRI、內(nèi)存控制器、各種各樣的超傳輸總線都和XBar連接。

      在非均勻存儲(chǔ)訪問系統(tǒng)中,內(nèi)存需要可以來自于本節(jié)點(diǎn)的核,也可以通過超傳輸總線來自于其它節(jié)點(diǎn)的核。前者叫做本地訪問,對(duì)內(nèi)存的訪問要求從核到SRI,到XBAR,再到MCT;后者叫做遠(yuǎn)程訪問,內(nèi)存訪問要求的路線是從遠(yuǎn)程節(jié)點(diǎn)的核通過超傳輸總線到達(dá)XBAR,從XBAR再到MCT。每個(gè)節(jié)點(diǎn)的SRI、XBAR、MCT都有緩沖區(qū),緩沖區(qū)用來存放需要傳送的數(shù)據(jù)包。

      在非均勻存儲(chǔ)訪問系統(tǒng)里,影響應(yīng)用程序處理大數(shù)據(jù)的性能主要有以下幾個(gè)方面:

      ①遠(yuǎn)程內(nèi)存訪問。處理器訪問遠(yuǎn)程存儲(chǔ)器的次數(shù)多少會(huì)直接影響一個(gè)應(yīng)用程序的性能。提高非均勻存儲(chǔ)訪問系統(tǒng)性能的策略之一就是減少遠(yuǎn)程訪問的次數(shù)。要盡可能地讓進(jìn)程在本節(jié)點(diǎn)執(zhí)行。

      ②相互連接的超傳輸總線帶寬的影響。

      ③內(nèi)存競(jìng)爭(zhēng)的影響。當(dāng)許多處理器在同一時(shí)刻訪問一個(gè)內(nèi)存單元的時(shí)候就會(huì)出現(xiàn)內(nèi)存競(jìng)爭(zhēng),內(nèi)存競(jìng)爭(zhēng)會(huì)增加內(nèi)存響應(yīng)時(shí)間,降低程序的執(zhí)行效率。恰當(dāng)?shù)臄?shù)據(jù)分配策略會(huì)減少內(nèi)存競(jìng)爭(zhēng)。

      ④內(nèi)存帶寬的影響。

      ⑤緩沖區(qū)影響。在非均勻存儲(chǔ)訪問多處理器系統(tǒng)中,緩沖區(qū)在性能上發(fā)揮著重要的作用。如果處理器在本地緩沖區(qū)中沒有找到需要的數(shù)據(jù),就會(huì)訪問遠(yuǎn)程的存儲(chǔ)器。

      ⑥系統(tǒng)中各種各樣緩沖區(qū)可容納緩沖隊(duì)列長度的影響。

      2.1 遠(yuǎn)近程內(nèi)存訪問的時(shí)間差別

      線程本地存儲(chǔ)器訪問和遠(yuǎn)程存儲(chǔ)器訪問時(shí)間究竟有多大的差別呢?我們先用一個(gè)例子來研究遠(yuǎn)近程內(nèi)存訪問的時(shí)間差別。

      我們得到處理器所記錄的當(dāng)前時(shí)間的方法是使用時(shí)鐘周期數(shù)TSC的值乘以CPU的時(shí)鐘周期cycle來得到。就是在每次處理器啟動(dòng)的時(shí)候把TSC的值清零,然后每個(gè)時(shí)鐘周期TSC的值都加1,這樣要得到代碼執(zhí)行的周期數(shù)就在一段固定代碼執(zhí)行前后分別讀取TSC的值即可。用下列公式可以計(jì)算代碼執(zhí)行時(shí)間:

      T=(TSC1-TSC2)·cycle

      當(dāng)線程運(yùn)行和訪問內(nèi)存都在同一個(gè)節(jié)點(diǎn)時(shí),就叫做本地訪問或0-跳訪問。當(dāng)線程運(yùn)行在一個(gè)節(jié)點(diǎn),訪問內(nèi)存卻在其他節(jié)點(diǎn),就叫做遠(yuǎn)程訪問。在遠(yuǎn)程訪問中,如果線程運(yùn)行的節(jié)點(diǎn)和內(nèi)存訪問的節(jié)點(diǎn)是彼此直接連接的,就叫做1-跳訪問。如果線程運(yùn)行的節(jié)點(diǎn)和內(nèi)存訪問的節(jié)點(diǎn)不是直接連接的,就叫做2-跳訪問。如圖1中,線程在節(jié)點(diǎn)0運(yùn)行,則其對(duì)于節(jié)點(diǎn)1、2、3的訪問即為遠(yuǎn)程存儲(chǔ)器訪問,對(duì)節(jié)點(diǎn)1、2的內(nèi)存訪問叫做1-跳訪問,對(duì)節(jié)點(diǎn)3的內(nèi)存訪問叫做2-跳訪問。

      我們采取了一段串行程序使用一個(gè)線程向不同節(jié)點(diǎn)存儲(chǔ)區(qū)域?qū)懭?M相同大小數(shù)據(jù)量的方法來測(cè)試訪問的時(shí)間,并且,每次實(shí)驗(yàn)我們重復(fù)了2000次。統(tǒng)計(jì)結(jié)果表明,本地存儲(chǔ)區(qū)域的訪問時(shí)間是最短的,平均為2166μs;而對(duì)于遠(yuǎn)程存儲(chǔ)區(qū)域的訪問則需要較長的時(shí)間,其中1、2節(jié)點(diǎn)的訪問時(shí)間平均達(dá)2445μs,而節(jié)點(diǎn)3,訪問距離最遠(yuǎn),訪問時(shí)間也最長,平均達(dá)3032μS。

      由此實(shí)驗(yàn)可見,在非均勻存儲(chǔ)訪問系統(tǒng)中,訪問遠(yuǎn)程內(nèi)存的速度要慢于訪問本地內(nèi)存的速度。在本例中,1-跳距離的存儲(chǔ)訪問時(shí)間是本地存儲(chǔ)訪問的1.13倍,2-跳距離的存儲(chǔ)訪問時(shí)間是本地存儲(chǔ)訪問的1.4倍。訪問遠(yuǎn)程數(shù)據(jù)的距離越遠(yuǎn),付出的時(shí)間代價(jià)越高。我們?cè)趹?yīng)用程序中,盡量保持?jǐn)?shù)據(jù)在節(jié)點(diǎn)內(nèi)部訪問。

      2.2 單線程只讀和只寫遠(yuǎn)近程存儲(chǔ)器的研究

      如果對(duì)內(nèi)存的訪問為只讀或只寫,本地訪問和遠(yuǎn)程訪問時(shí)間有什么差別呢?我們用下面的例子來研究只讀和只寫訪問遠(yuǎn)近程存儲(chǔ)器的影響。

      我們采取一段串行程序使用一個(gè)線程向不同節(jié)點(diǎn)存儲(chǔ)區(qū)域分別連續(xù)讀出和寫入60M相同大小數(shù)據(jù)量,讀寫入的大小要遠(yuǎn)遠(yuǎn)大于緩沖區(qū)大小。線程運(yùn)行在節(jié)點(diǎn)O的C0上。并且整個(gè)系統(tǒng)只有這一個(gè)線程運(yùn)行。線程的數(shù)據(jù)訪問分為以下幾種:

      *線程本地訪問節(jié)點(diǎn)0內(nèi)存。(0-跳)

      *線程遠(yuǎn)程訪問節(jié)點(diǎn)1內(nèi)存。(1-跳)

      *線程遠(yuǎn)程訪問節(jié)點(diǎn)2內(nèi)存。(1-跳)

      *線程遠(yuǎn)程訪問節(jié)點(diǎn)3內(nèi)存。(2-跳)

      訪問時(shí)間結(jié)果表明,隨著訪問距離的增加,讀寫訪問的訪問時(shí)間都增加了。每種情況,寫訪問的時(shí)間都大于讀訪問的時(shí)間,因?yàn)閷懖僮鲿?huì)生產(chǎn)出更多的內(nèi)存帶寬負(fù)載。但是讀寫訪問的訪問時(shí)間都隨著訪問內(nèi)存距離的增加而增加。

      2.3 節(jié)點(diǎn)間和節(jié)點(diǎn)內(nèi)線程調(diào)度訪問研究

      如果是多線程,通過節(jié)點(diǎn)調(diào)度多線程有以下幾個(gè)制約因素:

      *系統(tǒng)是否空閑,也就是系統(tǒng)有沒有其它負(fù)載;

      *多線程是否訪問各自私有的數(shù)據(jù)。

      *多線程是否訪問共享的數(shù)據(jù)。

      我們先來研究系統(tǒng)空閑下線程只訪問本節(jié)點(diǎn)私有的數(shù)據(jù)。

      我們使用2個(gè)線程進(jìn)行寫操作,每個(gè)線程都寫)260M的數(shù)據(jù),都訪問本節(jié)點(diǎn)的內(nèi)存。第一種方法是節(jié)點(diǎn)間調(diào)度,即一個(gè)線程在節(jié)點(diǎn)0的核0運(yùn)行,另一個(gè)線程在節(jié)點(diǎn)1的核0運(yùn)行;第二種方法是節(jié)點(diǎn)內(nèi)調(diào)度,即2個(gè)線程分別在節(jié)點(diǎn)0的核0和核1上運(yùn)行。比較兩個(gè)線程運(yùn)行的總時(shí)間。結(jié)果表明,節(jié)點(diǎn)間調(diào)度線程的執(zhí)行時(shí)間比較少。

      隨后我們又使用8-CPU非均勻存儲(chǔ)訪問系統(tǒng)工作站(AMDOpteron 6168 1.9GHz processor,64G RAM,48 core,8節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)6個(gè)核)實(shí)驗(yàn)環(huán)境,使用6個(gè)線程進(jìn)行寫操作。都訪問本節(jié)點(diǎn)內(nèi)存,分上述兩種情況,即第一種方法是節(jié)點(diǎn)間調(diào)度,每個(gè)線程分別在6個(gè)節(jié)點(diǎn)的核0運(yùn)行,第二種方法是節(jié)點(diǎn)內(nèi)調(diào)度,6個(gè)線程都在節(jié)點(diǎn)0的每個(gè)核運(yùn)行。結(jié)果為,第一種情況執(zhí)行時(shí)間比較少。

      在非均勻存儲(chǔ)訪問系統(tǒng)中,在空閑執(zhí)行環(huán)境下訪問私有的數(shù)據(jù),我們應(yīng)盡量避免使用第二種情況來調(diào)度線程。從負(fù)載平衡的角度來說,如果某一個(gè)節(jié)點(diǎn)負(fù)載過多,而其他節(jié)點(diǎn)空閑,必然會(huì)導(dǎo)致一個(gè)節(jié)點(diǎn)內(nèi)的資源產(chǎn)生競(jìng)爭(zhēng),從而影響應(yīng)用程序的執(zhí)行效率。

      如果在空閑執(zhí)行環(huán)境下,各線程之間的數(shù)據(jù)共享,我們使用2個(gè)線程和6個(gè)線程在2種環(huán)境下分別進(jìn)行了測(cè)試。線程都訪問本節(jié)點(diǎn)內(nèi)存,第一種方法是節(jié)點(diǎn)間調(diào)度,一個(gè)線程在節(jié)點(diǎn)0的核0運(yùn)行,另一個(gè)線程在節(jié)點(diǎn)1的核0運(yùn)行;第二種方法是節(jié)點(diǎn)內(nèi)調(diào)度,2個(gè)線程分別在節(jié)點(diǎn)0的核0和核1上運(yùn)行。6個(gè)線程寫60M數(shù)據(jù)的兩種方法,第一種方法是節(jié)點(diǎn)間調(diào)度,每個(gè)線程分別在6個(gè)節(jié)點(diǎn)的核0運(yùn)行,第二種方法是節(jié)點(diǎn)內(nèi)調(diào)度,6個(gè)線程都在節(jié)點(diǎn)0的每個(gè)核運(yùn)行。結(jié)果表明,在節(jié)點(diǎn)內(nèi)調(diào)度線程的執(zhí)行時(shí)間比較少。因?yàn)楦骶€程之間數(shù)據(jù)共享,訪問內(nèi)存數(shù)據(jù)的距離越短,時(shí)間越少。所以我們?cè)诳臻e環(huán)境下進(jìn)行線程調(diào)度,各線程間數(shù)據(jù)共享,優(yōu)先從節(jié)點(diǎn)內(nèi)進(jìn)行調(diào)度,一個(gè)節(jié)點(diǎn)調(diào)度為完畢,再從另一個(gè)節(jié)點(diǎn)進(jìn)行調(diào)度。

      對(duì)于上述實(shí)驗(yàn),我們?cè)谙到y(tǒng)有少量負(fù)載的情況下也做了相應(yīng)的實(shí)驗(yàn),取得了類似的結(jié)果。

      由此可知,在非均勻存儲(chǔ)訪問系統(tǒng)中,在系統(tǒng)空閑的情況下,或者少量負(fù)載的情況下,對(duì)應(yīng)用程序進(jìn)行大數(shù)據(jù)處理提出如下建議:

      *如果線程僅訪問本節(jié)點(diǎn)私有的數(shù)據(jù),優(yōu)先從節(jié)點(diǎn)間調(diào)度線程;

      *如果線程間數(shù)據(jù)共享,優(yōu)先從節(jié)點(diǎn)內(nèi)調(diào)度線程,一個(gè)節(jié)點(diǎn)飽和后再從另一個(gè)節(jié)點(diǎn)進(jìn)行調(diào)度;

      *如果線程需要訪問的既有獨(dú)立數(shù)據(jù)又有共享數(shù)據(jù),但私有數(shù)據(jù)遠(yuǎn)遠(yuǎn)大于共享數(shù)據(jù),優(yōu)先從節(jié)點(diǎn)間調(diào)度線程。

      3 結(jié)束語

      當(dāng)今,在互聯(lián)網(wǎng)及各行各業(yè)都存在著大量數(shù)據(jù)需要高性能處理,本文通過實(shí)驗(yàn)對(duì)非均勻存儲(chǔ)訪問技術(shù)進(jìn)行研究,發(fā)現(xiàn)了讀寫內(nèi)存、不同訪問距離等各種情況下線程內(nèi)存訪問的性能特點(diǎn)。得出了應(yīng)用程序在線程調(diào)度中的重要結(jié)論,對(duì)大數(shù)據(jù)的高性能處理有重要的指導(dǎo)意義。

      參考文獻(xiàn)

      [1]都志輝,高性能計(jì)算并行編程技術(shù)-MPI并行程序設(shè)計(jì),清華大學(xué)出版社,2001

      [2]郭靜,祝永志,王延玲,基于MPI的動(dòng)態(tài)負(fù)載平衡算法的研究[J]計(jì)算機(jī)技術(shù)與發(fā)展,2009(05)

      猜你喜歡
      大數(shù)據(jù)
      基于在線教育的大數(shù)據(jù)研究
      “互聯(lián)網(wǎng)+”農(nóng)產(chǎn)品物流業(yè)的大數(shù)據(jù)策略研究
      基于大數(shù)據(jù)的小微電商授信評(píng)估研究
      大數(shù)據(jù)時(shí)代新聞的新變化探究
      商(2016年27期)2016-10-17 06:26:00
      淺談大數(shù)據(jù)在出版業(yè)的應(yīng)用
      今傳媒(2016年9期)2016-10-15 23:35:12
      “互聯(lián)網(wǎng)+”對(duì)傳統(tǒng)圖書出版的影響和推動(dòng)作用
      今傳媒(2016年9期)2016-10-15 22:09:11
      大數(shù)據(jù)環(huán)境下基于移動(dòng)客戶端的傳統(tǒng)媒體轉(zhuǎn)型思路
      新聞世界(2016年10期)2016-10-11 20:13:53
      基于大數(shù)據(jù)背景下的智慧城市建設(shè)研究
      科技視界(2016年20期)2016-09-29 10:53:22
      數(shù)據(jù)+輿情:南方報(bào)業(yè)創(chuàng)新轉(zhuǎn)型提高服務(wù)能力的探索
      中國記者(2016年6期)2016-08-26 12:36:20
      定安县| 娱乐| 绩溪县| 和田县| 论坛| 龙海市| 乌拉特前旗| 当涂县| 礼泉县| 林周县| 松滋市| 榆中县| 宾阳县| 漠河县| 河西区| 鞍山市| 盱眙县| 沧源| 含山县| 巢湖市| 越西县| 福安市| 大名县| 巴东县| 临海市| 宣武区| 观塘区| 绥阳县| 柳江县| 天全县| 新津县| 灵丘县| 海城市| 灌阳县| 渝中区| 寿阳县| 龙岩市| 桂东县| 屏山县| 阳西县| 盐边县|