自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

并行計算與分布式計算原理

云計算 分布式
雖然并行計算和分布式計算存在細(xì)微的差別,但兩個概念往往可以互換。并行代表一類緊耦合系統(tǒng),而分布式則代表更廣泛的一類系統(tǒng),包括緊耦合系統(tǒng)。

 

云計算是一種新的技術(shù)趨勢,可以更好地利用IT基礎(chǔ)設(shè)施、服務(wù)和應(yīng)用。云計算采用了一種按使用付費的服務(wù)交付模式,用戶無需擁有自己的基礎(chǔ)設(shè)備、平臺或應(yīng)用,只在需要時使用這些服務(wù)即可。串行和并行是兩種基本的主要計算模型。串行計算起源于 20世紀(jì) 40年代,比并行(分布式)計算早了近十年。當(dāng)時,架構(gòu)、編譯器、應(yīng)用程序和問題解決環(huán)境成為計算發(fā)展的四個關(guān)鍵要素。

計算時代的興起離不開硬件架構(gòu)的發(fā)展,最終產(chǎn)生了系統(tǒng)軟件,特別是在編譯器和操作系統(tǒng)領(lǐng)域,實現(xiàn)了系統(tǒng)管理和應(yīng)用開發(fā)。應(yīng)用和系統(tǒng)的研發(fā)是最令人感興趣的地方,當(dāng)設(shè)計出問題解決環(huán)境并且可以為工程師們提供便利時,這種研發(fā)就會被逐漸整合。這標(biāo)志著計算范式已經(jīng)成熟并成為主流。另外,計算時代的每個方面都經(jīng)歷著三個階段;研究和開發(fā)(R&D)、商業(yè)化、商品化。

并行計算與分布式計算

雖然并行計算和分布式計算存在細(xì)微的差別,但兩個概念往往可以互換。并行代表一類緊耦合系統(tǒng),而分布式則代表更廣泛的一類系統(tǒng),包括緊耦合系統(tǒng)。

更準(zhǔn)確地說,并行計算指的是將計算任務(wù)分配給幾個共享相同內(nèi)存的處理器的計算模式。并行計算系統(tǒng)的架構(gòu)通常表現(xiàn)為組件的同構(gòu)性;每個處理器都是相同類型的,且擁有相同的處理性能。共享內(nèi)存有一個獨立的地址空間,可供所有處理器訪問。并行程序被分成若干執(zhí)行單元并分配給不同的處理器,它們之間依靠共享內(nèi)存相互通信。起初,只有具有共享同一物理內(nèi)存的多處理器的架構(gòu)才可稱為并行系統(tǒng)。隨著時間的推移,這些限制條件已經(jīng)放寬,只要是基于共享內(nèi)存這一概念的架構(gòu),無論是物理內(nèi)存系統(tǒng),還是由庫、特定的硬件和高效的網(wǎng)絡(luò)基礎(chǔ)設(shè)施組成的系統(tǒng),都可以稱為并行系統(tǒng)。例如,一個集群中節(jié)點通過無限帶寬網(wǎng)絡(luò)連接,且配置了分布式共享內(nèi)存系統(tǒng),就可以稱作并行系統(tǒng)。

分布式計算是指那些將計算任務(wù)進(jìn)行劃分,并在不同計算單元中同時執(zhí)行的架構(gòu)或系統(tǒng),不論計算單元是不同節(jié)點上的處理器,或是同一計算機(jī)上的處理器,再或是同一處理器中的內(nèi)核。因此,相比并行計算,分布式計算包含的系統(tǒng)和應(yīng)用程序的范圍更廣,是更為通用的概念。盡管沒有規(guī)定,但分布式這一術(shù)語通常意味著計算單元的位置不同,且這些單元在硬件和軟件功能上也可能各不相同。典型的分布式系統(tǒng)實例是計算網(wǎng)格或互聯(lián)網(wǎng)計算系統(tǒng),分布式系統(tǒng)在全球范圍內(nèi)集成各種架構(gòu)、系統(tǒng)和應(yīng)用。

并行處理硬件架構(gòu)

并行處理的核心元素是 CPU。根據(jù)可以同時處理的指令流和數(shù)據(jù)流的數(shù)量,計算機(jī)系統(tǒng)可以分為以下四類:

●單指令流單數(shù)據(jù)流(SISD)系統(tǒng)。

●單指令流多數(shù)據(jù)流(SIMD)系統(tǒng)。

● 多指令流單數(shù)據(jù)流(MISD)系統(tǒng)。

●多指令流多數(shù)據(jù)流(MIMD)系統(tǒng)。

1、SISD系統(tǒng)

