個人超級電腦是一個新概念,目前這個市場類似上世紀70年的PC革命時代。本篇是回答一位用戶提問,LAXCUS分散式操作系統如何成為一臺“個人超級電腦”。 ...
這篇文章是回答一位用戶的問題。
問:站長,我是一個在讀研究生,正在學習分散式計算、高性能集群計算方面的知識,Laxcus分散式操作系統也是我的學習模板之一,但是我發現,無論是編程開發還是使用操作,Laxcus和Slurm、HTCondor都非常不一樣,請問站長,Laxcus的產品定位是什麼,我應該怎麼理解Laxcus分散式操作系統?
答:你這個問題很大!以前大家都在問各種技術,現在有人開始探討Laxcus分散式操作系統背後的產品設計和理念了,是不是我們的問答欄目升級了^_^?那我就來試著答一下。
先說產品定位。Laxcus分散式操作系統的目標,就是通過硬體的電腦集群和軟體的分散式技術,把原來高高在上的超級電腦投送到個人用戶手上,打造一臺每個人都會用,每個人都用戶得起的“個人超級電腦”,換句話說,這就是一個“個人超算”,或者說是“桌面起算”。
這麼說是有它的理由的。這十年裡,隨著雲計算產業的掘起,原來大規模、超大規模存儲計算的硬體環境,已經從大型機、高性能伺服器、超級電腦,切換到雲服務平臺和PC伺服器上面。Laxcus分散式操作系統順應了這股潮流,通過新的網路通信技術和軟體技術,把低端硬體設備連接起來,再結合虛擬化技術、冗餘容錯等手段,將大規模、超大規模的存儲計算成本,降到白菜價價格。
另外在ICT應用市場,也有幾個明顯的變化:1. 應用業務向雲端遷移已經是大勢所趨。2. 用戶對存算一體的需求越來越大,越來越複雜,同時對降本增效的要求越來越高;3.這些業務,越來越需要大量電腦聯機處理,這些原來屬於企業級業務,但是實際上隨著各種“智慧型”業務向個體場景遷移延伸,也為“個人超算”提供了大量市場機會。所以Laxcus分散式操作系統也在藉著這股東風,深度嵌入這個新興市場。
現在“個人超算”這個市場環境,有點象上世紀70年代的PC革命,當年的喬布斯,就是看到了個人電腦市場的巨大潛力,通過重新設計的硬體和軟體,把電腦從高不可攀的地位拉下來,讓每個人對電腦用得起、用得上,大家對電腦不再仰望。這樣的市場一旦出現,產業生態也就會隨之跟上建立起來。目前的“個人超算”市場,其實也適用這個道理。
所以說,我們把Laxcus分散式操作系統打造成一臺“個人超算”,是有它的緣由和背景的。Laxcus的目標和PC革命一樣,讓每個人對超級電腦不再“高山仰止”,使每個人面對超級電腦時,都能用得起、用得上。
再來說軟體。
Laxcus分散式操作系統的本質仍然是軟體,只不過它是能夠運行應用軟體的基礎軟體。
在這一點上,Laxcus分散式操作系統和Windows、Linux是一樣的,都是應用軟體的運行平臺。所不一樣的是,在Laxcus是一個多機操作系統,同時管理很多台電腦。這個平臺上,運行的都是分散式應用軟體,而Windows、Linux是單機操作系統,只能管理一臺電腦,上面的軟體是單機應用軟體,只能在一臺電腦上運行。
由於Laxcus本身的分散式特點和支持能力,在Laxcus上運行的應用軟體,應用軟體的並行處理規模、算力消耗、數據處理效率,要比單機操作系統上的應用軟體大得多,而且隨著電腦節點數量增加,處理能力也是呈指數級放大的。
Laxcus分散式應用軟體,鏈接了終端、邊緣端、雲端,多端協同,驅動數據、算力、機器演算法,處理大規模、超大規模存儲計算工作。
這是Laxcus做為多機操作系統,和Windows、Linux這些單機操作系統最大的區別。
咱們再來說說你提到的Slurm、HTCondor。
Slurm本質是一個並行任務調度器,所做工作是調配並行運行的應用軟體。編寫接受Slurm調度的應用軟體,需要使用它的MPI。這個開發工作其實是比較複雜的,需要非常熟悉Slurm和MPI開發者才能掌握,你做為學習者,感觸肯定比我深。另外在Slurm上運行應用軟體,也需要專業人士來操作,普通人很難做到這一點。
而Laxcus就不一樣了,它做一個分散式操作系統,有自己完整的技術功能體繫結構,也包括圖形操作界面、字元操作界面。對開發者來說,編程基礎是DSDK(分散式軟體工具包),使用DSDK的編程難度要比MPI容易很多。很多的基礎功能,比如網路通信、業務流、工作流的調度分配,都是由系統來完成。編程體驗方面,用DSDK開發更接近於編程單機應用軟體。開發者只需要根據DSDK,將應用業務嵌入編程介面,在配置腳本中指定分派工作流程,開發工作就基本完成。大大節省的開發時間提高了開發效率。在使用操作方面,因為有圖形桌面的存在,Laxcus分散式應用軟體也都是圖形化界面,任何用過Windows的用戶都不會陌生,所以使用難度也降低了一個等級。
如果將二者對比,可以這樣說,Slurm提供的並行任務調度器功能,在Laxcus分散式操作系統的Call節點上有相應的實現。而Laxcus包含的很多技術和功能,Slurm是不具備的。HTCondor也是類似的情況。
所以無論從哪個方面來說,Laxcus和Slurm、HTCondor都不是一個維度的產品。
最後咱們從使用角度,來說說Laxcus分散式操作系統,為什麼是一臺“個人超算”。
請看下麵這兩張圖片,分別是Laxcus分散式操作系統的拓撲結構和Laxcus圖形桌面。在Laxcus拓撲環境里,圖形桌面屬於前端,位於Front節點,而Front節點後面,有一整個電腦集群來支撐它的運行。這個電腦集群規模是彈性變化的,可以從幾台電腦,到幾十萬、上百萬台電腦。它能夠輸出的龐大算力,是Windows、Linux這些單機操作系統無法比擬的,這也是Laxcus做為多機操作系統的巨大優勢所在。它能夠瞬間完成很多Windows、Linux無法完成的存儲計算工作,起碼是Windows、Linux短時間不能完成的工作。
Laxcus分散式操作系統拓撲結構
Laxcus分散式操作系統圖形桌面
用戶進入Laxcus電腦集群的流程是這樣:首先需要啟動桌面進行登錄,輸入參數登錄成功後,Laxcus分散式操作系統中的後端的電腦集群,為登錄用戶分配一個虛擬的電腦集群。虛擬電腦集群的本質就是從物理電腦集群環境里,分出一段空間,獨享給登錄者使用。虛擬電腦集群,在用戶登錄時分配,用戶註銷退出後釋放。這個釋放回收的虛擬電腦集群,會進入Laxcus分散式操作系統的運行隊列,留待分配給下一個登錄者使用。從而實現了最大化復用電腦集群資源,讓儘可能多的人接觸使用到超級電腦,同時降低使用成本的目的。做為操作系統,Laxcus分散式操作系統的這個特點,是Windows、Linux不具備的。
下麵再演示一下Laxcus分散式應用軟體是如何運行的。因為圖形界面把一些功能隱去了,為了更好理解,咱們通過字元界面和命令行,再結合Laxcus拓撲結構圖,來解釋分散式應用軟體運行過程。
首先我們需要在字元界面的分散式終端上啟動應用軟體,命令是“RUN DAPP”,在命令後面,是一個分散式應用軟體的組件名稱,本次顯示分散式排序,輸入“BENCHMARK.SORT”這個名稱。
然後是輸入參數,包括生成數據的節點數量,排序數據的節點數量,排序數據容量、升序/降序的選擇,是不是使用GPU參與排序。這些參數輸入完成後,圖形桌面通過系統底層的DSDK介面和網路,以RPC方式投遞給Laxcus集群的Call節點,Call節點將為它分配資源,整個過程類似Slurm上的處理,只不過這些工作對用戶完全透明。
這個分散式處理工作的具體執行是:Data節點的From階段產生排序數據,經過重組後,分配到Work節點的To階段執行。Work節點在Laxcus分散式操作系統里,是專門用來執行計算工作的節點,而Data節點則是用來存儲數據的節點。它們的分散式排序工作,由Call節點進行協調,Work節點的To階段工作支持迭代處理,直到最後把排序計算工作處理完畢,再由Call節點把結果反饋到Front節點的圖形桌面,顯示在屏幕上面。一個分散式計算工作正式完成。
一個Laxcus簡單的分散式應用軟體,涉及分散式調度、分散式存儲、分散式計算等分散式領域所有基礎工作
Laxcus分散式操作系統整個的計算工作,因為基礎硬體成本、電腦集群資源復用、運維成本、軟體開發成本、用戶學習成本,結合起來的綜合成本,相比專業的超級電腦、HPC、Slurm、HTCondor等硬軟體的組合,它的成本更低。而用戶的操作體驗,也比它們更容易更簡單,更方便普通用戶的操作使用。
以上就是對Laxcus分散式操作系統的產品、設計、技術、功能等問題的解答,不知道是不是滿意?
其實還有一點隱情,目前我們國家在ICT領域被處處卡脖子,從CPU、FP加速卡,到光刻機、晶圓、EDA軟體無一例處,如果我們從基礎軟體領域發力,通過組合低性能硬體設備,獲得高擴展能力,解決基礎算力問題,那麼最終目標的各種高性能計算問題,大規模、超大規模存儲計算工作也就迎刃而解了。這也是Laxcus分散式操作系統堅持持續研發的另一個主要動力,而且我們也已經做到了,得到了市場的充分驗證。
Laxcus是一個開源、容錯、高擴展、多人共用、多機協同分佈運行的操作系統,支持百萬級節點規模的電腦集群、億級用戶線上。通過分散式應用軟體,處理大規模、超大規模的存儲和計算工作。