當前位置:首頁 » 算力簡介 » 分布式計算算力出租

分布式計算算力出租

發布時間: 2021-05-17 12:48:16

『壹』 分布式計算怎麼出現的

分布式計算可以分為以下幾類:

傳統的C/S模型。如HTTP/FTP/SMTP/POP/DBMS等伺服器。客戶端向伺服器發送請求,伺服器處理請求,並把結果返回給客戶端。客戶端處於主動,伺服器處於被動。這種調用是顯式的,遠程調用就是遠程調用,本地調用就是本地調用,每個細節你都要清楚,一點都含糊不得。

集群技術。近年來PC機的計算能力飛速發展,而伺服器的計算能力,遠遠跟不上客戶端的要求。這種多對一的關系本來就不公平,人們已經認識到靠提高單台伺服器的計算能力,永遠滿足性能上的要求。一種稱集群的技術出現了,它把多台伺服器連接起來,當成一台伺服器來用。這種技術的好處就是,不但對客戶來說是透明的,對伺服器軟體來說也是透明的,軟體不用做任何修改就可以在集群上運行。集群技術的應用范圍也僅限於此,只能提高同一個軟體的計算能力,而對於多個不同的軟體協同工作無能為力。

通用型分布式計算環境。如CORBA/DCOM/ RMI/ DBUS等,這些技術(規范)差不多都有具有網路透明性,被調用的方法可能在另外一個進程中,也可能在另外一台機器上。調用者基本上不用關心是本地調用還是遠程調用。當然正是這種透明性,造成了分布式計算的濫用,分布式計算用起來方便,大家以為它免費的。實際上,分布式計算的代價是可觀的,據說跨進程的調用,速度可能會降低一個數量級,跨機器的調用,速度可能降低兩個數量級。一些專家都建議減少使用分布式計算,即使要使用,也要使用粗粒度的調用,以減少調用的次數。

還其一些混合形式(SOAP?),這里不再多說。我們主要介紹第三種分布式模型,這類分布式模型即適用於企業級應用,也適用於桌面應用。有的專注於企業級應用(如CORBA),有的專注於桌面環境(如DBUS)。它們的實現原理都差不多,基本上都基於傳統的RPC或者仿RPC實現的,下面介紹一下它們的基本原理。

我們先看一下分布式的最簡模型:

在傳統的方法中,調用一個對象的函數很簡單:創建這個對象,然後調用它的函數就行了。而在分布式的環境中,對象在另外一個進程中,完全在不同的地址空間里,要調用它的函數可能有點困難了。

看看傳統的C/S模型的請求方式,客戶端把參數通過網路發給伺服器,伺服器根據參數要求完成相應的服務,然後把結果返回給客戶端,客戶端拿到結果了,一次請求算完成。由此看來,調用遠程對象似乎並不難,問題在於這種方式不是網路透明的,每一個細節你都要自己處理,非常復雜。

要簡化軟體的設計,當然是網路操作透明化,調用者和實現者都無需關心網路操作。要做到這一點,我們可以按下列方法:

在客戶端要引入一個代理(Proxy)對象。它全權代理實際對象,調用者甚至都不知道它是一個代理,可以像調用本地對象一樣調用這個對象。當調用者調用Proxy的函數時,Proxy並不做實際的操作,而是把這些參數打包成一個網路數據包,並把這個數據包通過網路發送給伺服器。

在伺服器引入一個樁(Stub)對象,Stub收到Proxy發送的數據包之後,把數據包解開,重新組織為參數列表,並用這些參數就調用實際對象的函數。實際對象執行相關操作,把結果返回給Stub,Stub再把結果打包成一個網路數據包,並把這個數據包通過網路發送給客戶端的Proxy。

Proxy收到結果數據包後,把數據包解開為返回值,返回給調用者。至此,整個操作完成了。怎麼樣,簡化吧。

Proxy隱藏了客戶端的網路操作,Stub隱藏了伺服器端的網路操作,這就實現了網路透明化。你也許會說,根本沒有簡化,只是把網路操作隔離開了,仍然要去實現Proxy和Stub兩個對象,一樣的麻煩。

沒錯。不過仔細研究一下Proxy和Stub的功能,我們會發現,對於不同對象,這些操作都差不多,無非就是打包和解包而已,單調重復。單調重復的東西必然有規律可循,有規律可循就可以用代碼產生器自動產生代碼。

像DCOM和CORBA等也確實是這樣做的,先用IDL語言描述出對象的介面,然後用IDL編譯器自動產生Proxy和Stub代碼,整個過程完全不需要開發人員操心。

打包和解包的專業術語叫做marshal和unmarshal,中文常用翻譯為列集和散集。不過這兩個詞太專業了,翻譯成中文之後更加讓人不知所雲。我想還是用打包和解包兩個詞更通俗一點。