SISD 計算系統(tǒng)是一個能在單數(shù)據(jù)流上執(zhí)行單指令的單處理器機(jī)器。在 SISD系統(tǒng)中,機(jī)器指令按順序進(jìn)行處理,因此采用這種模式的計算機(jī)通常稱為序列計算機(jī)。大多數(shù)傳統(tǒng)計算機(jī)采用SISD模型構(gòu)建。所有需要處理的指令和數(shù)據(jù)必須存放在主存儲器上。SISD模型中,處理單元的速度受到計算機(jī)內(nèi)部信息傳遞速率的限制。典型 SISD系統(tǒng)有32 IBM PC、Macintosh 和工作站。

2. SIMD系統(tǒng)

SIMD 計算系統(tǒng)是可以在不同的數(shù)據(jù)流上操作而在多 CPU 上執(zhí)行同一指令的多處理器機(jī)器。由于包括大量的向量和矩陣運算,所以基于 SIMD 模型的機(jī)器適用于科學(xué)計算。例如,語句Ci= Ai×Bi可以傳遞給所有處理單元(PE),向量A和 B中有組織的數(shù)據(jù)元素可以分成多組(N組對應(yīng)N個PE 系統(tǒng)),一個PE可以處理一個數(shù)據(jù)集。

3、MISD 系統(tǒng)

MISD 計算系統(tǒng)是能在同一數(shù)據(jù)集上操作而在不同 PE 執(zhí)行不同指令的多處理器機(jī)器。例如,語句 33y= sin(x) + cos(x) + tan(x)在同一數(shù)據(jù)集上執(zhí)行不同的操作。使用MISD模型構(gòu)建的機(jī)器不適于大多數(shù)應(yīng)用程序,已經(jīng)設(shè)計的幾臺機(jī)器沒有一個可以商業(yè)化,它們更像是智能測試而非實用的配置。


4、MIMD系統(tǒng)

MIMD計算系統(tǒng)是能在多個數(shù)據(jù)集上執(zhí)行多個指令的多處理器機(jī)器。MIMD模型中的每一個 PE 都有單獨的指令和數(shù)據(jù)流,因此使用該模型的機(jī)器適用于所有類型的應(yīng)用程序。與 SIMD 和 MISD模型不同,MIMD機(jī)器中的 PE 是異步工作的。

MIMD 機(jī)器按照 PE 與主存耦合方式不同大致可分為共享內(nèi)存 MIMD 和分布式內(nèi)存 MIMD。

(1)共享內(nèi)存 MIMD計算機(jī)

在共享內(nèi)存 MIMD 模型中,所有執(zhí)行單元都連接到一個可供訪問的單一全局內(nèi)存上?;谶@個模型的系統(tǒng)也稱為緊耦合多處理器系統(tǒng)。模型中 PE 之間通過共享內(nèi)存進(jìn)行通信,一個 PE 修改存儲在全局內(nèi)存中的數(shù)據(jù),對所有其他 PE都是可見的。共享內(nèi)存 MIMD 模型的典型系統(tǒng)主要有 Silicon Graphics 計算機(jī)和 Sun/IBM SMP(對稱多處理器)。

(2)分布式內(nèi)存MIMD計算機(jī)

在分布式內(nèi)存 MIMD 模型中,所有 PE都有一個本地內(nèi)存?;谶@種模型的系統(tǒng)也稱為松耦合多處理器系統(tǒng)。模型中的 PE 之間通過內(nèi)部互聯(lián)網(wǎng)絡(luò)進(jìn)行通信(進(jìn)程間通信通道/ IPC)。PE 之間的網(wǎng)絡(luò)連接可配置成樹狀、網(wǎng)狀、塊狀等。每一個 PE 進(jìn)行異步操作,如果任務(wù)之間需要通信/ 同步,那么可以通過互相交換信息來實現(xiàn)。

共享內(nèi)存 MIMD 架構(gòu)與分布式內(nèi)存 MIMD 模型相比,前者更易編程,但對故障的容忍度更低且更難擴(kuò)展。共享內(nèi)存 MIMD 中的故障會影響整個系統(tǒng),但是分布式模型則不然,分布式模型的每一個 PE 都可以輕易地實現(xiàn)隔離。此外,共享內(nèi)存 MIMD架構(gòu)難以擴(kuò)展,因為增加更多的 PE 會導(dǎo)致內(nèi)存爭用。在分布式內(nèi)存 MIMD 模型中不會出現(xiàn)這種情況,因為每一個 PE 都有自己的內(nèi)存。

分布式系統(tǒng)架構(gòu)和組件

分布式系統(tǒng)是從硬件到軟件的整個計算層次模型中多個組件交互的結(jié)果。許多組件協(xié)同工作,為用戶呈現(xiàn)出一個單一的整體系統(tǒng)。下圖描述了提供分布式系統(tǒng)服務(wù)的不同層的概況。

