北京2017年5月2日電 /美通社/ -- 技術的發(fā)展迅猛而多變,近幾年,移動互聯網、云計算、大數據、物聯網、人工智能、區(qū)塊鏈等新一代計算技術高速發(fā)展,各領域的細分技術層出不窮。然而,新技術往往都是在云計算的基礎上,回看云計算的發(fā)展,同樣充斥著充滿著變化與創(chuàng)新,IaaS、PaaS、SaaS、CaaS,Openstack、Docker、OpenLava,云管理、彈性計算、高性能計算等等,企業(yè)級云計算正熱火朝天。
近日,天云軟件技術開放日在北京聯合創(chuàng)業(yè)辦公社舉行,來自天云軟件、阿里云、亞信三大企業(yè)級云系統的專家,以及關注云計算的開發(fā)者們齊聚一堂,從IaaS到CaaS,從Openstack到Openlava,從云管理到高性能計算,展開了一場圍繞云系統技術與實踐的探討。
世界的變化,由技術推動
天云軟件CEO張福波博士在開場白中表示,作為一個IT老兵,他見證了海龍大廈從車水馬龍到一片哀鴻,這代表著世界在發(fā)生著快速的變化,科技的發(fā)展同樣如此。從云計算到大數據,從大數據到人工智能、機器學習,新技術不斷涌現。在上世紀80年代便有了人工智能的概念,然而之所以未能形成規(guī)?;陌l(fā)展,其主要原因便是計算能力的受限。
而分布式計算的發(fā)展才讓人工智能有了現在的發(fā)展。因此可以說從技術的角度來看,分布式計算是IT發(fā)展的根本,有了分布式計算,云計算、大數據、人工智能等才有了發(fā)展和改進的空間。
然而無論是云計算、大數據,還是人工智能、機器學習,其重要的目的便是技術推動事物的發(fā)展,用新技術解決存在的問題,天云軟件便是秉持著這樣的理念成立的。天云軟件認為,底層技術發(fā)展很快,作為創(chuàng)業(yè)公司應當接近客戶真實應用,以解決客戶問題為基礎,因此從2011年進入云計算領域開始,天云軟件不僅追求技術先進性,更追求技術的應用與落地。
以人工智能為例,人工智能不是一個獨立的應用,其更大的作用是催化劑或者改進的工具,所以人工智能一定要跟運維結合,比如自動駕駛便是基于人工智能的機器學習實現的。
人工智能的發(fā)展一是計算,二是算法,在上世紀八十年代受限于計算能力,發(fā)展很慢,當前隨著計算基礎的成熟,它迎來了快速的發(fā)展。在當前,人工智能有一個很重要的分支不是基于專家經驗,而是基于現象,基于行為,這種人工智能的發(fā)展,使得人工智能技術解決問題的門檻大大降低,因為機器基于行為是可以自己學習的。未來幾年,人工智能一定會擁有很大的應用場景,隨著人工智能的發(fā)展,對于高性能計算、應用的要求也會再上更高的臺階。
企業(yè)級云管理平臺的架構實現與落地實踐、趨勢分析
天云軟件產品總監(jiān)馬俊以“企業(yè)級云管理平臺的架構實現與落地實踐、趨勢分析”為主題,從IaaS層解析了云管理平臺的架構實現、落地實踐和未來發(fā)展趨勢分析。馬俊介紹,云管理分為三層,分別是云管理平臺層、云計算技術架構層、虛擬化層。
虛擬化層提供虛擬化功能,對計算資源、網絡資源和存儲資源提供虛擬化支持和虛擬化管理功能;云計算技術架構層通過虛擬化層提供的特性構建云計算的技術架構,包括構建計算資源技術架構、構建存儲資源技術架構、構建網絡資源技術架構;云管理平臺層提供業(yè)務支撐管理功能、提供異構混合云管理功能,對虛擬化層、技術架構層進行統一的管理;
當前隨著云計算技術架構層從vCenter向Openstack、Cloudstack轉變,云管理平臺即CMP,也正在發(fā)生著巨大轉變。
天云軟件的SkyForm CMP是一個開放、中立的企業(yè)級云管理平臺,向下對接企業(yè)傳統 IT 資源和云資源池,向上為系統管理員提供all-in-one的IT資源管理能力,實現面向最終用戶的云服務交付。
SkyForm CMP的核心是CMDB,強調異構管理。而此CMDB的核心是調度,也是企業(yè)客戶怎么把資源管理好的核心。之所以如此,主要取決于當前企業(yè)客戶的需求,企業(yè)要求云管理平臺對多個數據中心的資源進行統一管理:統一資源池管理,統一監(jiān)控視圖,統一資源配置管理,統一資源模板管理,統一資源申請、審批、開通管理,統一資源實例管理。
SkyForm CMP是一個完全開放的平臺,提供對外的用戶管理API和資源管理API,以及監(jiān)控告警數據,客戶可以根據API和數據可以重新開發(fā)界面UI,從而很方便的與OA集成、網管集成以及和PaaS平臺集成。
下一步,SkyForm CMP將向四個方向發(fā)展,第一是進行服務解耦,即微服務化改造,將大服務拆分出多個原子服務,各個服務的關系是平級、獨立部署,支持分布式,已達到更為編輯的集成、開發(fā)測試和上線。第二是基于機器學習的業(yè)務系統擴容建議,基于CMP的系統數據,進行分析,實現更好的客戶投資收益。第三是基于機器學習的資源池優(yōu)化建議,以便將客戶的虛擬化資源池、Openstack使用率調到較大。四是雙模IT管理,將IaaS、PaaS一起管理,形成一個大的IT管理平臺。
目前,SkyForm CMP已大規(guī)模成功應用于運營商公有云,服務于運營商政企客戶;運營商私有云,針對運營商B域、O域、M域的IT資源進行云化改造。同時,SkyFrom CMP已成功應用于電子政務云、教育云、航空制造云、金融云、園區(qū)云、動漫渲染云等。中國移動、中國聯通等均是SkyForm CMP的客戶,其中較大的是聯通沃云,去年年底已經達到25萬CPU的規(guī)模。
基于Kubernetes打造輕量級PaaS平臺
天云軟件CTO牛繼賓從PaaS層面,分享了如何基于K8S打造輕量級PaaS平臺。當前,行業(yè)內對PaaS的理解有多種版本,然而無論是哪種方向,PaaS通用的定位是提供一種環(huán)境,從而支撐開發(fā)者快速進行開發(fā)和應用,同時支撐應用進行彈性計算或者靈活調整。因此。他將構建輕量級PaaS平臺叫做ECP,即彈性計算平臺。
ECP的有四大建設目標:一是系統高可用,用了PaaS平臺后,不需要再去關心底層IaaS資源,只需要關心平臺能否從技術架構、平臺服務和物理資源三個層面提高系統的穩(wěn)定性、可靠性;二是資源共享和動態(tài)調度,打破資源靜態(tài)分配瓶頸,支持服務的彈性伸縮,提高資源利用效率,比如淘寶雙十一,更多是打造消息中間件和應用軟件可彈性的中間件環(huán)境,從而支撐應用做彈性拓展;三是DevOps,研發(fā)測試到運維一體化,改變開發(fā)、測試、運維割裂的現狀,簡化應用開發(fā)、部署和運維的難度;四是自動化運維:將事件與流程相關聯,發(fā)生問題時自動出發(fā)處理流程,提高運維效率。
基于ECP的建設目標,為什么要基于Kubernetes去構建輕量級平臺?實際上,是因為 Kubernetes提供了一套應用發(fā)布運行的彈性框架。一個應用,其實就是一個負載均衡加上后端的幾個計算單點,Kubernetes主要提供一套機制,保證應用能夠快速的發(fā)布和服務的快速發(fā)現。Kubernetes的體系比較完整,體系架構比較統一,開發(fā)語言也比較統一、完整,目前國內基于容器打造輕量級PaaS的服務商,基本也都已經切換到Kubernetes,這也證明了其高可用性。
既然可以基于Kubernetes發(fā)現應用、發(fā)現服務,為什么天云軟件還要基于Kubemetes再去打造一個新平臺?牛繼賓指出,這首先是因為Kubernetes本身的UI不是很友好,不符合國內應用習慣。其次是使用Kubernetes的時候,通過service找到后面掛了幾個pod,但如果從pod反向找service時,就找不到了。其三是因為PAAS是一個云的概念,要求多租戶,目前Kubernetes對租戶的支持不是很好。其四是基礎設施的管理、日志與監(jiān)控等,也不是那么友好。
基于Kubernetes鏡像倉庫、存儲集群、Elastic Search、Kubernetes Cluster核心組件,加上Etcd Cluster,構建基礎服務,在外圍構建主機管理、網絡管理、存儲管理、應用管理、服務管理、健康管理、日志管理、用戶管理、UI、鏡像管理、CI/CD等服務,并進行鏡像封裝,再用Pod的形式集起來,只需從UI抽取相關API,就可以形成一套PaaS平臺,用戶可以基于PaaS平臺構建Docker的能力。
構建企業(yè)及互聯網架構,大平臺+輕架構+小應用
在應用層,亞信軟件高級架構師李春林以“構建企業(yè)及互聯網架構,大平臺+輕架構+小應用的較佳實踐,能力集成與開放平臺的實現思路”為主題,分享了亞信AIF在應用方面的理念和實踐。
亞信AIF是一個微服務架構的平臺。我們都知道,架構的作用是為了更好地適應需求的變化,當前應用架構經歷了MVC架構、RPC架構、SOA架構到微服務架構的演變。MVC架構是為了解決前后端、界面、控制邏輯和業(yè)務邏輯分層問題。隨著業(yè)務擴大、模塊化成為趨勢,RPC架構解決模塊間跨進程通信,幫助業(yè)務屏蔽通信細節(jié),但其缺點是不負責服務治理,包括服務的自動發(fā)現、發(fā)布、運維等。而SOA架構則注重標準化服務的提供,企業(yè)資產復用、異構系統集成,具備服務治理。SOA架構對于傳統企業(yè),主要解決異構系統互通和粗粒度的標準化(WebService);在互聯網領域,提供一套高效支撐應用快速開發(fā)迭代的服務化架構。
那么亞信AIF所采用的微服務架構則是注重服務的構建方式,將服務拆開,拆成微、小的應用,應用之間獨立部署、生命周期管理,實現了松耦合、模塊職責單一,以及輕量級通訊,對內高性能RPC、對外HTTP Restful風格,從而更好地實現運維體系支撐,服務治理、監(jiān)控中心、日志中心、配置中心等。
微服務架構實質上打破了系統建設中的“無形的煙囪”。過去集群模式下,服務規(guī)模較大,需要使用多個服務器的資源,并且是靜態(tài)資源分配。而AIF則是多個服務細粒度地共享一組服務器提供的資源,并且應用框架一致,通過技術平臺對應用進行管控,促進應用軟件的標準化。
亞信AIF秉承“大平臺 小架構 輕應用”的原則,實現組件解耦和開放,具體來講,AIF有以下八大特性:
應用標準化:統一技術架構,促進應用標準化;
服務透明化:服務接入的規(guī)范化,實現服務的可見,可管,可控,支持對服務的持續(xù)治理;
應用與技術解耦:通過對開源軟件的封裝,降低開發(fā)門檻和TCO的同時,實現應用與技術組件的解耦;
應用與數據分離:屏蔽底層數據存儲對應用邏輯的影響,實現底層數據的訪問對應用透明化,使用者無需關心如何跨越多個分區(qū)查詢數據、如何平衡各個分區(qū)負載、如何訪問異構數據庫等問題;
運維有形化:多維度實時監(jiān)控到系統調用鏈路的每個環(huán)節(jié),包含性能、健康度等,進而對系統進行實時干預;
運維智能化:熔斷機制,及時自動隔離集群中隱患節(jié)點;
億級消息處理:消息處理框架實現高效異步服務協同,支持億級消息處理;
應用云化:協同DCOS平臺實現服務自動彈性伸縮。
亞信AIF未來的發(fā)展方向將是構建基礎平臺,從Ability Integration Framework到 Asiainfo Infrastructure Foundations,開放、聯合,上下游共同努力構建可靠、穩(wěn)定、易維護的一站式云化技術大平臺。
深度學習簡介及支撐深度學習的解決方案
一如張福波博士所言,天云軟件是一家注重應用、注重技術落地的云計算服務商,天云軟件CTO牛繼賓在分享PaaS之后再一次從應用層,展開深度學習簡介及支撐深度學習的解決方案的分享。
深度學習的概念源于人工神經網絡的研究。含多隱層的多層感知器就是一種深度學習結構。深度學習通過組合低層特征形成更加抽象的高層表示屬性類別或特征,以發(fā)現數據的分布式特征表示。
深度學習采用的模型為深層神經網絡(Deep Neural Networks,DNN)模型,即包含多個隱藏層(Hidden Layer,也稱隱含層)的神經網絡(Neural Networks,NN)。深度學習利用模型中的隱藏層,通過特征組合的方式,逐層將原始輸入轉化為淺層特征,中層特征,高層特征直至最終的任務目標。
復雜的人工智能算法訓練與計算經常涉及上億的參數,這些參數的計算需要大量的計算能力,目前在深度學習領域,GPU計算已經成為主流,使用GPU運算的優(yōu)勢是當前主流的GPU具有強大的計算能力和內存帶寬,無論性能還是內存帶寬,均遠大于同代的CPU。 同時,GPU的thousands of cores的并行計算能力也是一大優(yōu)勢。
GPU的并行計算原理包含單CPU并行計算,多GPU并行計算之數據并行,多GPU并行計算之模型并行,以及GPU集群并行模式。
單CPU并行計算是指針對每次訓練數據,模型內計算通過多次GPU內核的調用完成計算。權重W值一直存在GPU內存中,直到所有訓練數據計算完畢 之后回傳到系統內存中。
多GPU并行計算之數據并行是指對訓練數據做切分,同時采用多個模型實例,對多個分片的數據并行訓練。其缺點是當模型較大時,GPU內存無法滿足存儲要求,無法完成計算。
多GPU并行計算之模型并行將模型拆分成幾個分片,由幾個訓練單元分別持有,共同協作完成訓練。當一個神經元的輸入來自另一個訓練單元上的神經元的輸出時,產生通信開銷。其缺點是需要更頻繁的通信,增加通信壓力,且實現難度較大。
GPU集群并行模式即為多GPU并行中各種并行模式的擴展。節(jié)點間采用InfiniBand通信,節(jié)點間的GPU通過RMDA通信,節(jié)點內多GPU之間采用基于InfiniBand的通信。
整個深度學習集群(包括軟硬件),可能是公司內部的共享資產,每個項目組都需要使用,那么,采取上述方式部署便會帶來三大問題:
一,要求項目組必須使用統一的深度學習框架,統一的深度學習框架的版本,否則不同項目組完成的訓練代碼有可能不工作,如果每次為了適應某個項目組的要求去重新部署框架,工作量巨大,而且耗時耗力;
二,其中一個項目組在使用集群時,其他項目組往往需要等待,即使集群的資源使用率較低;
三,服務器集群中任何一臺硬件出現問題,都會影響整個集群的使用。
因此,分布式機器學習集群共享調度成為解決之道。分布式機器學習集群共享調度的實現方式之一是基于Kubernetes容器的調度,Kubernetes能夠提供應用部署、維護、擴展機制等功能,利用Kubernetes能方便地管理跨機器運行容器化的應用,其主要功能如下:
1) 使用Docker對應用程序包裝(package)、實例化(instantiate)、運行(run)。
2) 以集群的方式運行、管理跨機器的容器。
3) 解決Docker跨機器容器之間的通訊問題。
4) Kubernetes的自我修復機制使得容器集群總是運行在用戶期望的狀態(tài)。
二是通過MPI作業(yè)調度。MPI是高性能計算(HPC)應用中廣泛使用的編程接口,用于并行化大規(guī)模問題的執(zhí)行,在大多數情況下,需要通過集群作業(yè)調度管理軟件來啟動和監(jiān)視在集群主機上執(zhí)行的MPI任務。此方法的主要目標是使集群作業(yè)調度管理軟件能夠跟蹤和控制組成MPI作業(yè)的進程。一些集群作業(yè)調度管理軟件,如天云軟件SkyForm OpenLava等,可以跟蹤MPI任務的CPU、內存、GPU的使用。我們把每個深度學習的計算作為MPI作業(yè),通過天云軟件OpenLava作業(yè)調度管理軟件進行集群統一的資源管理與分配,無論性能還是內存帶寬,均遠大于同代的CPU。 同時,GPU的thousands of cores的并行計算能力也是一大優(yōu)勢。
這兩種調度方式的好處是,能夠分享集群的資源,實現多租戶、多用戶、不同任務框架的并行計算,如果集群出現了問題還可以摒棄作業(yè)出現的任務。
其實整個人工智能產業(yè)鏈包含技術支撐層、基礎應用層、和方案集成層,我國人工智能產業(yè)發(fā)展更多集中在技術支撐層,提供集群計算、深度學習框架、CPU、GPU、NPU、路徑規(guī)劃等能力,天云軟件則是聚焦在集群計算方面,并取得了一定突破。
而如果從人工智能發(fā)展的基礎來看,算法、數據、計算平臺是人工智能爆發(fā)的三大基礎,只有三者都達到臨界值,人工智能才能真正發(fā)展起來。在人工智能方面,天云軟件聚焦點是集群和高性能計算平臺,支撐深度學習的深入應用。
“天云軟件技術開放日”是天云軟件對外展示技術實力、分享技術實踐、交流技術熱點的活動,是天云軟件與用戶、產業(yè)鏈伙伴、業(yè)界同仁充分溝通、增進了解、彼此學習、促進合作的平臺。
張福波表示,天云軟件是一家技術公司,希望通過分享的方式,讓更多的技術人員以彼此的臂膀為依托互相學習進步,從而也推動整個行業(yè)的發(fā)展。