不知從什麼時候開始,人們的工作和生活都開始變得離不開手機,手機幾乎握在每個人的手裡。雲+AI+5G技術加持下的新時代,有沒有可能讓手機不僅可以握在手裡,更可以放在雲上呢?華為雲鯤鵬雲手機,就是這樣一個具有跨時代意義的創新產品。
在本次華為開發者大會HDC.Cloud的開發者沙龍上,我們有幸邀請到華為雲鯤鵬雲手機解決方案架構師陳佳敦,為我們廣大的開發者朋友們詳細介紹了華為雲鯤鵬雲手機以及其背後獨有的Monbox軟體架構的前世今生。
華為雲鯤鵬雲手機解決方案架構師陳佳敦
既然手機已經如此優秀,為何還需要雲手機?
首先,雲手機並不是說取代我們正在使用的手機終端,而是一種延展和補充。更多的是使用它的智慧執行、彈性發放和叢集控制等能力,讓移動應用從手機終端執行,進化到可以在雲端智慧執行。面向越來越多的,如自動化模擬測試、資料採集分析和新媒體營銷等場景,單臺手機的處理效率非常有限,通過雲手機的方式,可以顛覆式地提升處理效率,幫忙企業大幅降本增效。
此外,通過雲手機技術,還可以為遊戲,直播等行業提供全新的互動體驗方式,開拓新的商業模式和市場。以雲手遊場景為例,因為遊戲的內容實際上是在雲上虛擬手機上執行,所以遊戲對於最終玩家來說,無需下載,即點即玩,大幅提高玩家轉換率。同樣道理,以直播場景為例,傳統直播為主播一人控制,觀眾僅限於觀看和文字層面互動,基於雲手機開發的直播應用,控制權可以在多人之間靈活切換轉移,實現更深層次的互動體驗。
為何華為雲可以做到公有云業界獨家?
硬體層面,Powered By Kunpeng,端雲同架構
目前,全球一共有500多萬移動APP,這些應用都是基於ARM指令集進行開發的,海量移動應用在向雲上遷移的過程中,以前通常採用在通用CPU伺服器上增加實時指令翻譯來實現。但是這會帶來兩個問題:一是會有40%的效能損失,二是還有大約20%的程式碼庫無法實時翻譯。
鯤鵬處理器相容ARM指令集,與移動APP天然同構,可支援移動APP無縫遷移到雲上,效能零損失且無法二次開發工作量,為雲手機奠定了硬體層面的基礎。
軟體層面,獨有Monbox架構,打通雲手機商用任督二脈
雲手機想要實現商用,單有硬體層面的基礎是遠遠不夠的,Monbox軟體架構正是打通雲手機商用任督二脈的重要一步。
挑戰1:單伺服器雲手機密度提升100%
前面提到,我們選擇相容ARM的鯤鵬伺服器來運行雲手機,免去指令集的翻譯效能損耗。但這隻解決了CPU的部分,業界開源的虛擬化和容器方案,都沒有解決GPU效能問題。
Android應用,特別是遊戲,都是使用OpenGL ES來做渲染加速。開源非直通方案,實現方式如圖1。軟體傳輸和翻譯等處理會帶來CPU、記憶體等資源額外的開銷,導致效能、相容性等問題。
華為雲鯤鵬雲手機將其徹頭徹尾的進行調整改進,採用GPU直通方案,通過容器的方式,將GPU裝置直接暴露給Android,驅動直接對接到Android的渲染框架,大幅提升了渲染的效能。同時結合相關的驅動優化、綁核調整、容器隔離優化等一系列調優手段,實現單伺服器雲手機併發提升100%。
2:媲美真機的端到端接入時延
何為端到端時延,我們這樣舉例,比如客戶端接入到了一臺雲手機,打開了一個遊戲。當這個使用者,點選了遊戲裡面的一個按鈕,比如攻擊,那麼從點選的這一瞬間,到使用者看到遊戲角色做出攻擊動作的第一幀畫面,就是端到端延時。我們一般用高速攝像機來測量這個延時。目前真機是100ms級別的,業界做到的平均水平是150ms。這個延時越低,使用者的體驗越順暢。
華為雲將端到端的延時,拆解成指令輸入、上傳、GPU渲染、視訊編碼、回傳影象、影象解碼和顯示到螢幕。這其中佔了很大一部分延遲,消耗在將雲手機渲染出來的每一幀影象,編碼成視訊流,傳輸並在對端進行解碼。雖然使用軟體編碼,編碼幀率也能達到60FPS,但非常耗CPU資源。多用一個,用來跑應用的CPU就少一個,伺服器上雲手機的併發數量就會下降。其實x86上的GPU編碼其實很成熟了,但是ARM上的還不行,因此華為雲引入編碼晶片來減輕CPU的負載。
華為在編碼和傳輸的技術上也做了很多優化,比如將要編碼的影象,按照一定的規則做分層,當頻寬高的時候,用更高清的編碼方式,傳更多的高清內容過去。頻寬低的時候,就只傳粗糙的畫面,動態適配頻寬。
此外,傳統影象編碼傳輸過程中,每幀畫面傳輸是序列的,渲染的時候,編碼就需要等待,編碼的時候,傳輸同樣需要等待。通過pipeline技術,把單幀又做了拆分,拆成了一條一條,渲染出一條的時候,編碼就把這一條拿過來開始編碼,編完了就交給傳輸。這樣,一幀畫面渲染完,編碼、傳輸和解碼也都同步完成。客戶端把這一條一條重新拼在一起,渲染到螢幕上即可。這樣預期最高可降低40%編解碼延時,且影象解析度越高,降低越明顯,整個過程對比如圖2。
不僅如此,有了這些技術,再疊加上華為的網路加速技術,比如Link Turbo,複用WIFI、4G雙通道,以及邊緣雲+5G的方案,進一步降低網路傳輸延遲,最終達到媲美真機的使用體驗。
3:大幅降低接入流量,為客戶節省更多成本
除了價效比、端到端延時,還有很重要的一部分是接入的流量。某些場景下,流量的成本甚至佔到八成。所以降低流量成本,可以說是很多業務商業能走通的很大的一個因素,而且需要大幅降低。
當前編碼主流還是用H.264,華為通過編碼晶片加速向H.265演進,它的壓縮比相比H.264高50%,可直接省一半流量。此外我們還可以從內容壓縮策略上做文章,核心思想就是不降低主觀感知,儘量減少影象大小。衡量影象品質的率失真數學模型是連續的,但其實人眼主觀感知是一個階梯性的(如圖3紅黑曲線),也就是說,影象的畫質降到某一個臨界點,我們才會看的出來明顯的變化,如果看的還是一個視訊,影響會更小。基於主觀感知的大原則,加上SCC演算法,把影象中重複的元素做壓縮,對App介面這種型別效果非常好,接近一半。遊戲這種動態的也有近7%。以及基於AI的,用特定場景影象預先訓練好編碼的模型,來提升壓縮率。
這些都是視訊流的一些優化,當內容解析度提升的時候,需要的算力和頻寬也是成倍增長。因此我們也在研究指令流,這種方式是傳輸原始渲染指令和資料的,好處是畫質不會有損失,傳輸的資料量跟解析度也沒有關係,在高解析度的情況下,頻寬節省優勢會很明顯。
圖3生態層面,更懂Andriod和終端
華為本身也是業界領先的終端研發製造商,在基礎硬體、攝像頭、基礎感測器、位置感測器以及網路制式方面都有深厚的技術積累,華為雲和終端的結合,可以為客戶提供更接近真實手機的雲手機使用體驗。在Android手機系統方面,華為也投入了大量的研發資源,面對億級規模程式碼量的系統,華為可根據業務需求變化提供系統級的優化和運維能力。同時嚴選應用可藉助華為終端應用市場,實現商業快速變現。