在計算機早期,都是由一臺主機承擔全部存盤和計算作業,這種方式被稱為集中處理,后來隨著處理器發展和網路出現,衍生出客戶機/服務器架構,即由服務器完成主要的存盤計算作業,客戶機則負責較弱的存盤計算和顯示作業,到了今天,客戶機的角色未變,但是存盤計算作業已經不是單臺服務器所能承載,需要由一堆服務器共同完成,這也就是通常說的集群架構,
現在我們所說的分布式計算,主要是指集群架構下的分布式計算作業,這種作業要求從某個客戶機節點出發,將一個計算作業分割成若干小的子任務,分配給多臺服務器節點去處理,并從這些服務器獲得結果的計算程序,
由于分布式計算整合了大量計算機,處理效果遠超單點計算,自帶高性能和高效率光環,這些年隨著各行業加速向數字化轉移,產生的資料越來越多,資料業務復雜度也在同步增加,促使各行業對計算性能和計算效率的要求越來越高,必須使用分布式計算來完成日益龐大和復雜的計算作業,
所有分布式計算,拋開各種分布式計算模型表面的包裝,回歸計算本質,都可以分解成“分散”和“聚合”兩個動作,執行順序是先分散再聚合,更加復雜的,為了提高分布式計算效率,會運用迭代技術,持續將上階段計算結果傳輸給下個階段,滾動地進行分散計算和聚合計算,最終得出計算結果,
在分散和聚合基礎上,已經衍生出許多分布式計算模型,比如谷歌的MapReduce,就屬于比較簡單的分布式計算模型,最初是用在它的搜索引擎上,后來也被Hadoop采用,用于大資料處理,Spark的分布式計算模型就復雜一些,因為它能夠同時操作多個Map任務和Reduce任務一起作業,Laxcus更進一步,將分布式計算和計算機硬體整合起來,發展成一個分布式作業系統,它的分布式軟體工具包(DSDK)里面,針對不同的分布式計算業務,封裝了多種分布式計算模型,同樣它也提供可以迭代運行技術,支持持續地處理分布式計算,

(基本是最簡單的分布式計算)
分布式計算的“分散”,指的是從一個節點出發,把指令或者資料傳遞到多個節點上運行,按照某種計算規則,驅動這些節點生成計算結果,“聚合”是對結果資料的編排和匯總,根據不同的需求,聚合又分為對資料本身的聚合和對元資料的聚合,
對資料本身的聚合比較容易理解,就是把相同性質的資料放到一起進行處理,比如MPP資料庫,當Select執行Group by和Order by操作時,就需要先提取多個節點上的同質資料,經過匯集后,再進行分組計算和排序計算,
元資料的聚合通常發生在資料聚合前,這是一種預處理操作,要求按照某種預定的規則,對不同性質的資料進行磁區,磁區后產生的對原來資料集合的映射,就是元資料,
元資料產生在迭代計算程序中,這種資料屬于中間資料,被用來做為輸入提供給下個階段使用,元資料現在被各種分布式計算模型普遍使用,因為這些分布式計算模型都需要提高計算效率,最后都統一了選擇這種小樣本管理大資料的策略,
面對不同的業務,元資料的格式和內容雖然多種多樣,但是有兩個引數是必須具有的:1. 標記元資料唯一性的散列碼,2. 產生元資料的節點,這兩個引數保證分布式計算程序中,每一塊資料都能夠被定位和識別,
現在各種分布式計算框架,基本都提供元資料編程介面,允許開發者自己定義元資料,象Laxcus集群作業系統,它的分布式軟體開發工具包里面,每套分布式計算模型都有對應的元資料編程介面,同樣也支持開發者在即有規則上,定義自己的元資料規范,這樣做,即簡化了開發分布式應用軟體的難度,也給開發者帶來更多靈活性和開發便利,
為了更好地提升計算效率和節省計算資源,所有分布式計算模型都會建議開發者采用“移動計算”,減少“移動資料計算”,這個概念現在很少有人提及,但是非常重要,所以要說一說,
移動計算就是在產生資料本身的節點上進行計算,移動資料計算需要把資料搬運到指定的目標節點上,再進行計算作業,相比移動資料計算,移動計算省略了資料在網路中的傳輸開銷,計算效率會大大提高,
但是完全擺脫移動資料計算也是不可能的,因為分布計算程序中,一旦涉及資料的編組、排列、匯總等計算作業,就需要把若干節點的資料傳遞到指定的目標節點上,網路資料傳輸作業不可避免,目前很多分布式計算執行程序中,相當大的一部分時間會被資料傳輸占用,而計算作業處于空置狀態,所以為了減少時延提高計算效率,各種分布式計算模型也在用各種辦法改進網路通信效率,
在改善網路通信效率方面,尤其以Laxcus做得最為出色,它提供了一套類似5G Massive MIMO的多通道傳輸技術,同時還有人工智能技術輔助管控通信設備和網路流量,資料傳輸的穩定性可靠性非常高,在對比測驗中,在網路基礎環境不變情況下,它比更早期不支持多通道的資料傳輸,改進后的通信效率能夠提升5-20倍,這是一種非常有前景的技術,也是目前所有分布式計算模型中獨樹一幟的,
(多點連接,多通道并行,資料傳輸效果會更好)
現在的分布式計算,無論是理論、技術,還是產品和使用上,都已經日臻完善,它的未來發展趨勢,正在以肉眼可見的速度,快速向軟體化方向,特別是當Laxcus這樣的分布式作業系統出現后,由于有了統一和標準化的基礎平臺,更容易部署和使用分布式應用軟體,目前這股發展趨勢已經非常明顯,象高速空氣流體、基因工程、生物醫藥、人工智能的計算作業,都重度依賴大規模分布式計算和它的基礎平臺,一旦分布式計算全面應用軟體化,整個市場都會發生巨大變化,這些好處,我總結一下,大概有以下三點:
1. 有了統一的標準平臺,就意味著,只是作業系統不改變,應用軟體放在哪里都可以運行,不象現在各家云服務商自己建立一套,導致互相不兼容,應用軟體遷移難度非常大,而企業如果不上云,就需要自己搭建基礎平臺,建設成本非常高,
2. 分布式應用軟體的開發會更加規范,同時也意味著開發成本更低,這方面可以參考安卓、IOS、Windows上的開發經驗,
3. 形成生態,產生更大的新的市場,分布式應用在沒有軟體化之前,主要以解決方案的方式出現,這種模式重度依賴特定企業和特定目標群體,無論開發成本還是使用成本都非常高,而且市場容量有限,現在有了分布式作業系統,應用軟體的開發作業可以快速下沉到個體開發者,以當前分布式計算蓬勃的發展勢頭,一旦把海量個體開發者群體納入進來,與市場上各種需求對接,形成用戶與開發者的良性互動,就會出現供需市場,當用戶有了更多更豐富的分布式應用軟體可供選擇,市場就會發展起來,最終通過市場規模的持續擴大,就會形成分布式應用生態,同理參考這十年手機生態的發展歷程,
所以說,分布式計算的發展趨勢是應用軟體化和生態化,也是它的最終形態,
未來結果如何,各位拭目以待吧!歡迎大家在下方評論!

(Laxcus集群作業系統桌面,類似Windows,客戶端遠程操控集群上運行的分布式應用軟體)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/285799.html
標籤:其他