在底層,計算機(jī)和網(wǎng)絡(luò)硬件構(gòu)成了物理基礎(chǔ)設(shè)施,這些組件由操作系統(tǒng)直接管理。操作系統(tǒng)負(fù)責(zé)提供基礎(chǔ)服務(wù),用于進(jìn)程間通信、進(jìn)程調(diào)度和管理、文件系統(tǒng)和本地設(shè)備的資源管理。將網(wǎng)絡(luò)和計算機(jī)這兩層合并為一個平臺,在這個平臺上配置特定軟件,便可將聯(lián)網(wǎng)計算機(jī)組成一個分布式系統(tǒng)。

把公認(rèn)的標(biāo)準(zhǔn)應(yīng)用到操作系統(tǒng)層甚至硬件網(wǎng)絡(luò)層中,利用異構(gòu)組件可以很容易地構(gòu)造一個統(tǒng)一的集成系統(tǒng)。例如,不同設(shè)備之間的網(wǎng)絡(luò)連接由協(xié)議進(jìn)行控制,實現(xiàn)設(shè)備無縫交互。在操作系統(tǒng)層,進(jìn)程間通信服務(wù)在標(biāo)準(zhǔn)化通信協(xié)議下執(zhí)行,例如 TCP/IP協(xié)議、UDP 協(xié)議等。

中間件層利用這些服務(wù)構(gòu)建了一個開發(fā)和部署分布式應(yīng)用程序的統(tǒng)一環(huán)境。這一層支持分布式系統(tǒng)的編程范式。依靠操作系統(tǒng)提供的服務(wù),中間件層可開發(fā)協(xié)議、數(shù)據(jù)格式以及用于開發(fā)分布式應(yīng)用程序的編程語言或框架。這些為分布式應(yīng)用程序開發(fā)人員提供了統(tǒng)一接口,完全獨立于底層操作系統(tǒng)且屏蔽了底層的異構(gòu)性。

分布式系統(tǒng)層次架構(gòu)的頂層是利用中間件設(shè)計和開發(fā)的應(yīng)用或服務(wù)。設(shè)計應(yīng)用層可實現(xiàn)多個目的,并且具有通過本地或 Web 瀏覽器可訪問的圖形用戶接口(GUI)。例如,在云計算系統(tǒng)中,不論是為終端用戶提供分布式應(yīng)用接口,還是為構(gòu)建分布式系統(tǒng)提供平臺服務(wù),都強(qiáng)烈推薦采用 Web技術(shù)。laaS 的供應(yīng)商給出了很好的實例,如亞馬遜 Web 服務(wù)(AWS)便于創(chuàng)建虛擬機(jī)、將虛擬機(jī)組織成集群以及在集群中部署應(yīng)用和系統(tǒng)。圖 2-11說明了分布式系統(tǒng)的一般參考架構(gòu)如何應(yīng)用于云計算系統(tǒng)。

硬件和操作系統(tǒng)層組成了一個或多個數(shù)據(jù)中心的最基本結(jié)構(gòu),其中服務(wù)器通過高速網(wǎng)絡(luò)部署和連接在一起。這些硬件由操作系統(tǒng)管理,操作系統(tǒng)提供了基本的管理計算機(jī)和網(wǎng)絡(luò)的能力。核心業(yè)務(wù)邏輯在管理虛擬化層的中間件上實現(xiàn),虛擬化部署在物理機(jī)上,以實現(xiàn)最大化資源利用。并目提供可定制的應(yīng)用運行環(huán)培。按照為客戶提供的服務(wù)類利。中間件為應(yīng)用開發(fā)人員提供了不同的工具。這些工具通過 Web 2.0 兼容接口提供了—系列服務(wù),包括電擬機(jī)創(chuàng)建、應(yīng)用程序開發(fā)和運行環(huán)境部署。

 

責(zé)任編輯:姜華 來源: 架構(gòu)師技術(shù)聯(lián)盟
相關(guān)推薦

2011-12-30 15:01:36

淘寶

2010-06-11 08:52:17

并行計算

2010-04-02 10:26:14

云計算

2024-03-01 09:53:34

2010-03-22 14:45:40

云計算

2017-09-01 05:35:58

分布式計算存儲

2023-03-09 11:35:40

2013-03-26 13:43:08

Java分布式計算

2012-09-19 14:09:20

Hadoop開源

2023-10-26 18:10:43

分布式并行技術(shù)系統(tǒng)

2014-04-24 10:25:15

2010-03-19 17:23:45

云計算

2012-07-06 09:27:02

云計算分布式服務(wù)器負(fù)載均衡

2021-04-15 11:04:13

云計算分布式邊緣計算邊緣計算

2011-04-21 09:13:14

并行計算

2012-08-17 09:32:52

Python

2022-06-21 08:27:22

Seata分布式事務(wù)

2009-12-18 09:38:27

.NET 4.0并行計

2011-04-20 17:15:21

并行計算

2015-08-26 10:18:40

hbase
點贊
收藏

51CTO技術(shù)棧公眾號