在以上模型中,調用對象的方法,確實做到了網路透明化。讀者可以會問,我要訪問對象的屬性怎麼辦呢?對象的屬性就是變數,變數就一塊內存區域,內存區域在不同的進程里完全是獨立的,這看起來確實是一個問題。還記得很多關於軟體設計書籍裡面講過的嗎:不要暴露對象屬性,調用者若要訪問對象的屬性,通過get/set方法去訪問。這樣不行了嗎,對屬性的訪問轉換為對對象方法的調用。

OK,調用對象的方法和訪問對象的屬性都解決了。還有重要的一點,如何創建對象呢。因為實際的對象並不固定在某台機器上,它的位置可能是動態的。甚至Proxy本身也不知道Stub運行在哪裡。如果要讓調用者來指定,創建對象的過程仍未達到網路透明化。通常的做法是引入一個第三方中介,這個第三方中介是固定的,可以通過一定的方法找到它。第三方中介負責在客戶端的Proxy和伺服器的Stub之間穿針引線。第三方中介通常有兩種:一種是只負責幫客戶端找到伺服器,之後客戶端與伺服器直接通信。另外一種就是不但負責找到伺服器,而且負責轉發所有的請求。

以上的模型仍然不完整,因為現實中的對象並不是一直處理於被動的地位。而是在一定的條件下,會主動觸發一些事件,並把這些事件上報給調用者。也就是說這是一個雙向的動作,單純的C/S模型無法滿足要求,而要採用P2P的方式。原先的客戶端同時作為一個伺服器存,接受來自己伺服器的請求。像COM里就是這樣做的,客戶端要注冊對象的事件,就要實現一個IDispatch介面,給對象反過來調用。

自己實現時還要考慮以下幾點:

l 傳輸抽象層。分布可能是跨進程也可能是跨機器。在不同的情況下,採用不同的通信方式,性能會有所不同。做一個傳輸抽象層,在不同的情況下,可選用不同的傳輸方式,是一種好的設計。

l 文本還是二進制。把數據打包成文本還是二進制?打包成文本的好處是,可移植性好,由於人也可以看懂,調試方便。壞處是速度稍慢,打包後的數據大小會明顯變大。採用二進制的好處是,速度快,打包後的數據大小與打包前相差不大。壞處是不易調試,可移植性較差。

l 位元組順序和位元組對齊。若採用二進制方式傳輸,可移植性是個問題。因為不同的機器上,位元組順序和位元組對齊的方式都有些差異,在數據包中要加入這些說明,以提高可移植性。

『貳』 分布式計算的介紹

分布式計算是一種計算方法,和集中式計算是相對的。隨著計算技術的發展,有些應用需要非常巨大的計算能力才能完成,如果採用集中式計算,需要耗費相當長的時間來完成。分布式計算將該應用分解成許多小的部分,分配給多台計算機進行處理。這樣可以節約整體計算時間,大大提高計算效率。

『叄』 雲計算、分布式計算、並行計算有什麼區別與聯系

說下我的理解,我理解的也比較淺顯。 雲計算,就是很多台主機同時提供服務,由於同一個服務有很多台伺服器提供,就像每個服務背後有個雲在支撐。分布式計算,由於一台計算機的計算能力有限,所以把傳統上的計算任務通過負載均衡伺服器將任務劃分成若干個子任務,然後分別交給不同的計算機去進行計算,最後再把結果統一起來。並行計算,按字面意思理解就行了。 追問: 你說的這些我能理解。我主要想問,作為 碩士 研究方向,其之間的關系具體怎麼樣。 回答: 我自己感覺,都是圍繞著 雲計算 來發展的。雲計算其實就是 分布式計算 。通過分散的伺服器同時對 很多 公司個人提供服務。這樣就會使資源得到充分的利用。我相信 你也知道為什麼。 並行計算 我覺得重在強調一個協調能力。一般性 的計算,不僅僅是劃分任務的問題,因為時間效率的問題,所以要保證各個任務能幾乎在同一時間完成,防止出現這台伺服器計算完了,還要等另一台計算完,分布式計算再加上並行計算,這才是真正的雲計算。不過現在說這些計算的時候,其實已經是三者等同了。只是個人膚淺 的理解。 如果真想在這方向發展,建議多上CSDN看看。現在雲計算非常盛行,各個大公司都在做。

『肆』 除了Hadoop 還有哪些分布式計算平台優勢各自是什麼

大致說一下目前在工業界(學術界)里比較流行的幾種分布式計算框架(平台):

