电竞比分网-中国电竞赛事及体育赛事平台

分享

大數(shù)據(jù)的核心技術(shù)

 高山仙人掌 2014-03-31
大數(shù)據(jù)需要特殊的技術(shù),以有效地處理大量的容忍經(jīng)過(guò)時(shí)間內(nèi)的數(shù)據(jù)。適用于大數(shù)據(jù)的技術(shù),包括大規(guī)模并行處理(MPP)數(shù)據(jù)庫(kù)、分布式文件系統(tǒng)、分布式數(shù)據(jù)庫(kù)、云計(jì)算平臺(tái)、互聯(lián)網(wǎng)和可擴(kuò)展的存儲(chǔ)系統(tǒng)。
  一、大規(guī)模并行處理(MPP)數(shù)據(jù)庫(kù)
   (一)定義
   并行處理(ParallelProcessing)是計(jì)算機(jī)系統(tǒng)中能同時(shí)執(zhí)行兩個(gè)或更多個(gè)處理機(jī)的一種計(jì)算方法。處理機(jī)可同時(shí)工作于同一程序的不同方面。并行處理的主要目的是節(jié)省大型和復(fù)雜問(wèn)題的解決時(shí)間。為使用并行處理,首先需要對(duì)程序進(jìn)行并行化處理,也就是說(shuō)將工作各部分分配到不同處理機(jī)中。而主要問(wèn)題是并行是一個(gè)相互依靠性問(wèn)題,而不能自動(dòng)實(shí)現(xiàn)。此外,并行也不能保證加速。但是一個(gè)在n個(gè)處理機(jī)上執(zhí)行的程序速度可能會(huì)是在單一處理機(jī)上執(zhí)行的速度的n倍。
   (二)簡(jiǎn)介
   只有部分應(yīng)用程序在滿足以下條件的情況下可利用并行處理:具有充足的能充分利用多處理機(jī)的應(yīng)用程序;并行化目標(biāo)應(yīng)用程序或用戶需進(jìn)行新的編碼來(lái)利用并行程序。
   傳統(tǒng)上,多處理機(jī)專為“并行計(jì)算機(jī)”所設(shè)計(jì),沿著這樣的思路,當(dāng)前Linux支持SMP奔騰系統(tǒng),在該系統(tǒng)中多處理機(jī)共享單個(gè)計(jì)算機(jī)中的單個(gè)存儲(chǔ)器和總線接口。每個(gè)運(yùn)行Linux的機(jī)器組都有可能通過(guò)網(wǎng)絡(luò)互相連接形成并行處理群。第三種選擇是使用Linux系統(tǒng)作為“主機(jī)”,提供專門(mén)的相關(guān)并行處理機(jī)(attachedparallelprocessor)。第四種新選擇是寄存器內(nèi)SIMD并行,應(yīng)用于多媒體擴(kuò)展(MMX)。
   并行處理所需要提供的典型硬件環(huán)境有:
   單處理機(jī)上的單個(gè)區(qū);
   多處理機(jī)(SMP)中的單個(gè)區(qū);
   多區(qū)配置
   一個(gè)處理機(jī)(MPP)中的各區(qū);
   多處理機(jī)(SMP群)中的各區(qū);
   邏輯數(shù)據(jù)庫(kù)區(qū)(在AIX第1版的DB2并行版-DB2PE中也稱之為多邏輯代碼或MLN)
   在各種硬件環(huán)境下可能的并行類型如下:
   硬件環(huán)境I/O并行查詢內(nèi)并行機(jī)制
   內(nèi)部分區(qū)并行性Inter-PartitionParallelism
   單區(qū),單處理機(jī)是否否
   單區(qū),多處理機(jī)(SMP)是是否
   多區(qū),單處理機(jī)(MPP)是否是
   多區(qū),多處理機(jī)(SMP群)是是是
   邏輯數(shù)據(jù)庫(kù)區(qū)是是是
   到目前為止,并行計(jì)算機(jī)具有代表性的應(yīng)用領(lǐng)域有:天氣預(yù)報(bào)建摸、VLSI電路的計(jì)算機(jī)輔助設(shè)計(jì)、大型數(shù)據(jù)庫(kù)管理、人工智能、犯罪控制和國(guó)防戰(zhàn)略研究等,而且它的應(yīng)用范圍還在不斷地?cái)U(kuò)大。并行處理技術(shù)主要是以算法為核心,并行語(yǔ)言為描述,軟硬件作為實(shí)現(xiàn)工具的相互聯(lián)系而又相互制約的一種結(jié)構(gòu)技術(shù)。
   (三)并行算法基本策略
   在并行處理技術(shù)中所使用的算法主要遵循三種策略:
   分而治之法:也就是把多個(gè)任務(wù)分解到多個(gè)處理器或多個(gè)計(jì)算機(jī)中,然后再按照一定的拓?fù)浣Y(jié)構(gòu)來(lái)進(jìn)行求解。
   重新排序法:分別采用靜態(tài)或動(dòng)態(tài)的指令詞度方式。
   顯式/隱式并行性結(jié)合:顯式指的是并行語(yǔ)言通過(guò)編譯形成并行程序,隱式指的是串行語(yǔ)言通過(guò)編譯形成并行程序,顯式/隱式并行性結(jié)合的關(guān)鍵就在于并行編譯,而并行編譯涉及到語(yǔ)句、程序段、進(jìn)程以及各級(jí)程序的并行性。
   1.并行性描述定義
   利用計(jì)算機(jī)語(yǔ)言進(jìn)行并行性描述的時(shí)候主要有三種方案:
   (1)語(yǔ)言擴(kuò)展方案:也就是利用各種語(yǔ)言的庫(kù)函數(shù)來(lái)進(jìn)行并行性功能的擴(kuò)展。
   (2))編譯制導(dǎo)法:也稱為智能編譯,它是隱式并行策略的體現(xiàn),主要是由并行編譯系統(tǒng)進(jìn)行程序表示、控制流的分析、相關(guān)分析、優(yōu)化分析和并行化劃分,由相關(guān)分析得到方法庫(kù)管理方案,由優(yōu)化分析得到知識(shí)庫(kù)管理方案,由并行化劃分得到程序重構(gòu),從而形成并行程序。
  ?。?)新的語(yǔ)言結(jié)構(gòu)法:這是顯式并行策略的體現(xiàn)。也就是建立一種全新的并行語(yǔ)言的體系,而這種并行語(yǔ)言通過(guò)編譯就能直接形成并行程序。
   2.并行軟件
   并行軟件可分成并行系統(tǒng)軟件和并行應(yīng)用軟件兩大類,并行系統(tǒng)軟件主要指并行編譯系統(tǒng)和并行操作系統(tǒng),并行應(yīng)用軟件主要指各種軟件工具和應(yīng)用軟件包。在軟件中所牽涉到的程序的并行性主要是指程序的相關(guān)性和網(wǎng)絡(luò)互連兩方面。
   (1)程序的相關(guān)性:程序的相關(guān)性主要分為數(shù)據(jù)相關(guān)、控制相關(guān)和資源相關(guān)三類。
   數(shù)據(jù)相關(guān)說(shuō)明的是語(yǔ)句之間的有序關(guān)系,主要有流相關(guān)、反相關(guān)、輸出相關(guān)、I/O相關(guān)和求知相關(guān)等,這種關(guān)系在程序運(yùn)行前就可以通過(guò)分析程序確定下來(lái)。數(shù)據(jù)相關(guān)是一種偏序關(guān)系,程序中并不是每一對(duì)語(yǔ)句的成員都是相關(guān)聯(lián)的??梢酝ㄟ^(guò)分析程序的數(shù)據(jù)相關(guān),把程序中一些不存在相關(guān)性的指令并行地執(zhí)行,以提高程序運(yùn)行的速度。
   控制相關(guān)指的是語(yǔ)句執(zhí)行次序在運(yùn)行前不能確定的情況。它一般是由轉(zhuǎn)移指令引起的,只有在程序執(zhí)行到一定的語(yǔ)句時(shí)才能判斷出語(yǔ)句的相關(guān)性??刂葡嚓P(guān)常使正在開(kāi)發(fā)的并行性中止,為了開(kāi)發(fā)更多的并行性,必須用編譯技術(shù)克服控制相關(guān)。
   而資源相關(guān)則與系統(tǒng)進(jìn)行的工作無(wú)關(guān),而與并行事件利用整數(shù)部件、浮點(diǎn)部件、寄存器和存儲(chǔ)區(qū)等共享資源時(shí)發(fā)生的沖突有關(guān)。軟件的并行性主要是由程序的控制相關(guān)和數(shù)據(jù)相關(guān)性決定的。在并行性開(kāi)發(fā)時(shí)往往把程序劃分成許多的程序段——顆粒。顆粒的規(guī)模也稱為粒度,它是衡量軟件進(jìn)程所含計(jì)算量的尺度,一般用細(xì)、中、粗來(lái)描述。劃分的粒度越細(xì),各子系統(tǒng)間的通信時(shí)延也越低,并行性就越高,但系統(tǒng)開(kāi)銷也越大。因此,我們?cè)谶M(jìn)行程序組合優(yōu)化的時(shí)候應(yīng)該選擇適當(dāng)?shù)牧6?,并且把通訊時(shí)延盡可能放在程序段中進(jìn)行,還可以通過(guò)軟硬件適配和編譯優(yōu)化的手段來(lái)提高程序的并行度。
  ?。?)網(wǎng)絡(luò)互連:將計(jì)算機(jī)子系統(tǒng)互連在一起或構(gòu)造多處理機(jī)或多計(jì)算機(jī)時(shí)可使用靜態(tài)或動(dòng)態(tài)拓?fù)浣Y(jié)構(gòu)的網(wǎng)絡(luò)。靜態(tài)網(wǎng)絡(luò)由點(diǎn)一點(diǎn)直接相連而成,這種連接方式在程序執(zhí)行過(guò)程中不會(huì)改變,常用來(lái)實(shí)現(xiàn)集中式系統(tǒng)的子系統(tǒng)之間或分布式系統(tǒng)的多個(gè)計(jì)算結(jié)點(diǎn)之間的固定連接。動(dòng)態(tài)網(wǎng)絡(luò)是用開(kāi)關(guān)通道實(shí)現(xiàn)的,它可動(dòng)態(tài)地改變結(jié)構(gòu),使之與用戶程序中的通信要求匹配。動(dòng)態(tài)網(wǎng)絡(luò)包括總線、交叉開(kāi)關(guān)和多級(jí)網(wǎng)絡(luò),常用于共享存儲(chǔ)型多處理機(jī)中。在網(wǎng)絡(luò)上的消息傳遞主要通過(guò)尋徑來(lái)實(shí)現(xiàn)。常見(jiàn)的尋徑方式有存儲(chǔ)轉(zhuǎn)發(fā)尋徑和蟲(chóng)蝕尋徑等。在存儲(chǔ)轉(zhuǎn)發(fā)網(wǎng)絡(luò)中以長(zhǎng)度固定的包作為信息流的基本單位,每個(gè)結(jié)點(diǎn)有一個(gè)包緩沖區(qū),包從源結(jié)點(diǎn)經(jīng)過(guò)一系列中間結(jié)點(diǎn)到達(dá)目的結(jié)點(diǎn)。存儲(chǔ)轉(zhuǎn)發(fā)網(wǎng)絡(luò)的時(shí)延與源和目的之間的距離(段數(shù))成正比。而在新型的計(jì)算機(jī)系統(tǒng)中采用蟲(chóng)蝕尋徑,把包進(jìn)一步分成一些固定長(zhǎng)度的片,與結(jié)點(diǎn)相連的硬件尋徑器中有片緩沖區(qū)。消息從源傳送到目的結(jié)點(diǎn)要經(jīng)過(guò)一系列尋徑器。同一個(gè)包中所有的片以流水方式順序傳送,不同的包可交替地傳送,但不同包的片不能交叉,以免被送到錯(cuò)誤的目的地。蟲(chóng)蝕尋徑的時(shí)延幾乎與源和目的之間的距離無(wú)關(guān)。在尋徑中產(chǎn)生的死鎖問(wèn)題可以由虛擬通道來(lái)解決。虛擬通道是兩個(gè)結(jié)點(diǎn)間的邏輯鏈,它由源結(jié)點(diǎn)的片緩沖區(qū)、結(jié)點(diǎn)間的物理通道以及接收結(jié)點(diǎn)的片緩沖區(qū)組成。物理通道由所有的虛擬通道分時(shí)地共享。虛擬通道雖然可以避免死鎖,但可能會(huì)使每個(gè)請(qǐng)求可用的有效通道頻寬降低。因此,在確定虛擬通道數(shù)目時(shí),需要對(duì)網(wǎng)絡(luò)吞吐量和通信時(shí)延折衷考慮。
   3.硬件技術(shù)在硬件技術(shù)方面主要從處理機(jī)、存儲(chǔ)器和流水線三個(gè)方面來(lái)實(shí)現(xiàn)并行。
  ?。?)處理機(jī):主要的處理機(jī)系列包括CISC、RISC、超標(biāo)量、VL1W、超流水線、向量以及符號(hào)處理機(jī)。
   傳統(tǒng)的處理機(jī)屬于復(fù)雜指令系統(tǒng)計(jì)算(CISC)結(jié)構(gòu)。指令系統(tǒng)大,指令格式可變,通用寄存器個(gè)數(shù)較少,基本上使用合一的指令與數(shù)據(jù)高速緩存,時(shí)鐘頻率較低,CPI較高,大多數(shù)利用ROM實(shí)現(xiàn)微碼控制CPU,而當(dāng)今的精簡(jiǎn)指令系統(tǒng)計(jì)算(RISC)處理機(jī)指令格式簡(jiǎn)單規(guī)范,面向寄存器堆,采用重疊寄存器窗口技術(shù),具有多級(jí)Cache,多種流水線結(jié)構(gòu),強(qiáng)調(diào)編譯優(yōu)化技術(shù),時(shí)鐘頻率快,CPI低,大多數(shù)用硬連線控制CPU。
   CISC或RISC標(biāo)量處理機(jī)都可以采用超標(biāo)量或向量結(jié)構(gòu)來(lái)改善性能。標(biāo)量處理機(jī)在每個(gè)周期內(nèi)只發(fā)射一條指令并要求周期只完成從流水線來(lái)的一條指令。而在超標(biāo)量處理機(jī)中,使用了多指令流水線,每個(gè)周期要發(fā)射多條指令并產(chǎn)生多個(gè)結(jié)果。由于希望程序中有許多的指令級(jí)并行性,因此超標(biāo)量處理機(jī)更要依靠?jī)?yōu)化編譯器去開(kāi)發(fā)并行性。
   VL1W結(jié)構(gòu)是將水平微碼和超標(biāo)量處理這兩種普遍采用的概念結(jié)合起來(lái)產(chǎn)生的。典型的超長(zhǎng)指令字VL1W機(jī)器指令字長(zhǎng)度有數(shù)百位。在VLlW處理機(jī)中,多個(gè)功能部件是并發(fā)工作的,所有的功能部件共享使用公用大型寄存器堆,由功能部件同時(shí)執(zhí)行的各種操作是用VL1W指令來(lái)同步的,每條指令可指定多個(gè)操作。VL1W指令譯碼比超標(biāo)量指令容易,但在開(kāi)發(fā)不同數(shù)量的并行性時(shí)總是需要不同的指令系統(tǒng)。VL1W主要是開(kāi)發(fā)標(biāo)量操作之間的并行性,它的成功與否很大程度取決于代碼壓縮的效率,其結(jié)構(gòu)和任何傳統(tǒng)的通用處理機(jī)完全不兼容。即使同一結(jié)構(gòu)的不同實(shí)現(xiàn)也不大可能做到彼此二進(jìn)制兼容。VL1W的主要優(yōu)點(diǎn)在于它的硬件結(jié)構(gòu)和指令系統(tǒng)簡(jiǎn)單,在科學(xué)應(yīng)用領(lǐng)域可以發(fā)揮良好作用,但在一般應(yīng)用場(chǎng)合可能并不很好用。
   向量處理機(jī)對(duì)數(shù)組執(zhí)行向量指令,每條指令都包含一串重復(fù)的操作。它是專門(mén)設(shè)計(jì)用來(lái)完成向量運(yùn)算的協(xié)處理機(jī),通常用于多流水線超級(jí)計(jì)算機(jī)中。向量處理機(jī)可以利用循環(huán)級(jí)展開(kāi)所得的并行性,它可以附屬于任何標(biāo)量處理機(jī)。專用的向量流水線可以在循環(huán)控制中消除某些軟件開(kāi)銷,它的效果與優(yōu)化編譯器將順序代碼向量化的性能很有關(guān)系。從理論上說(shuō),向量機(jī)可以具有和超標(biāo)量處理機(jī)同樣的性能,因此可以說(shuō)向量機(jī)的并行性與超標(biāo)量機(jī)相同。
   符號(hào)處理機(jī)是為AI應(yīng)用而研制的,已用于定理證明、模式識(shí)別、專家系統(tǒng)、知識(shí)工程、文本檢索、科學(xué)以及機(jī)器智能等許多應(yīng)用領(lǐng)域。在這些應(yīng)用中,數(shù)據(jù)和知識(shí)表達(dá)式、原語(yǔ)操作、算法特性、存儲(chǔ)器、I/0和通信以及專用的結(jié)構(gòu)特性與數(shù)值計(jì)算是不一樣的,符號(hào)處理機(jī)也稱為邏輯程序設(shè)計(jì)語(yǔ)言處理機(jī)、表處理語(yǔ)言處理機(jī)或符號(hào)變換器。符號(hào)處理并不和數(shù)值數(shù)據(jù)打交道,它處理的是邏輯程序、符號(hào)表、對(duì)象、劇本、黑板、產(chǎn)生式系統(tǒng)、語(yǔ)義網(wǎng)絡(luò)、框架以及人工神經(jīng)網(wǎng)絡(luò)等問(wèn)題。這些操作需要專門(mén)的指令系統(tǒng),通常不使用浮點(diǎn)操作。
  ?。?)存儲(chǔ)器:存儲(chǔ)設(shè)備按容量和存取時(shí)間從低到高可分為寄存器、高速緩存、主存儲(chǔ)器、磁盤(pán)設(shè)備和磁帶機(jī)五個(gè)層次。較低層存儲(chǔ)設(shè)備與較高層的相比,存取速度較快、容量較小,每字節(jié)成本較高、帶寬較寬、傳輸單位較小。
   存放在存儲(chǔ)器層次結(jié)構(gòu)中的信息滿足三個(gè)重要特性:包含性、一致性和局部性。所謂包含性,指的是一個(gè)信息字的復(fù)制品可以在比它高的所有層中找到,而如果在高層中丟失了一個(gè)信息,則在比它低的所有層中此信息也將丟失。CPU和高速緩存之間的信息傳送是按字進(jìn)行的,高速緩存和主存儲(chǔ)器間用塊作為數(shù)據(jù)傳送的基本單位,主存和磁盤(pán)之間又是以頁(yè)面為基本單位來(lái)傳送信息的,而在磁盤(pán)和磁帶機(jī)之間的數(shù)據(jù)傳送則是按文件級(jí)處理的。所謂一致性要求的是同一個(gè)信息項(xiàng)與后繼存儲(chǔ)器層次上的副本是一致的。也就是說(shuō),如果在高速緩存中的一個(gè)字被修改過(guò),那么在所有更高層上該字的副本也必須立即或最后加以修改。為了盡量減少存儲(chǔ)器層次結(jié)構(gòu)的有效存取時(shí)間,通常把頻繁使用的信息放在較低層次。維護(hù)存儲(chǔ)器層次結(jié)構(gòu)一致性一般有兩種策略,一種是寫(xiě)直達(dá)策略,也就是如果,則立即在所有高層存儲(chǔ)器中進(jìn)行同樣的修改;另一種是寫(xiě)回策略,也就是在較低層中對(duì)信息進(jìn)行修改后并不立即在高層存儲(chǔ)器中進(jìn)行相應(yīng)的修改,而是等到該信息將被替換或?qū)牡蛯又邢r(shí)才在所有高層存儲(chǔ)器中進(jìn)行同樣的修改。甚至可以將寫(xiě)直達(dá)和寫(xiě)回策略的優(yōu)點(diǎn)結(jié)合起來(lái),形成寫(xiě)一次協(xié)議來(lái)維護(hù)存儲(chǔ)器的一致性。
   存儲(chǔ)器的層次結(jié)構(gòu)是在一種程序行為——訪問(wèn)的局部性基礎(chǔ)上開(kāi)發(fā)出來(lái)的。主要有時(shí)間局部性、空間局部性和順序局部性。時(shí)間局部性指的是最近的訪問(wèn)項(xiàng)很可能在不久的將來(lái)再次被訪問(wèn)。它往往會(huì)引起對(duì)最近使用區(qū)域的集中訪問(wèn)??臻g局部性表示一種趨勢(shì),指的是一個(gè)進(jìn)程訪問(wèn)的各項(xiàng)其地址彼此很近。順序局部性指的是在典型程序中,除非是轉(zhuǎn)移指令,一般指令都是順序執(zhí)行的。
   在多處理機(jī)系統(tǒng)中一般使用共享存儲(chǔ)器。對(duì)共享存儲(chǔ)器的組織一般采用低位交叉、高位交叉、高低位交叉三種方法。低位交叉又稱并發(fā)存取,它是把相鄰的地址放在相鄰的存儲(chǔ)器模塊中,在訪問(wèn)時(shí)不容易產(chǎn)生沖突,并行性較好,但可靠性容錯(cuò)能力和擴(kuò)展性均較差。高位交叉又稱允許同時(shí)存取,它是把相鄰地址分配到同一個(gè)存儲(chǔ)器模塊中,可靠性、容錯(cuò)能力和擴(kuò)展性均較強(qiáng),但訪問(wèn)時(shí)易產(chǎn)生沖突,帶寬較窄,并行性較差。高低位交叉存取又稱C—s存取,它是結(jié)合了高位交叉和低位交叉兩種方法的優(yōu)點(diǎn),既解決了沖突問(wèn)題,又能有效地提高容錯(cuò)能力和并行性,最適合于向量處理機(jī)結(jié)構(gòu)。
  ?。?)流水線:流水線技術(shù)主要有指令流水線技術(shù)和運(yùn)算流水線技術(shù)兩種。
   指令流水線技術(shù)主要目的是要提高計(jì)算機(jī)的運(yùn)行效率和吞吐率。它主要通過(guò)設(shè)置預(yù)取指令緩沖區(qū)、設(shè)置多功能部件、進(jìn)行內(nèi)部數(shù)據(jù)定向、采取適當(dāng)?shù)闹噶钫{(diào)度策略來(lái)實(shí)現(xiàn)。指令調(diào)度的策略主要有靜態(tài)和動(dòng)態(tài)兩種,靜態(tài)詞度是基于軟件的,主要由編譯器完成,動(dòng)態(tài)詞度是基于硬件的,主要是通過(guò)硬件技術(shù)進(jìn)行。
   運(yùn)算流水線主要有單功能流水線和多功能流水線兩種。其中多功能流水線又可分為靜態(tài)流水線和動(dòng)態(tài)流水線。靜態(tài)流水線技術(shù)只用來(lái)實(shí)現(xiàn)確定的功能,而動(dòng)態(tài)流水線可以在不同時(shí)間重新組合,實(shí)現(xiàn)不同的功能,它除流線連接外,還允許前饋和反饋連接,因此也稱為非線性流水線。這些前饋和反饋連接使得進(jìn)入流水線的相繼事件的詞度變得很不簡(jiǎn)單。由于這些連接,流水線不一定從最后一段輸出。根據(jù)不同的數(shù)據(jù)流動(dòng)模式,人們可以用同一條流水線求得不同功能的值。
   (4)并行計(jì)算機(jī)發(fā)展簡(jiǎn)述
   40年代開(kāi)始的現(xiàn)代計(jì)算機(jī)發(fā)展歷程可以分為兩個(gè)明顯的發(fā)展時(shí)代:串行計(jì)算時(shí)代、并行計(jì)算時(shí)代。每一個(gè)計(jì)算時(shí)代都從體系結(jié)構(gòu)發(fā)展開(kāi)始,接著是系統(tǒng)軟件(特別是編譯器與操作系統(tǒng))、應(yīng)用軟件,最后隨著問(wèn)題求解環(huán)境的發(fā)展而達(dá)到頂峰。創(chuàng)建和使用并行計(jì)算機(jī)的主要原因是因?yàn)椴⑿杏?jì)算機(jī)是解決單處理器速度瓶頸的最好方法之一。
   并行計(jì)算機(jī)是由一組處理單元組成的,這組處理單元通過(guò)相互之間的通信與協(xié)作,以更快的速度共同完成一項(xiàng)大規(guī)模的計(jì)算任務(wù)。因此,并行計(jì)算機(jī)的兩個(gè)最主要的組成部分是計(jì)算節(jié)點(diǎn)和節(jié)點(diǎn)間的通信與協(xié)作機(jī)制。并行計(jì)算機(jī)體系結(jié)構(gòu)的發(fā)展也主要體現(xiàn)在計(jì)算節(jié)點(diǎn)性能的提高以及節(jié)點(diǎn)間通信技術(shù)的改進(jìn)兩方面。
   60年代初期,由于晶體管以及磁芯存儲(chǔ)器的出現(xiàn),處理單元變得越來(lái)越小,存儲(chǔ)器也更加小巧和廉價(jià)。這些技術(shù)發(fā)展的結(jié)果導(dǎo)致了并行計(jì)算機(jī)的出現(xiàn),這一時(shí)期的并行計(jì)算機(jī)多是規(guī)模不大的共享存儲(chǔ)多處理器系統(tǒng),即所謂大型主機(jī)(Mainframe)。IBM360是這一時(shí)期的典型代表。
   到了60年代末期,同一個(gè)處理器開(kāi)始設(shè)置多個(gè)功能相同的功能單元,流水線技術(shù)也出現(xiàn)了。與單純提高時(shí)鐘頻率相比,這些并行特性在處理器內(nèi)部的應(yīng)用大大提高了并行計(jì)算機(jī)系統(tǒng)的性能。伊利諾依大學(xué)和Burroughs公司此時(shí)開(kāi)始實(shí)施IlliacIV計(jì)劃,研制一臺(tái)64個(gè)CPU的SIMD主機(jī)系統(tǒng),它涉及到硬件技術(shù)、體系結(jié)構(gòu)、I/O設(shè)備、操作系統(tǒng)、程序設(shè)計(jì)語(yǔ)言直至應(yīng)用程序在內(nèi)的眾多研究課題。不過(guò),當(dāng)一臺(tái)規(guī)模大大縮小了的16CPU系統(tǒng)終于在1975年面世時(shí),整個(gè)計(jì)算機(jī)界已經(jīng)發(fā)生了巨大變化。
   首先是存儲(chǔ)系統(tǒng)概念的革新,提出虛擬存儲(chǔ)和緩存的思想。IBM360/85系統(tǒng)與360/91是屬于同一系列的兩個(gè)機(jī)型,360/91的主頻高于360/85,所選用的內(nèi)存速度也較快,并且采用了動(dòng)態(tài)調(diào)度的指令流水線;但是,360/85的整體性能卻高于360/91,唯一的原因就是前者采用了緩存技術(shù),而后者則沒(méi)有。
   其次是半導(dǎo)體存儲(chǔ)器開(kāi)始代替磁芯存儲(chǔ)器。最初,半導(dǎo)體存儲(chǔ)器只是在某些機(jī)器被用作緩存,而CDC7600則率先全面采用這種體積更小、速度更快、可以直接尋址的半導(dǎo)體存儲(chǔ)器,磁芯存儲(chǔ)器從此退出了歷史舞臺(tái)。與此同時(shí),集成電路也出現(xiàn)了,并迅速應(yīng)用到了計(jì)算機(jī)中。元器件技術(shù)的這兩大革命性突破,使得IlliacIV的設(shè)計(jì)者們?cè)诘讓佑布约安⑿畜w系結(jié)構(gòu)方面提出的種種改進(jìn)都大為遜色。
   1976年CRAY-1問(wèn)世以后,向量計(jì)算機(jī)從此牢牢地控制著整個(gè)高性能計(jì)算機(jī)市場(chǎng)15年。CRAY-1對(duì)所使用的邏輯電路進(jìn)行了精心的設(shè)計(jì),采用了我們?nèi)缃穹Q為RISC的精簡(jiǎn)指令集,還引入了向量寄存器,以完成向量運(yùn)算。這一系列全新技術(shù)手段的使用,使CRAY-1的主頻達(dá)到了80MHz。
   微處理器隨著機(jī)器的字長(zhǎng)從4位、8位、16位一直增加到32位,其性能也隨之顯著提高。正是因?yàn)榭吹搅宋⑻幚砥鞯倪@種潛力,卡內(nèi)基-梅隆大學(xué)開(kāi)始在當(dāng)時(shí)流行的DECPDP11小型計(jì)算機(jī)的基礎(chǔ)上研制成功一臺(tái)由16個(gè)PDP11/40處理機(jī)通過(guò)交叉開(kāi)關(guān)與16個(gè)共享存儲(chǔ)器模塊相連接而成的共享存儲(chǔ)多處理器系統(tǒng)C.mmp。
   從80年代開(kāi)始,微處理器技術(shù)一直在高速前進(jìn)。稍后又出現(xiàn)了非常適合于SMP方式的總線協(xié)議,而伯克利加州大學(xué)則對(duì)總線協(xié)議進(jìn)行了擴(kuò)展,提出了Cache一致性問(wèn)題的處理方案。從此,C.mmp開(kāi)創(chuàng)出的共享存儲(chǔ)多處理器之路越走越寬;現(xiàn)在,這種體系結(jié)構(gòu)已經(jīng)基本上統(tǒng)治了服務(wù)器和桌面工作站市場(chǎng)。
   同一時(shí)期,基于消息傳遞機(jī)制的并行計(jì)算機(jī)也開(kāi)始不斷涌現(xiàn)。80年代中期,加州理工成功地將64個(gè)i8086/i8087處理器通過(guò)超立方體互連結(jié)構(gòu)連結(jié)起來(lái)。此后,便先后出現(xiàn)了InteliPSC系列、INMOSTransputer系列,IntelParagon以及IBMSP的前身Vulcan等基于消息傳遞機(jī)制的并行計(jì)算機(jī)。
   80年代末到90年代初,共享存儲(chǔ)器方式的大規(guī)模并行計(jì)算機(jī)又獲得了新的發(fā)展。IBM將大量早期RISC微處理器通過(guò)蝶形互連網(wǎng)絡(luò)連結(jié)起來(lái)。人們開(kāi)始考慮如何才能在實(shí)現(xiàn)共享存儲(chǔ)器緩存一致的同時(shí),使系統(tǒng)具有一定的可擴(kuò)展性(Scalability)。90年代初期,斯坦福大學(xué)提出了DASH計(jì)劃,它通過(guò)維護(hù)一個(gè)保存有每一緩存塊位置信息的目錄結(jié)構(gòu)來(lái)實(shí)現(xiàn)分布式共享存儲(chǔ)器的緩存一致性。后來(lái),IEEE在此基礎(chǔ)上提出了緩存一致性協(xié)議的標(biāo)準(zhǔn)。
   90年代以來(lái),主要的幾種體系結(jié)構(gòu)開(kāi)始走向融合。屬于數(shù)據(jù)并行類型的CM-5除大量采用商品化的微處理器以外,也允許用戶層的程序傳遞一些簡(jiǎn)單的消息;CRAYT3D是一臺(tái)NUMA結(jié)構(gòu)的共享存儲(chǔ)型并行計(jì)算機(jī),但是它也提供了全局同步機(jī)制、消息隊(duì)列機(jī)制,并采取了一些減少消息傳遞延遲的技術(shù)。
   隨著商品化微處理器、網(wǎng)絡(luò)設(shè)備的發(fā)展,以及MPI/PVM等并行編程標(biāo)準(zhǔn)的發(fā)布,機(jī)群架構(gòu)的并行計(jì)算機(jī)出現(xiàn)。IBMSP2系列機(jī)群系統(tǒng)就是其中的典型代表。在這些系統(tǒng)中,各個(gè)節(jié)點(diǎn)采用的都是標(biāo)準(zhǔn)的商品化計(jì)算機(jī),它們之間通過(guò)高速網(wǎng)絡(luò)連接起來(lái)。
   今天,越來(lái)越多的并行計(jì)算機(jī)系統(tǒng)采用商品化的微處理器加上商品化的互連網(wǎng)絡(luò)構(gòu)造,這種分布存儲(chǔ)的并行計(jì)算機(jī)系統(tǒng)稱為機(jī)群。國(guó)內(nèi)幾乎所有的高性能計(jì)算機(jī)廠商都生產(chǎn)這種具有極高性能價(jià)格比的高性能計(jì)算機(jī),并行計(jì)算機(jī)就進(jìn)入了一個(gè)新的時(shí)代,并行計(jì)算的應(yīng)用達(dá)到了前所未有的廣度和深度。
   并行計(jì)算機(jī)隨著微處理芯片的發(fā)展,已經(jīng)進(jìn)入了一個(gè)新時(shí)代。目前并行計(jì)算機(jī)的性能已經(jīng)接近100TFLOPS,1000TFLOPS的并行計(jì)算機(jī)正在規(guī)劃之中。我國(guó)并行計(jì)算機(jī)的研制已經(jīng)走在世界前列,正在研制生產(chǎn)100TFLOPS的巨型計(jì)算機(jī)系統(tǒng)。2003年由聯(lián)想公司生產(chǎn)的深騰6800在2003年11月世界TOP500排名中位列第14名,2004年曙光公司生產(chǎn)的曙光4000A在2004年6月的世界TOP500排名中位列第10名,這是我國(guó)公開(kāi)發(fā)布的高性能計(jì)算機(jī)在世界TOP500中首次進(jìn)入前十名,這標(biāo)志著我國(guó)在并行計(jì)算機(jī)系統(tǒng)的研制和生產(chǎn)中已經(jīng)趕上了國(guó)際先進(jìn)水平,為提高我國(guó)的科學(xué)研究水平奠定了物質(zhì)基礎(chǔ)。
   從TOP500的前10名來(lái)看,美國(guó)仍然是超級(jí)計(jì)算機(jī)的最大擁有者。按照世界TOP500的統(tǒng)計(jì)數(shù)據(jù)來(lái)分析,美國(guó)在計(jì)算能力上占有近全世界的一半,在TOP500中的所有計(jì)算機(jī)中擁有的數(shù)量超過(guò)50%。
   二、分布式文件系統(tǒng)
   分布式文件系統(tǒng)(DistributedFileSystem)是指文件系統(tǒng)管理的物理存儲(chǔ)資源不一定直接連接在本地節(jié)點(diǎn)上,而是通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)與節(jié)點(diǎn)相連。分布式文件系統(tǒng)的設(shè)計(jì)基于客戶機(jī)/服務(wù)器模式。一個(gè)典型的網(wǎng)絡(luò)可能包括多個(gè)供多用戶訪問(wèn)的服務(wù)器。另外,對(duì)等特性允許一些系統(tǒng)扮演客戶機(jī)和服務(wù)器的雙重角色。例如,用戶可以“發(fā)表”一個(gè)允許其他客戶機(jī)訪問(wèn)的目錄,一旦被訪問(wèn),這個(gè)目錄對(duì)客戶機(jī)來(lái)說(shuō)就象使用本地驅(qū)動(dòng)器一樣,下面是三個(gè)基本的分布式文件系統(tǒng)。
   (一)網(wǎng)絡(luò)文件系統(tǒng)
   (NFS)最早由Sun微系統(tǒng)公司作為T(mén)CP/IP網(wǎng)上的文件共享系統(tǒng)開(kāi)發(fā)。Sun公司估計(jì)現(xiàn)在大約有超過(guò)310萬(wàn)個(gè)系統(tǒng)在運(yùn)行NFS,大到大型計(jì)算機(jī)、小至PC機(jī),其中至少有80%的系統(tǒng)是非Sun平臺(tái)。
   (二)Andrew文件系統(tǒng)
   (AFS)結(jié)構(gòu)與NFS相似,由卡內(nèi)基梅隆大學(xué)信息技術(shù)中心(ITC)開(kāi)發(fā)、現(xiàn)由前ITC職員組成的Transarc公司負(fù)責(zé)開(kāi)發(fā)和銷售。AFS較NFS有所增強(qiáng)。
   (三)分布式文件系統(tǒng)
   (DFS)是AFS的一個(gè)版本,作為開(kāi)放軟件基金會(huì)(OSF)的分布分布式文件系統(tǒng)
   式計(jì)算環(huán)境(DCE)中的文件系統(tǒng)部分。
   如果文件的訪問(wèn)僅限于一個(gè)用戶,那么分布式文件系統(tǒng)就很容易實(shí)現(xiàn)??上У氖?,在許多網(wǎng)絡(luò)環(huán)境中這種限制是不現(xiàn)實(shí)的,必須采取并發(fā)控制來(lái)實(shí)現(xiàn)文件的多用戶訪問(wèn),表現(xiàn)為如下幾個(gè)形式:
   只讀共享任何客戶機(jī)只能訪問(wèn)文件,而不能修改它,這實(shí)現(xiàn)起來(lái)很簡(jiǎn)單。
   受控寫(xiě)操作采用這種方法,可有多個(gè)用戶打開(kāi)一個(gè)文件,但只有一個(gè)用戶進(jìn)行寫(xiě)修改。而該用戶所作的修改并不一定出現(xiàn)在其它已打開(kāi)此文件的用戶的屏幕上。
   并發(fā)寫(xiě)操作這種方法允許多個(gè)用戶同時(shí)讀寫(xiě)一個(gè)文件。但這需要操作系統(tǒng)作大量的監(jiān)控工作以防止文件重寫(xiě),并保證用戶能夠看到最新信息。這種方法即使實(shí)現(xiàn)得很好,許多環(huán)境中的處理要求和網(wǎng)絡(luò)通信量也可能使它變得不可接受。
   (三)分布式數(shù)據(jù)庫(kù)
   分布式數(shù)據(jù)庫(kù)系統(tǒng)通常使用較小的計(jì)算機(jī)系統(tǒng),每臺(tái)計(jì)算機(jī)可單獨(dú)放在一個(gè)地方,每臺(tái)計(jì)算機(jī)中都有DBMS的一份完整拷貝副本,并具有自己局部的數(shù)據(jù)庫(kù),位于不同地點(diǎn)的許多計(jì)算機(jī)通過(guò)網(wǎng)絡(luò)互相連接,共同組成一個(gè)完整的、全局的大型數(shù)據(jù)庫(kù)。
   1.簡(jiǎn)介
   這種組織數(shù)據(jù)庫(kù)的方法克服了物理中心數(shù)據(jù)庫(kù)組織的弱點(diǎn)。首先,降低了數(shù)據(jù)傳送代價(jià),因?yàn)榇蠖鄶?shù)的對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)操作都是針對(duì)局部數(shù)據(jù)庫(kù)的,而不是對(duì)其他位置的數(shù)據(jù)庫(kù)訪問(wèn);其次,系統(tǒng)的可靠性提高了很多,因?yàn)楫?dāng)網(wǎng)絡(luò)出現(xiàn)故障時(shí),仍然允許對(duì)局部數(shù)據(jù)庫(kù)的操作,而且一個(gè)位置的故障不影響其他位置的處理工作,只有當(dāng)訪問(wèn)出現(xiàn)故障位置的數(shù)據(jù)時(shí),在某種程度上才受影響;第三,便于系統(tǒng)的擴(kuò)充,增加一個(gè)新的局部數(shù)據(jù)庫(kù),或在某個(gè)位置擴(kuò)充一臺(tái)適當(dāng)?shù)男⌒陀?jì)算機(jī),都很容易實(shí)現(xiàn)。然而有些功能要付出更高的代價(jià)。例如,為了調(diào)配在幾個(gè)位置上的活動(dòng),事務(wù)管理的性能比在中心數(shù)據(jù)庫(kù)時(shí)花費(fèi)更高,而且甚至抵消許多其他的優(yōu)點(diǎn)。
   分布式軟件系統(tǒng)(DistributedSoftwareSystems)是支持分布式處理的軟件系統(tǒng),是在由通信網(wǎng)絡(luò)互聯(lián)的多處理機(jī)體系結(jié)構(gòu)上執(zhí)行任務(wù)的系統(tǒng)。它包括分布式操作系統(tǒng)、分布式程序設(shè)計(jì)語(yǔ)言及其編譯(解釋)系統(tǒng)、分布式文件系統(tǒng)和分布式數(shù)據(jù)庫(kù)系統(tǒng)等。
   分布式操作系統(tǒng)負(fù)責(zé)管理分布式處理系統(tǒng)資源和控制分布式程序運(yùn)行。它和集中式操作系統(tǒng)的區(qū)別在于資源管理、進(jìn)程通信和系統(tǒng)結(jié)構(gòu)等方面。分布式程序設(shè)計(jì)語(yǔ)言用于編寫(xiě)運(yùn)行于分布式計(jì)算機(jī)系統(tǒng)上的分布式程序。一個(gè)分布式程序由若干個(gè)可以獨(dú)立執(zhí)行的程序模塊組成,它們分布于一個(gè)分布式處理系統(tǒng)的多臺(tái)計(jì)算機(jī)上被同時(shí)執(zhí)行。它與集中式的程序設(shè)計(jì)語(yǔ)言相比有三個(gè)特點(diǎn):分布性、通信性和穩(wěn)健性。分布式文件系統(tǒng)具有執(zhí)行遠(yuǎn)程文件存取的能力,并以透明方式對(duì)分布在網(wǎng)絡(luò)上的文件進(jìn)行管理和存取。分布式數(shù)據(jù)庫(kù)系統(tǒng)由分布于多個(gè)計(jì)算機(jī)結(jié)點(diǎn)上的若干個(gè)數(shù)據(jù)庫(kù)系統(tǒng)組成,它提供有效的存取手段來(lái)操縱這些結(jié)點(diǎn)上的子數(shù)據(jù)庫(kù)。分布式數(shù)據(jù)庫(kù)在使用上可視為一個(gè)完整的數(shù)據(jù)庫(kù),而實(shí)際上它是分布在地理分散的各個(gè)結(jié)點(diǎn)上。當(dāng)然,分布在各個(gè)結(jié)點(diǎn)上的子數(shù)據(jù)庫(kù)在邏輯上是相關(guān)的。
   2.主要特點(diǎn)
   多數(shù)處理就地完成;
   各地的計(jì)算機(jī)由數(shù)據(jù)通信網(wǎng)絡(luò)相聯(lián)系;
   克服了中心數(shù)據(jù)庫(kù)的弱點(diǎn):降低了數(shù)據(jù)傳輸代價(jià);
   提高了系統(tǒng)的可靠性,局部系統(tǒng)發(fā)生故障,其他部分還可繼續(xù)工作;
   各個(gè)數(shù)據(jù)庫(kù)的位置是透明的,方便系統(tǒng)的擴(kuò)充;
   為了協(xié)調(diào)整個(gè)系統(tǒng)的事務(wù)活動(dòng),事務(wù)管理的性能花費(fèi)高;
   3.體系結(jié)構(gòu)
   分布式數(shù)據(jù)庫(kù)結(jié)構(gòu)模式圖
   根據(jù)我國(guó)制定的《分布式數(shù)據(jù)庫(kù)系統(tǒng)標(biāo)準(zhǔn)》,分布式數(shù)據(jù)庫(kù)系統(tǒng)抽象為4層的結(jié)構(gòu)模式。這種結(jié)構(gòu)模式得到了國(guó)內(nèi)外的支持和認(rèn)同。
   4層模式劃分為全局外層、全局概念層、局部概念層和局部?jī)?nèi)層,在各層間還有相應(yīng)的層間映射。這種4層模式適用于同構(gòu)型分布式數(shù)據(jù)庫(kù)系統(tǒng),也適用于異構(gòu)型分布式數(shù)據(jù)庫(kù)系統(tǒng)。
   4.數(shù)據(jù)分片類型
  ?。?)水平分片:按一定的條件把全局關(guān)系的所有元組劃分成若干不相交的子集,每個(gè)子集為關(guān)系的一個(gè)片段。
   (2)垂直分片:把一個(gè)全局關(guān)系的屬性集分成若干子集,并在這些子集上作投影運(yùn)算,每個(gè)投影稱為垂直分片。
  ?。?)導(dǎo)出分片:又稱為導(dǎo)出水平分片,即水平分片的條件不是本關(guān)系屬性的條件,而是其他關(guān)系屬性的條件。
  ?。?)混合分片:以上三種方法的混合。可以先水平分片再垂直分片,或先垂直分片再水平分片,或其他形式,但他們的結(jié)果是不相同的。
   條件:
  ?。?)完備性條件:必須把全局關(guān)系的所有數(shù)據(jù)映射到片段中,決不允許有屬于全局關(guān)系的數(shù)據(jù)卻不屬于它的某一個(gè)片段。
  ?。?)可重構(gòu)條件:必須保證能夠由同一個(gè)全局關(guān)系的各個(gè)片段來(lái)重建該全局關(guān)系。對(duì)于水平分片可用并操作重構(gòu)全局關(guān)系;對(duì)于垂直分片可用聯(lián)接操作重構(gòu)全局關(guān)系。
  ?。?)不相交條件:要求一個(gè)全局關(guān)系被分割后所得的各個(gè)數(shù)據(jù)片段互不重疊(對(duì)垂直分片的主鍵除外)。
   5.數(shù)據(jù)分配方式
  ?。?)集中式:所有數(shù)據(jù)片段都安排在同一個(gè)場(chǎng)地上。
  ?。?)分割式:所有數(shù)據(jù)只有一份,它被分割成若干邏輯片段,每個(gè)邏輯片段被指派在一個(gè)特定的場(chǎng)地上。
  ?。?)全復(fù)制式:數(shù)據(jù)在每個(gè)場(chǎng)地重復(fù)存儲(chǔ)。也就是每個(gè)場(chǎng)地上都有一個(gè)完整的數(shù)據(jù)副本。
  ?。?)混合式:這是一種介乎于分割式和全復(fù)制式之間的分配方式。
   目前分布式數(shù)據(jù)庫(kù)分配的設(shè)計(jì),越來(lái)越多的采用尋找最優(yōu)解的算法,比如遺傳算法、退火機(jī)制等。
  ?。ㄋ模┰朴?jì)算平臺(tái)
   云計(jì)算平臺(tái)也成為云平臺(tái)。云計(jì)算平臺(tái)可以劃分為3類:以數(shù)據(jù)存儲(chǔ)為主的存儲(chǔ)型云平臺(tái),以數(shù)據(jù)處理為主的計(jì)算型云平臺(tái)以及計(jì)算和數(shù)據(jù)存儲(chǔ)處理兼顧的綜合云計(jì)算平臺(tái)。
   1.平臺(tái)架構(gòu)
   (1)顯示層
   多數(shù)據(jù)中心云計(jì)算架構(gòu)這層主要是用于以友好的方式展現(xiàn)用戶所需的內(nèi)容,并會(huì)利用到下面中間件層提供的多種服務(wù),主要有五種技術(shù):
   HTML:標(biāo)準(zhǔn)的Web頁(yè)面技術(shù),2013年前主要以HTML4為主,但是將要推出的HTML5會(huì)在很多方面推動(dòng)Web頁(yè)面的發(fā)展,比如視頻[1]和本地存儲(chǔ)等方面。
   JavaScript:一種用于Web頁(yè)面的動(dòng)態(tài)語(yǔ)言,通過(guò)JavaScript,能夠極大地豐富Web頁(yè)面的功能。
   CSS:主要用于控制Web頁(yè)面的外觀,而且能使頁(yè)面的內(nèi)容與其表現(xiàn)形式之間進(jìn)行優(yōu)雅地分離。
   Flash:業(yè)界最常用的RIA(RichInternetApplications)技術(shù),能夠在現(xiàn)階段提供HTML等技術(shù)所無(wú)法提供的基于Web的富應(yīng)用,而且在用戶體驗(yàn)[3]方面,非常不錯(cuò)。
   Silverlight:來(lái)自業(yè)界巨擎微軟[4]的RIA技術(shù),雖然其2013年前的市場(chǎng)占有率稍遜于Flash,但由于其可以使用C#[5]來(lái)進(jìn)行編程,所以對(duì)開(kāi)發(fā)者非常友好。
  ?。?)中間層
   這層是承上啟下的,它在下面的基礎(chǔ)設(shè)施層所提供資源的基礎(chǔ)上提供了多種服務(wù),比如緩存服務(wù)和REST服務(wù)等,而且這些服務(wù)即可用于支撐顯示層,也可以直接讓?xiě)粽{(diào)用,并主要有五種技術(shù);
   REST:通過(guò)REST技術(shù),能夠非常方便和優(yōu)雅地將中間件層所支撐的部分服務(wù)提供給調(diào)用者。
   多租戶:就是能讓一個(gè)單獨(dú)的應(yīng)用實(shí)例可以為多個(gè)組織服務(wù),而且保持良好的隔離性和安全性,并且通過(guò)這種技術(shù),能有效地降低應(yīng)用的購(gòu)置和維護(hù)成本。
   并行處理:為了處理海量的數(shù)據(jù),需要利用龐大的X86集群進(jìn)行規(guī)模巨大的并行處理,Google的MapReduce是這方面的代表之作。
   應(yīng)用服務(wù)器:在原有的應(yīng)用服務(wù)器的基礎(chǔ)上為云計(jì)算做了一定程度的優(yōu)化,比如用于GoogleAppEngine的Jetty應(yīng)用服務(wù)器。
   分布式緩存:通過(guò)分布式緩存技術(shù),不僅能有效地降低對(duì)后臺(tái)服務(wù)器的壓力,而且還能加快相應(yīng)的反應(yīng)速度,最著名的分布式緩存例子莫過(guò)于Memcached。
   2.實(shí)現(xiàn)基礎(chǔ)
  ?。?)企業(yè)的IT基礎(chǔ)架構(gòu)要有一個(gè)集中統(tǒng)一的格局;
  ?。?)信息部門(mén)對(duì)虛擬化技術(shù)要有熟練的應(yīng)用;
  ?。?)要用SOA的理念去理解云計(jì)算,按照服務(wù)來(lái)構(gòu)建應(yīng)用;
  ?。?)要有走向智慧企業(yè)的整體目標(biāo)
   3.服務(wù)特征
  ?。?)服務(wù)無(wú)處不在--用戶只需要一臺(tái)具備基本計(jì)算能力的計(jì)算設(shè)備以及一個(gè)有效的互聯(lián)網(wǎng)連接,就可以隨時(shí)隨地使用該服務(wù)。從這個(gè)意義來(lái)講,任何聯(lián)網(wǎng)的應(yīng)用,都具備成為云計(jì)算平臺(tái)的潛力[2]。
  ?。?)具備進(jìn)入成本--用戶具備使用該服務(wù)的需求,但是并不具備獨(dú)立提供該服務(wù)的經(jīng)濟(jì)或者技術(shù)條件。譬如說(shuō)某些企業(yè)需要定期地進(jìn)行大規(guī)模的運(yùn)算,但是并不值得專門(mén)為此購(gòu)置一臺(tái)具備大規(guī)模運(yùn)算能力的計(jì)算設(shè)備。超算中心通過(guò)發(fā)展客戶群讓多個(gè)用戶來(lái)分擔(dān)超級(jí)計(jì)算機(jī)的成本,使得其用戶能夠在不擁有計(jì)算設(shè)備的情況下以較小的成本完成計(jì)算任務(wù)。
  ?。?)用戶決定應(yīng)用--云計(jì)算平臺(tái)提供計(jì)算能力(包括處理器、內(nèi)存、存儲(chǔ)、網(wǎng)絡(luò)接口),但是并不關(guān)心用戶的應(yīng)用類型。用戶利用云計(jì)算平臺(tái)所提供的計(jì)算能力,并且充分考慮云計(jì)算平臺(tái)所設(shè)定的(技術(shù)和經(jīng)濟(jì))限制,開(kāi)發(fā)出豐富多彩的應(yīng)用。滿足如上幾個(gè)條件的云計(jì)算平臺(tái),又可以按照其所提供服務(wù)之層次細(xì)分為基礎(chǔ)設(shè)施服務(wù)(IaaS,例如在線存儲(chǔ)和數(shù)據(jù)庫(kù)服務(wù))、平臺(tái)即服務(wù)(PaaS,例如AMP虛擬主機(jī)和JavaEE應(yīng)用服務(wù)器容器)和軟件即服務(wù)(SaaS,例如GoogleDocs)。很多廠商在提到云計(jì)算的時(shí)候,往往會(huì)同時(shí)提到分布式計(jì)算(DistributedComputing)、并行計(jì)算(ParalleComputing)、網(wǎng)格計(jì)算(GridComputing)、實(shí)用計(jì)算(UtilityComputing)等等概念。事實(shí)上用戶并不關(guān)心這些五花八門(mén)的新名詞,他們所關(guān)心的僅僅是某項(xiàng)服務(wù)是否可用以及使用該服務(wù)所需要的成本。說(shuō)得難聽(tīng)點(diǎn),這些概念僅僅是云計(jì)算平臺(tái)提供商在創(chuàng)建云計(jì)算平臺(tái)時(shí)才需要了解的技術(shù)細(xì)節(jié),它們可以被認(rèn)為是云計(jì)算的表象,但并不是云計(jì)算的本質(zhì)。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多