1:MapRece(MR),最為
general和流行的一個分布式計算框架,其開源實現Hadoop已經得到了極為廣泛的運用(Facebook,
Yahoo!等等),同時在Hadoop基礎上發展起來的項目也有很多(Hive是發展最好的),另外像
Cloudera,Hortonworks,MapR這樣的在Hadoop基礎上發展起來的公司也有很多。
2:Pregel,和MR一樣也是Google發明的,其優勢是在完成一些適合於抽象為圖演算法的應用的計算時可以更為高效,Giraph可以算是一個比較好的發展中的開源實現。
3:Storm,Twitter的項目,號稱Hadoop的實時計算平台,對於一些需要real time performance的job可以擁有比MR更高的效率。
4:Spark,UC Berkeley AMPLab的項目,其很好地利用了JVM中的heap,對於中間計算結果可以有更好的緩存支持,因此其在performance上要比MR高出很多。Shark是其基礎上類似於Hive的一個項目。
5:Dryad和Scope,
都是MR(Microsoft Research)的項目,從paper上來看Dryad是一個更為general
purpose的計算框架,在vertices里實現計算,通過channels實現communication,兩者組成一個graph
workflow;而Scope有點類似於Hive和Shark,都是將某種類似於SQL的script
language編譯成可以在底層分布式平台上計算的job。但是這兩個項目因為不開源,所以資料不多,也沒有開源項目那樣的community。

當然還有其他很多,比如Google的Dremel,Yale的HadoopDB(現在已經商業化叫做Hadapt)。

『伍』 海量數據,分布式計算,並行計算 虛擬化與雲計算的關系是怎樣的

您好,海量數據涉及到一些方面。我給你介紹一下
第一點涉及到雲存儲和分布式存儲。第二點涉及到分布式計算和並行計算。
分布式計算和並行計算:並行計算偏科學領域,偏單用戶,單請求,在配置多處理機的伺服器下處理。分布式計算偏多用戶,多請求,涉及多台伺服器多個計算單元的分布式處理。
分布式計算本身又分為兩種,一種是單任務拆分,如maprece來實現;一種是多請求分布式調度,涉及到雲計算paas
還有疑問請追問沒有疑問請採納

『陸』 如何實現分布式計算家裡有三台電腦!本人小白,求簡單的方法。或者直接軟體。

要軟體支持才可以,比如視頻轉碼用mediacoder就可以,

『柒』 海量數據,分布式計算,並行計算 ,虛擬化與雲計算的關系是怎樣的

海量數據涉及到一些方面。我給你介紹一下
第一點涉及到雲存儲和分布式存儲。第二點涉及到分布式計算和並行計算。
分布式計算和並行計算:並行計算偏科學領域,偏單用戶,單請求,在配置多處理機的伺服器下處理。分布式計算偏多用戶,多請求,涉及多台伺服器多個計算單元的分布式處理。
分布式計算本身又分為兩種,一種是單任務拆分,如maprece來實現;一種是多請求分布式調度,涉及到雲計算paas

雲計算中的雲是相對於客戶端而言,其實雲計算本質上是客戶端-伺服器模式,只是在伺服器端通過分布式存儲、虛擬化等技術提供了諸如IaaS、PaaS、SaaS的高可靠服務。
簡單來說:
雲計算只是分布式計算的一種特殊形式,它的特色是資源(計算、存儲)的租用。
網格,也是分布式計算的一種,不過強調的資源的共享與協作。

『捌』 比特幣概念中的分布式計算是什麼

我們知道計算一個簡單的數學問題,比如1+1等於幾,用一台電腦就夠了。但如果要計算一個超級復雜的問題呢?這可以使用多台電腦一起來運算,而如果這些多台電腦都處在互聯網上,那它們如何相互鏈接?如何傳遞消息和通信?如何協調各自的任務和分工?這些問題就是分布式計算系統要解決的事。
分布式系統是一系列電腦,通過網路相互鏈接傳遞消息與通信後並協調它們的行為而形成的系統。電腦之間彼此進行交互以實現一個共同的目標。把需要進行大量計算的工程數據分區成小塊,由多台計算機分別計算,再上傳運算結果後,將結果統一合並得出數據結論的科學。
因為計算能力超強的超級計算機實在是太昂貴了,世界上很多非常復雜的科學問題,就是通過分布式計算來完成的。比特幣就是其中之一。

『玖』 什麼是分布式計算

1,分布式計算是一門計算機科學,它研究如何把一個需要非常巨大的計算能力才能解決的問題分成許多小的部分,然後把這些部分分配給許多計算機進行處理,最後把這些計算結果綜合起來得到最終的結果。 也就是利用互聯網上的計算機的 CPU 的閑置處理能力來解決大型計算問題的一種計算科學。 2,最近的分布式計算項目已經被用於使用世界各地成千上萬位志願者的計算機的閑置計算能力,通過網際網路,您可以分析來自外太空的電訊號,尋找隱蔽的黑洞,並探索可能存在的外星智慧生命;您可以尋找超過1000萬位數字的梅森質數;您也可以尋找並發現對抗艾滋病病毒的更為有效的葯物。這些項目都很龐大,需要驚人的計算量,僅僅由單個的電腦或是個人在一個能讓人接受的時間內計算完成是決不可能的。

『拾』 雲計算和一般分布式計算不同的六大特點是什麼

雲計算技術特點:彌漫性、無所不在的分布性和社會性。它是一種新興的共享基礎架構的方法,可以將巨大的系統池連接在一起以提供各種IT服務。
雲計算並不是六大特徵,而是五大特徵。特徵如下:
1.支持異構基礎資源
雲計算可以構建在不同的基礎平台之上,即可以有效兼容各種不同種類的硬體和軟體基礎資源。硬體基礎資源,主要包括網路環境下的三大類設備,即:計算(伺服器)、存儲(存儲設備)和網路(交換機、路由器等設備);軟體基礎資源,則包括單機操作系統、中間件、資料庫等。
2.支持資源動態擴展
支持資源動態伸縮,實現基礎資源的網路冗餘,意味著添加、刪除、修改雲計算環境的任一資源節點,亦或任一資源節點異常宕機,都不會導致雲環境中的各類業務的中斷,也不會導致用戶數據的丟失。這里的資源節點可以是計算節點、存儲節點和網路節點。而資源動態流轉,則意味著在雲計算平台下實現資源調度機制,資源可以流轉到需要的地方。如在系統業務整體升高情況下,可以啟動閑置資源,納入系統中,提高整個雲平台的承載能力。而在整個系統業務負載低的情況下,則可以將業務集中起來,而將其他閑置的資源轉入節能模式,從而在提高部分資源利用率的情況下,達到其他資源綠色、低碳的應用效果。
3.支持異構多業務體系
在雲計算平台上,可以同時運行多個不同類型的業務。異構,表示該業務不是同一的,不是已有的或事先定義好的,而應該是用戶可以自己創建並定義的服務。這也是雲計算與網格計算的一個重要差異。
4.支持海量信息處理
雲計算,在底層,需要面對各類眾多的基礎軟硬體資源;在上層,需要能夠同時支持各類眾多的異構的業務;而具體到某一業務,往往也需要面對大量的用戶。由此,雲計算必然需要面對海量信息交互,需要有高效、穩定的海量數據通信/存儲系統作支撐。
5.按需分配,按量計費
按需分配,是雲計算平台支持資源動態流轉的外部特徵表現。雲計算平台通過虛擬分拆技術,可以實現計算資源的同構化和可度量化,可以提供小到一台計算機,多到千台計算機的計算能力。按量計費起源於效用計算,在雲計算平台實現按需分配後,按量計費也成為雲計算平台向外提供服務時的有效收費形式。
雲計算(cloud computing)是基於互聯網的相關服務的增加、使用和交付模式,通常涉及通過互聯網來提供動態易擴展且經常是虛擬化的資源。雲是網路、互聯網的一種比喻說法。過去在圖中往往用雲來表示電信網,後來也用來表示互聯網和底層基礎設施的抽象。
因此,雲計算甚至可以讓你體驗每秒10萬億次的運算能力,擁有這么強大的計算能力可以模擬核爆炸、預測氣候變化和市場發展趨勢。用戶通過電腦、筆記本、手機等方式接入數據中心,按自己的需求進行運算。
對雲計算的定義有多種說法。對於到底什麼是雲計算,至少可以找到100種解釋。現階段廣為接受的是美國國家標准與技術研究院(NIST)定義:雲計算是一種按使用量付費的模式,這種模式提供可用的、便捷的、按需的網路訪問, 進入可配置的計算資源共享池(資源包括網路,伺服器,存儲,應用軟體,服務),這些資源能夠被快速提供,只需投入很少的管理工作,或與服務供應商進行很少的交互。

熱點內容
收到假eth幣 發布:2025-10-20 08:58:16 瀏覽:973
暗黑破壞神2eth打孔 發布:2025-10-20 08:42:58 瀏覽:105
BTC和CBT是一樣的嗎 發布:2025-10-20 08:42:57 瀏覽:233
華碩trx40Pro供電 發布:2025-10-20 08:33:26 瀏覽:432
曬人民幣編號的朋友圈 發布:2025-10-20 08:25:32 瀏覽:687
doge格式 發布:2025-10-20 08:02:00 瀏覽:382
以太坊會爆發嗎 發布:2025-10-20 08:01:59 瀏覽:772
一台比特幣礦機的功率 發布:2025-10-20 07:39:24 瀏覽:925
trx輔助帶 發布:2025-10-20 07:35:29 瀏覽:48
比特幣哈希值有多少位 發布:2025-10-20 07:31:20 瀏覽:633