如何優雅地幹掉世界上不好用的電腦?

如何優雅地幹掉世界上不好用的電腦?

淺友們好~我是史中,我的日常生活是開撩五湖四海的科技大牛,我會嘗試各種姿勢,把他們的無邊腦洞和溫情故事講給你聽。如果你想和我做朋友,不妨加微信(shizhongmax)。

如何優雅地幹掉世界上不好用的電腦?

文 | 史中

我第一次感到命運深深的惡意,是在初中的時候。

英語老師老早就預告了,說要給我們放一部英文動畫片。單純的孩子們望眼欲穿,掰著手指頭終於盼到了那一天。

上課鈴打響,大家端坐屏氣凝神。然後,電腦壞了,怎麼都進不了 Windows 系統。。。

老師自己鼓搗了十分鐘,眼看留給中國隊的時間不多了。他大手一揮,做出了一個並不艱難的決定:把看電影改成了做試卷。。。

當時,我恨透了英語老師和比爾蓋茨。

如何優雅地幹掉世界上不好用的電腦?

本以為這段往事會深埋在記憶裡,直到我遇到了劉福能。

劉福能是銳捷“雲桌面”團隊的負責人。我發現,他們這十幾年都在做一件很給力的事兒:“消滅世界上一切不好用的電腦”。

事情是這樣的。

那天,我一隻腳剛踏進劉福能辦公室的大門,他就揪住我一個箭步衝到辦公桌前,噼裡啪啦開啟電腦,指著螢幕:“看,這就是我們的產品!”

定眼兒一看,他的電腦上啥也沒有,只顯示著桌面。

我一臉懵逼:咋的,Windows 是你做的啊?

劉福能微微一笑:你可別眨眼啊。

說完,他點了幾下滑鼠,十秒鐘功夫,電腦就切換成了另一個系統,桌面上密密麻麻地排列著各種圖示。

我剛剛開啟的就是一個“雲桌面”,裡面不僅有作業系統,還有全套的辦公軟體。

而且,我還可以輕鬆地切換到國產系統,不同系統裡面附帶了不同的軟體。

他一邊解釋,一邊在多個雲桌面之間瘋狂切換。

如何優雅地幹掉世界上不好用的電腦?

我就截幾秒你感受一下。

“我想要啥系統和軟體,自己安裝不就好了,為啥要用你的雲桌面?”我問。

你說的是個人電腦。但我們的雲桌面主要用在學校、辦公、醫院、客服這樣的場景裡。

這些場景有個共同點:要同時保證成百上千臺電腦平穩工作。

你想想,這麼多電腦,升級、維修要是一臺一臺來弄,管理員就算長了翅膀都忙不過來。

所以,在電腦後面必須有一套高效的“雲桌面”系統,保證你每次開啟電腦都能用到穩定的系統和最新版本軟體。

而且,就算系統和軟體出了問題,你也不用費勁重灌除錯,只要拉起一個新的雲桌面馬上就能繼續使用,一分鐘都不會耽誤。

他解釋。

正是在這個時候,我回憶起我的中學老師。。。

我突然目光如炬,看著劉福能:“你們做的事情可太偉大了!”

於是,那天我和劉福能還有銳捷雲桌面的老司機們一直聊到天黑。

越聊越發現,他們像極了一個“建築隊”——用“計算力”作為磚石,蓋起一座座打不爛壓不垮的大廈。

而且,真正的騷操作是:他們蓋樓的方法還不止一種。。。

且聽我細細道來。

如何優雅地幹掉世界上不好用的電腦?

劉福能

(一)大山裡的“計算力隔間”

我說的銳捷,全稱是銳捷網路。聽這個名字,你就知道他們最早是做“網路”的。

實際上,銳捷在很多大學生的心中可是相當“有名”。

當年,為了防止大學生通宵達旦上網,很多學校都使用銳捷的交換機和軟體來做“認證管控”。每當熄燈斷網,全國的宿舍裡就飄出一片哀嚎之聲。。。

這都是往事,不多說了。

反正,劉福能就是當時管控軟體的產品經理。

不不,不是讓你找他報仇,我想說的是,從那時起,銳捷就已經和學校合作密切了。

2008年的時候,銳捷和一些高校聯合搞了一個有趣的事情,叫做“網路實驗室”。

啥是“網路實驗室”呢?就是讓計算機專業的同學們用來練習網路技術的“模擬環境”。

你想,當時一所幾萬人學校的真實網路銳捷都能搞得很穩定,搞一個模擬靶場還不是輕鬆加愉快麼?

這不是重點,更有趣的事情在後面。

隨著網路實驗室越做越紅火,有的學校提出了一個“不情之請”:

我們的同學要練習搭建網站,而網站需要跑在伺服器上。

伺服器我們雖然有,但這玩意兒挺貴,僧多粥少。你們能不能“把一個伺服器掰八半”,給八個人用啊。。。

伺服器又不是桔子,還能掰八半?

不過,當時劉福能可是大手一揮:這活兒我們能幹,你等著!

沒過多久,銳捷真就搞定了一套“掰八半”的系統。

沒錯,估計很多淺友已經猜到了,他們用了“虛擬化”技術。

以前我們講過,虛擬化技術可是雲計算“皇冠上的明珠”。

這麼說吧,如果把伺服器比作一間房,那麼,虛擬化技術就相當於在裡面“打隔斷”。

具體怎麼打隔斷呢?

事實上,原有的硬體結構就像承重牆,肯定是變不了的。

更準確的比喻是:虛擬化技術在原來的房頂上加蓋了一個“二層”,然後用純純的程式碼虛擬出不同的房間。

就像下面這樣:

如何優雅地幹掉世界上不好用的電腦?

這裡我得強調一個細節:伺服器之所以能打隔斷,還有一個先決條件是“計算力過剩”。

打個比方:

原本的房間如果有100平米,你隔出的八間房都能住人。

可如果原來的房子只有10平米,你就算隔出了八間房,人也住不進去啊。。。

伺服器的 CPU 基本都是英特爾的。英特爾晶片的進步速度雖然有時被吐槽,但是客觀上來說,這些年他們的 CPU 計算力一直在穩步提高。

穩步提高的意義當然很大。

像科研、大資料計算這樣的場景,它們對於英特爾(伺服器)晶片計算力的需求一直像黑洞一樣永無止境。

不過從另一方面看,對於絕大多數普通人輕度的學習、工作場景,目前英特爾晶片的計算力就會超越實際需要了。

就比如我現在打字用的這臺電腦,跑著200多個程序,平均下來 CPU 利用率大概是15%左右。

如何優雅地幹掉世界上不好用的電腦?

從計算力的角度來看,可以說我一個人常年獨霸著三室一廳。

這事兒英特爾也知道,所以早在2005年,他們的 CPU 就官方支援了虛擬化技術。

正是“算力過剩的現實”和“虛擬化技術的成熟”,給邊遠地區的孩子們帶去了一個好訊息。

2012年,咱們國家推出了一個“全面改善貧困地區義務教育薄弱學校基本辦學條件”的計劃,簡稱“改薄”。

這個計劃有個明確的目標,就是要多建機房,把農村小學的生機比(學生和計算機的比例)降低到11:1,農村中學的生機比降低到10:1。

但一次買幾十臺電腦確實挺貴,本來就是貧困地區,預算實在有限,一分錢都要掰成八半花,有沒有啥經濟實惠的方案呢?

銳捷一看,這可撞槍口上了,我不就會把一臺電腦掰成八半麼?

劉福能記得很清楚,當時他們在北京的中國科技會堂舉行了一場盛大的釋出會,宣佈了基於“虛擬化技術”的機房黑科技——雲課堂。

雖說本質上“網路實驗室”和“雲課堂”都是給計算力“打隔斷”,但客觀上說,雲課堂要難得多。

具體難在哪兒呢?

這就得請出另一位老師傅,劉璞。作為雲課堂研發的主力工程師,他可是親眼見證了那段血淚史。

如何優雅地幹掉世界上不好用的電腦?

劉璞

(二)“90秒”

說起來,銳捷有個特點,我們一直強調解決具體問題。

所以,雲課堂不是在辦公室裡自己琢磨的,而是在一家關係不錯的職業學校的機房裡磨練出來的。

劉璞回憶。

當時的情況是這樣的:

機房裡原本有60臺電腦;又添置了6臺伺服器組成的一朵雲。

他們想達到的最終效果是,所有的計算都集中跑在雲伺服器裡,60臺電腦雖然都有機箱,但機箱不承擔計算任務,只用來接收伺服器的訊號,再經過轉碼把訊號呈現在顯示器上。

你可能有點蒙,我用剛才那個打隔斷的例子再給你解釋一遍:

伺服器被隔成60個隔間(虛擬機器)。

每個隔間都是一番獨立的小天地,小天地裡發生的故事透過投影燈向外發射,遠處的60臺電腦上分別架起來一個大螢幕,接收各自的“實況轉播”。

如何優雅地幹掉世界上不好用的電腦?

又是大螢幕,又是投影儀,雖然這套結構看上去有點奇怪,但卻有個巨大的好處,那就是——賊方便管理。

給你舉個例子就明白了。

每天會有不同班級的學生來上課,他們的課程也不同,有的學 PS,有的學 CAD,有的學Office。

這些軟體有的安裝在 WinXP 上,有的安裝在 Win7 上,而且不同班級需要的課件也都不同。

所以,他們無法共用一套固定的系統和配置。

雲課堂系統要做的就是:

把PS老師提前準備的一堆東西打包成系統映象,在這節課開始之前,把系統映象推到60臺虛擬機器上,學生進來就可以直接上PS課。

如何優雅地幹掉世界上不好用的電腦?

PS課結束,下一個 Office 老師只要點一下按鈕,就能向60臺電腦重新推送帶有 Office 的系統映象,另一波同學就能上 Office 課了。

就像下圖這樣:

如何優雅地幹掉世界上不好用的電腦?

是不是超簡單?

用起來簡單,劉璞他們做起來可不簡單。

在伺服器上給60個虛擬機器同時下發系統映象的動作,相當於60個隔間一起添置傢俱,這麼多傢俱一起抬進來,樓下的單元門壓力山大啊。。。

實際上,每當多系統同時啟動,CPU執行緒和資料傳輸通道就會瞬間打滿,用專業術語講,這就叫“啟動風暴”。

如何優雅地幹掉世界上不好用的電腦?

劉璞他們掐著表,把60臺虛擬機器的映象全部推送+啟動完畢要30分鐘。然而,一節課的課間只有10分鐘。。。

老司機們表情有點尷尬,接下來只好絞盡腦汁精簡整個流程。

他們發現,系統在推送映象的時候,很大一段時間都花費在了“複製”映象上,每個映象檔案大概是40G,60臺虛擬機器要複製60次。

但實際上,他們複製的檔案都是一樣的,完全就是“重複勞動”。

於是,劉璞他們設計了一個專用流程:

映象只複製一次,所有虛擬機器都來同一個地方讀取映象,再根據自己系統的配置調整一兩個引數。

這樣一來,寶貴的計算力就被省下來,60臺虛擬機器可以快速進入啟動 Windows 的流程。

啟動時間立刻縮短到了10分鐘。

但即使是10分鐘也太長了, 這節課剛下課,下節課的老師就得百米衝刺上講臺去換系統,手腳稍慢一點還是會耽誤上課——這個時間還得繼續壓縮。

老司機們冥思苦想,接下來只剩 Windows 的啟動過程可以優化了。

功夫不負苦心人,方法還是讓他們找到了。

Windows 啟動時,是按照一套規定流程讀取系統檔案的。

理論上來說,先讀哪個檔案,後讀哪個檔案,是可以預知的。

於是,他們就把 Windows 需要的重點檔案提前快取在高速記憶體裡,Windows 一看,說曹操曹操到,得來全不費工夫!

這就像大廚做菜旁邊給配了一個幫廚的夥計,醫生做手術旁邊有個遞剪子的護士是一個道理。

如何優雅地幹掉世界上不好用的電腦?

像這樣的改進一點一點積累進去,系統啟動速度也越來越快。最終,劉璞他們竟然把60臺虛擬機器啟動的速度壓縮在了90秒。

90秒,是個讓人驕傲的成績,銳捷的工程師放心地把系統佈置在機房,然後躲在暗處觀察老師們的上課情況。

一個讓人哭笑不得的小問題出現了:

每次上課前,這邊90秒虛擬機器倒是一個個挺精神地支稜起來了,可那邊接收端的電腦還沒開機呢。。。

助教還得跑下去一個個去按開機鍵。。。

於是,工程師們又繼續改進,做了一個“遠端開機”的小功能:

老師只要點一個按鈕,對面60臺電腦的網絡卡接收到了訊號,就能自動啟用主機。

如何優雅地幹掉世界上不好用的電腦?

說到這兒,有些淺友可能已經迫不及待要問一個問題:

既然計算都發生在雲端的伺服器裡,那我60臺電腦還要機箱幹嘛,只留個顯示器不就行了?

非常正確!當計算力集中在雲端的時候,確實不需要電腦機箱了。

而且你別忘了,這個雲課堂是為“改薄”設計的——如果讓貧困的學校先買幾十臺完整的電腦,再添幾臺伺服器,那成本不就更高了嗎?

機箱看來是要去掉,可到底怎麼去,是一門藝術。

我們不妨接著往下看。

(三)計算力的小魔術

這裡先說一個細節。

從虛擬機器到顯示器的影象傳輸,是60路同時發出,相當於一條路上跑60輛貨車,無法並列行進。

也就是說,不能採用標準的影片訊號,必須用壓縮格式傳輸。

有壓縮就得有解壓——在接收端不能完全沒有機箱,至少需要一個小型的計算力裝置來負責解碼。

當時,銳捷選來選去,用成本比較低的 ARM 處理器做成了一個小盒子,一頭接網線,一頭接螢幕,這玩意兒就被他們叫做瘦終端。

如何優雅地幹掉世界上不好用的電腦?

瘦終端

瘦終端上跑的作業系統,是他們基於開源 Linux 開發的專用系統,叫做 RainOS。

總體上看,工作原理是這樣的:

雲端伺服器把核心計算力切分成60個虛擬機器,每個虛擬機器向對應的瘦終端傳送一路壓縮後的影片訊號。

瘦終端解碼之後,把畫面呈現在顯示器上。鍵盤滑鼠也接在瘦終端上,控制訊號透過瘦終端返回伺服器的虛擬機器裡。

如何優雅地幹掉世界上不好用的電腦?

這套架構,就叫做 VDI(Virtual Desktop Infrastructure 虛擬桌面基礎設施)。

看到這兒,估計你就理解了雲桌面的核心奧義:

把管理效率做到極致的同時,把計算效率做到極致。

為了榨乾 CPU 的最後一滴效能,技術宅們可是各種黑科技無所不用其極。

比如,他們用到了“超分技術”。

為了理解超分技術,我們還得回到那個“隔斷房”裡。

剛才為了方便講故事,我沒有仔細介紹隔斷房的具體結構。其實,60個虛擬機器是由48個CPU核心隔斷而來的。

納尼?48個核心怎麼隔成60個虛擬機器呢?答案就是超分。

你玩過搶椅子的遊戲嗎?道理差不多。

60個虛擬機器圍著48個椅子轉,誰需要運算,誰就坐在椅子上。一臺虛擬機器算完了就馬上站起來,讓其他需要計算的虛擬機器坐下。

這個玩法的基本假設就是:60個虛擬機器不會同時需要計算。

這個假設其實有一定道理。

如果把時間放慢,你就會看到,計算機工作的時候,不是時時刻刻 CPU 都需要計算。

大部分時間是 CPU 很快算完了,叼著煙翹著腿等待人類的下一步指令。

(因為相比計算機而言,人實在是一個反應很緩慢的智慧體。)

如何優雅地幹掉世界上不好用的電腦?

同一時刻有的虛擬機器忙,有的虛擬機器閒,48個CPU核心就足夠60個虛擬機器用了。

說白了,這就是一個計算力的小魔術。

較真的淺友可能不服氣:你說的只是大多數情況,我就不信沒有一些少數時刻,確實是幾個虛擬機器在搶一個 CPU。

你還真說對了。

遇到這種情況,那虛擬機器們可是當仁不讓,甩開膀子誰搶到 CPU 就算誰的。

沒搶到怎麼辦?只能在一旁抹著眼淚,等別人空出來 CPU 它再用。

如何優雅地幹掉世界上不好用的電腦?

但是這樣一來,機房裡的王鋼蛋同學就會發現:為啥我的機器卡成狗,旁邊趙鐵錘的機器那麼順滑?老師是不是偏心眼給了他好電腦?

為了避免這種不公平的現象發生,技術團隊就做了“超分最佳化”:

每當兩個虛擬機器爭搶一個 CPU 的情況出現時,就會有一個“交警”站出來指揮。你算一下,他算一下,大家都別太快,也都別太慢。

如何優雅地幹掉世界上不好用的電腦?

這樣一來,王鋼蛋和趙鐵錘就感覺他倆的機器速度彼此彼此了,開心地繼續聽課。(所謂不患寡而患不均就是這個道理)

你可能會說,就是為了分配那點計算力,連交警都出來了,這也太摳門兒了吧。

沒錯,人類的計算技術早已發展到要靠摳細節邏輯一點點攢效率的地步了。

更摳門兒的還在後面。

剛才說到,為了節省成本,瘦終端上用的是 ARM 架構的處理器,它的計算力照 英特爾的 X86 架構處理器可是差多了。

所以,可想而知,它對於影片的解碼能力也僅僅是夠用。

有夠用的時候,就有不夠用的時候。

這裡再科普一個有趣的技術點。

影片壓縮傳輸並不是像有些人想的,把每一幀的畫面都截圖,然後傳送到瘦終端。

它的做法是,最開始傳輸一整張畫面,後面每一幀如果和前一幀相比變化不大,就只傳輸變化的部分。

這樣才能大大降低訊號傳輸的總量,也降低晶片解碼的壓力。

就像下面這樣。

如何優雅地幹掉世界上不好用的電腦?

如何優雅地幹掉世界上不好用的電腦?

於是就造成了這樣的效果:

如果畫面長時間變化不大,例如顯示著資料夾、Word文件,這些畫面傳輸都沒問題。

但如果老師要放一個教學電影,這個畫面就一直劇烈變化,ARM 晶片就有點連軸轉了。。。

當時,老師一放影片,同學們的螢幕就卡成狗,在角落裡暗自觀察的銳捷工程師們額頭開始冒汗。

這個問題也不是沒有解法。

因為當時瘦終端選用的處理器是一款手機處理器,內部除了標準的計算單元,還集成了一小塊硬解碼核心,但它原本是為手機準備的,只適用於 Android 系統上的影片解碼,沒辦法解壓電腦畫面。

本來團隊為了簡單起見,乾脆沒用“硬解碼核心”。

但逼到這個份兒上,他們也別無選擇,一群人吭哧了幾個月,硬是開發出了一套轉接層,逼著手機的解碼晶片來計算影片。

如何優雅地幹掉世界上不好用的電腦?

你看,就是靠這樣一個個“計算力小魔術”,銳捷拼了命把雲桌面的效率提高,把成本壓低再壓低。

歷史總會押韻。

技術成本降低,最終帶來的一定是“平等”。

那幾年,銳捷的銷售經理們跑遍了祖國邊陲老少邊窮地區,拼命推廣價效比極致的雲課堂。原來很難負擔這麼多計算機的中小學,都用極低的成本建起了自己的機房。

到後來,不僅是改薄學校,連普通學校都被圈粉,因為這東西管理起幾十臺機器來實在太方便了,簡直是老師的大救星。

如何優雅地幹掉世界上不好用的電腦?

這是老師傅們在一所學校拍的雲桌面上課照片。

雲課堂如此受歡迎,其他廠商也緊跟潮流推出競品。

這時,雲課堂的發明人銳捷反而開始發愁,我們不能停在原地啊,這個技術下一步還能用在哪裡呢?

2014年,劉福能他們決定朝下一個里程碑進發,那就是——把“雲桌面”用在辦公場景。

能用於學校,就應該能用於辦公。聽上去很合理吧。。。

但正是這麼合理的演進,讓雲桌面技術上一個隱隱的小裂縫出現在面前。也正是這個小裂縫,最終引爆了一場技術變革。

如何優雅地幹掉世界上不好用的電腦?

(四)小裂縫和算力的“倒流”

就在銳捷釋出“辦公雲桌面”的那年,微軟也釋出了一個東西——Windows10。

自然,銳捷雲桌面的虛擬機器裡也要跑 Win10。

但是,經過幾次測試,劉福能他們就發現,Win10 可不只是加個版本號這麼簡單。

Win10 自帶了很多系統動效,這些動效特別吃資源,需要有專門的顯示卡來負責計算。

這對普通家用電腦來說沒啥問題,因為電腦一般都配有顯示卡,但對伺服器來說卻是個難題。。。

你可能會說:那你給伺服器也裝上顯示卡,然後“掰八半”不就行了?

給伺服器裝顯示卡容易,但是“掰八半”可費勁了——因為顯示卡的特殊工作原理,它很難被虛擬化。

系統動效又不是啥關鍵功能,把它關掉也沒啥影響。但是,這個問題就像雲桌面大廈上的一個小裂縫,抹不平,繞不開,擺在那裡非常扎眼。。。

無獨有偶,另一個小裂縫也出現了。

看到這兒你應該知道,VDI 架構的計算全部發生在雲端,每個人要想在螢幕前順滑操作,一個先決條件就是網路要通暢。

但是,網路質量這個事兒,沒有人能打包票。

比如,一個市的教育系統買了雲電腦,伺服器放在教育局,可用來接收訊號的終端卻散佈在各個學校的老師辦公室裡。雖說訊號走的是專線,但偶爾還是會抖動。

這邊網路一哆嗦,那學校裡的電腦螢幕也會一哆嗦。甚至施工一鏟子把電纜挖斷,那一個學校電腦都掛了。

如何優雅地幹掉世界上不好用的電腦?

這個問題在醫療領域就更突出了。

本來病人們在按部就班地排隊看病,結果突然遇到網路問題,醫生面前的“VDI 雲桌面”就卡住了,背後的開藥、交費各個工作都會卡住。

對醫療系統來說,時間就是生命,這可不是玩笑。

劉福能他們逐漸意識到,VDI 技術雖然在價效比上雖然一騎絕塵,但卻不能包治百病。。。

一個頂尖的雲桌面,不僅要把管理效率做到極致,計算效率做到極致,系統可靠性也要做到極致。

銳捷面前擺著兩條路:

要麼,你就索性退出可靠性要求高的市場;

要麼,你就得為這些高需求研究一種新的更可靠的架構。

退是不可能退的,這輩子都不可能退的。團隊上上下下開始研究新架構。

其實,對這事兒上心的不只有銳捷,還有英特爾。

英特爾老早就覺得,雲桌面廠商只把計算力放在雲端,就像把雞蛋放在一個籃子裡,風險係數有點高。

於是,他們拿出了自己的一個儲備技術:IDV (Intelligent Desktop Virtualization 智慧桌面虛擬化)。

銳捷一看,這不巧了麼,雪中送炭啊!

IDV 到底是個啥呢?

還是拿之前的隔斷房打比方。

這次不在伺服器上打那麼多隔斷了,而是直接在每臺主機上隔斷出一間“計算力隔間”,然後把這些隔間都和伺服器相連。

日常的計算任務,從雲上又挪回到端上,僅僅在需要管控的時候才和雲相連。

大概像下面這樣:

如何優雅地幹掉世界上不好用的電腦?

注意,這時候終端主機由於要承擔實打實的計算任務了,所以不能再用 ARM 晶片,而是要用效能更強的英特爾晶片。

這樣的終端就叫“胖終端”。

如何優雅地幹掉世界上不好用的電腦?

你看,是不是胖多了

你可能會攔住我:什麼胖終端?這不是又恢復到十年前一人一個機箱的節奏了麼?把一個房子隔成一間,跟不隔有什麼區別呢?

我得說,看上去是一人一個機箱,本質上還是有很大區別的。

這樣當然是沒辦法使用超分技術,端上的計算力效率使用並不極致。

但它也有明顯的好處:

第一,管理員仍然可以一鍵下發映象,一鍵修復機器;

第二,即使斷網,失去了和雲伺服器的連線,終端也能繼續工作。

所以,IDV 架構的優點是:在保證管理效率的前提下,提高了系統可靠性。

研究胖終端的時候,劉璞他們還有一個發現。英特爾還有一個儲備技術,叫做 KVM-GT。

這個技術剛好可以用來解決“第一條裂縫”——顯示卡不能被虛擬化的問題。

具體來說 ,KVM-GT 的原理是這樣的:

CPU、記憶體和硬碟由於被虛擬化,相當於在房子的二樓有它們的“幻象”,但是顯示卡不能被虛擬化,相當於還待在原來房子的一層。

KVM-GT 技術可以做出一個電梯,把顯示卡這個小房子直接運到二樓,供虛擬機器呼叫。

這個操作就是老司機常說的“顯示卡穿透技術”。

如何優雅地幹掉世界上不好用的電腦?

把 IDV 和 KVM-GT 兩個技術拼在一起,正好一鍋端補上了“系統可靠性”和“顯示卡虛擬化”兩個裂縫。

不過劉璞告訴我,把這兩個技術拼起來可不是那麼簡單。

關鍵在於兩個字:時機。

胖終端建立虛擬機器的時候,是看不到顯示卡的。

你要在虛擬機器啟動的過程中正在搜尋顯示卡的當口,見縫插針地用電梯把顯示卡運到二樓,然後告訴虛擬機器:兄嘚,顯示卡在這裡。

來得太早了,虛擬機器沒空理你;來得太晚,虛擬機器就因為找不到顯示裝置而黑屏了。。。

所以,劉璞他們必須把虛擬機器的驅動程式碼給拆開,往裡面加一個“開關”。

每次在虛擬機器即將搜尋顯示卡的時候,就按下 PAUSE 鍵,然後這邊 RainOS 緊捯兩步,把顯示卡運上樓,接好,再按下PLAY鍵。

如何優雅地幹掉世界上不好用的電腦?

這還沒完。

在虛擬機器關機的時候,也要按下 PAUSE 鍵,把顯示卡運下樓,交還給 RainOS,虛擬機器才能繼續關機。有道是,有借有還再借不難。

如何優雅地幹掉世界上不好用的電腦?

這個借顯示卡的動作只是諸多難題裡比較典型的一個。

為了搞定 IDV 技術裡的坑,技術團隊前前後後折騰了一年。遇到和晶片邏輯相關的問題,連英特爾的同事都跑過來一起幫忙。

2017年,銳捷 IDV 架構的雲桌面終於釋出。

他們馬不停蹄地把 VDI 和 IDV 兩個架構融合在一起。

使用者可以根據情況買一部分價效比更高的瘦終端,再買一部分穩定性更好的胖終端,他的管理員也不用管對面用的是什麼終端,反正統一推送和管理就好。

這就是銳捷當年引以為傲的“雙擎”雲桌面。

如何優雅地幹掉世界上不好用的電腦?

就這樣,雲桌面這個大廈的裂縫不僅被補上了,而且還“更上一層樓”。

手握“雙擎”,銳捷的傲嬌由內而外,因為這顯然已經覆蓋了所有“辦公PC”的使用場景。

他們提出了一個兇猛的目標:要用雲桌面替代所有的“辦公 PC”。

如何優雅地幹掉世界上不好用的電腦?

辦公 PC,全中國有幾億臺。這得是多大的生意啊。

然鵝,天從不遂人願。很快,新的裂縫又猝不及防地出現在老司機的面前。。。

這個問題是“外設相容性”。

還是拿我們的“隔斷房”作比喻。

如果把虛擬機器裡的記憶體、CPU 比作隔斷房裡的一家人,那麼滑鼠、鍵盤這樣的外設就是親戚,他們雖然不屬於這個家,但隨時會來串門。

問題來了,由於主人們在二樓(虛擬化層),所以客人來了,也要被指引到二樓,才能和其他硬體一起配合工作。

如何優雅地幹掉世界上不好用的電腦?

這個指引的步驟是憑空多出來的,多一個步驟就會多一個出問題的可能性——一旦指引出差錯,客人就會暈頭轉向。

表現在宏觀世界,就是這個外設不起作用。

一般的鍵盤滑鼠還好,越是不常見的外設就容易出問題。

比如政府單位用來拍身份證的“高拍儀”,醫院的檢查儀器、網路印表機等等。這些裝置研發的時候,根本不會考慮什麼“二不二樓”的問題。

面對這種情況,適配工作只能由銳捷來做。

如何優雅地幹掉世界上不好用的電腦?

就像這些外設。

雲桌面賣得越多,團隊就越被相容問題搞得死去活來。

不相容的意思不是說插上裝置就肯定不能用,而是100次裡有98次沒問題,2次不好用。這兩次還是隨機的。。。

所以,有時候客戶告訴我們硬體不識別,我們的人去試了幾十次都沒問題,光是定位問題就花很長時間。

劉福能說。

而且,外設問題只能下笨功夫解決:出現一個不相容,就解決一個不相容。

但是,外設的種類五花八門,就像中國的美食一樣,你吃一輩子都難以窮盡所有型別。每天都有新的外設冒出來,可謂驚喜連連。。。

劉福能漸漸意識到,對於外設很多的使用場景,無理論是 VDI 架構還是 IDV 架構,都不是最優解,一定有一種新架構等待他們去發現。

這個問題還沒解決,雲桌面大廈上另一個更大的裂縫出現了。。。

如何優雅地幹掉世界上不好用的電腦?

(五)“計算力招安計劃”

雖然說起來銳捷穩坐中國雲桌面的第一把交椅,但劉福能每天都感覺到如芒在背。

這個危機不是來自於競爭對手,而是來自於安臥在全國各地每一個辦公室裡的“商用 PC”——不要忘了, 銳捷雲桌面當年的豪言壯語可是要替代所有商用 PC 的。

牛已經吹出去了,可直到2020年,雲桌面的市場份額只推進到了5%,剩下95%的計算裝置還是在全國各個辦公室裡“賴著不走”的商用 PC。

劉福能就納了悶,怎麼達爾文的“物競天擇”在辦公室裡失效了呢?

事情是這樣的:

雖說很多辦公室裡的 PC 已經很老舊,但是完成日常任務也沒問題,老驥伏櫪,扶我起來我還能蹦,大家都沒啥動力更換。

即便是買新電腦,很多企業已經習慣了祖傳的“買電腦”模式——“買電腦”的任務一直在採購部手裡,和列印紙、鉛筆橡皮啥的算一類。

銳捷去安利雲桌面的時候,採購部皺皺眉頭:“你這雲桌面算是IT系統了,需要IT運維部門去買,我們採購部說了不算。。。”

所以,無論管控效率多差,計算效率多低。這些 PC 就是像一根根刺一樣紮在那裡。

如何優雅地幹掉世界上不好用的電腦?

劉福能和銳捷這群老司機開始反思,是不是自己的姿勢不對。。。

過去,我們總想給使用者最極致的東西。

但是,我們慢慢發現,如果產品臺階太高,使用者就很難一步跨上來,我們需要在中間加一個過渡臺階。

劉福能分析。

這個過渡臺階到底是什麼呢?解藥還得在技術中找。

就在雲桌面團隊發愁的當口,一支援軍趕到。這個援軍,還是英特爾。

英特爾搞出了一個黑科技,叫做 TCI(Transparent Client Infrastructure 透明終端架構)。

啥是 TCI 呢?

簡單來說, TCI 就是既能集中管理電腦,還能保持電腦本地算力和外設相容的優勢。

這是怎麼做到的呢?

中哥還是沿用之前隔斷房的例子給你科普下:

首先,不用虛擬化技術,終端的“小房子”上也就沒有所謂的“二樓”了,所有計算直接跑在“一樓”。

其次,TCI 技術相當於在各個小房子外面配一個“管家”,專門負責把遠端伺服器的“最高指示”帶到房子裡。

如何優雅地幹掉世界上不好用的電腦?

每次電腦啟動時,管家先進房間,按照從雲端拉來最新的“裝修圖”(系統映象),把這間房子佈置成圖紙中的樣子,然後管家就退出屋子,把控制權讓給你——電腦的使用者。

你決定關機的時候,系統會再把屋子的控制權交還給“管家”,以便下一次啟動的時候能按照最新的“裝修圖”(映象)重新佈置房間。

如何優雅地幹掉世界上不好用的電腦?

這種“權力無縫交接”的過程,用專業術語來說就叫“透明引導”。

多說一句,這裡的權力交接也不是全部交接,“管家”會在屋子裡留一個“黑匣子”。比如遇到宕機狀況,他就會收到資訊,然後重新發指令點亮這臺計算機。

所以,TCI 架構不僅有和 IDV 一樣“不怕斷網”、“方便您管理”的優點,還擴大了雲桌面可以納管的裝置範圍。

而且這裡還有個意外驚喜。TCI 架構還一勞永逸地解決了之前的那個“小裂縫”——外設不相容的問題。

因為根本沒有虛擬化層了,也就沒有“二樓”,來串門的客人就不需要那個上樓的“引導過程”,也就永遠沒有迷路的可能了。

如何優雅地幹掉世界上不好用的電腦?

把 TCI 技術引進雲桌面是銳捷在2021年搞定的。搞定它的,正是雲桌面的技術大牛陳興斌和他的團隊。

興斌告訴我,他們這幫老司機要面對的路況非常複雜,這種複雜主要來自於老裝置對新技術的不相容。

隨便舉一個例子:

用 TCI 技術啟動電腦的時候,實際上是在電腦上先啟動 RainOS,然後 RainOS 再把對各種硬體的控制權一項項移交交給 Windows。

可 RainOS 是基於 Linux 開發的,有的舊型號計算機,它的硬體(BIOS)裡的程式碼就是為 Windows 啟動而編寫的,而且程式碼已經寫死,沒辦法支援原生啟動 Linux 系統。

這就像一隻牛天生只能吃草,你硬要給它吃肉。。。

興斌他們用欺騙手段,讓牛以為自己吃的是草。也就是所有程式碼都做偽裝,讓 BIOS 以為自己啟動的是 Windows,其實執行了啟動 RainOS 的程式碼。

一旦啟動完成,BIOS 再發現自己上當, 那生米已經煮成熟飯了。

如何優雅地幹掉世界上不好用的電腦?

陳興斌

像這樣的適配和技術改進還有很多,篇幅有限就不講了。

總之,為了讓儘可能多的電腦都能適配 TCI,團隊從2021年春節前一直搞到五月末。

2021年夏天,他們釋出了基於 TCI 的雲桌面。

從商業上講,不用額外花錢,就能把已有的電腦都變成雲電腦,這個事兒確實挺划算。很多原本不買雲桌面的企業都開始認真思考這個方案。

這就是銳捷最新的“商用 PC 招安計劃”。

說到 TCI,劉福能對我感慨:“其實我們早就想到應該相容舊機器,只是這件事兒要做的技術準備實在太多太多,一直難以鼓起勇氣。但該做的事情早晚要做。正好有了 TCI 技術,才讓我們硬著頭皮把它幹下來了。”

某種程度上,銳捷的幾次技術突破也證實了英特爾的判斷——端上的計算力不僅是被需要的,產品方案上也能跑得通。

由於 IDV 和 TCI 兩個技術都是把雲桌面的算力向終端傾斜,所以,英特爾就把這兩種技術合稱為“超能雲終端”。

如何優雅地幹掉世界上不好用的電腦?

我專門給英特爾中國的一位工程師打了一個電話,他告訴我,其實英特爾對於雲桌面的計算力是有一套思考邏輯的。

於VDI架構這樣的傳統雲終端,雖然能夠解決管理問題,但是終端應用卻受到雲端算力不足、外設相容性差、網路依賴這些制約。

所以,他們才在2020年搞出了英特爾“超能雲終端”。

從技術上說,TCI 屬於“韌體層預啟動級系統管理解決方案”。在預啟動階段就會載入系統映象,然後啟動作業系統,執行期間還由 TCI 伺服器進行管理。

這樣不僅能集中管理、快速部署系統和分發應用,還能利用本地計算機的強大效能、相容性等等。

他說。

簡單來說,超能雲終端既可以看做是一個 PC,又有了雲端便捷的加持。技術的進步,往往就用這種潤物細無聲的方式改變著世界。

故事講到這兒,我們不妨順著英特爾的視角繼續遠望,一場綿延幾年的雲端和終端算力來去奔湧的場景出現在我們眼前。

在PC 時代,每個人都固守終端上獨立的計算力;

在雲桌面爆發的初期,計算力從終端向雲端奔湧彙集;

在雲桌面的盛世,計算力的浪潮又從雲端向終端部分迴流。

你可能會問:那未來計算力究竟應該在雲端還是在終端呢?

我也同樣好奇這個問題。不過,劉福能給了我一個特別有趣的答案。

如何優雅地幹掉世界上不好用的電腦?

(六)計算力的自由

劉福能沒有直接回答我的問題,而是給我講了另一個技術:“vAPP”。

vAPP 理解起來很簡單。它不把系統虛擬化,而是把系統裡的軟體應用(App)虛擬化。

舉個栗子:

你們公司分配給你一臺 IDV 的電腦,此時,你的 Word、Excel 等等所有程式都應該跑在本地計算力上,這沒錯吧。

注意,這裡出現了一個例外,公司有一個自己研發的協作 App——“喵信”。

如何優雅地幹掉世界上不好用的電腦?

喵信是跑在雲端伺服器上的,透過 IDV 的模式把影象傳到你的螢幕上。只不過,這個影象傳輸不傳整個系統螢幕,而是單獨傳輸喵信視窗這個區域性。

如何優雅地幹掉世界上不好用的電腦?

於是,它就成了“虛擬 App”,也叫 vApp。

如何優雅地幹掉世界上不好用的電腦?

也就是說,你的電腦裡實現了“一國兩制”,既能操作本地 App,也能看到來自雲端的 vApp。

有了 vApp 的技術,你再來審視之前的問題:未來計算力究竟應該在雲端還是在終端呢?

我估計你已經有答案了:愛放哪兒放哪兒,哪兒合適就放哪兒。

究其本質,是一堆底層技術的成熟,已經可以讓計算力在“雲”和“端”自由流動了,既然自由流動,你就不用糾結,隨時按需分配計算力就好了。

劉福能把“VDI 技術”、“超能雲終端技術(IDV 和 TCI)”、“vApp 技術”合稱為“三擎”。

這才是這群技術宅看到的真正未來。

如何優雅地幹掉世界上不好用的電腦?

說到這,你可能會問:你說了半天計算力的自由流動,對我們普通上班族來說到底有什麼好的?

銳捷雲桌面正在秘密研發一個叫做 WorkSpace 的東西。

簡單來說,WorkSpace 的作用就是讓你用非辦公電腦來訪問雲桌面系統。

舉個例子,你週末在家,突然有客戶跟你要一個資料。可是你的資料存在了辦公室的電腦裡,如果跟客戶說上班再說又不禮貌。

這個時候,你就可以用自己家裡的電腦遠端喚醒自己在辦公室的那臺 IDV 電腦(或者喚醒雲端的 VDI 電腦),然後把資料複製出來。

此時,空無一人的辦公室,你的電腦會突然開機。當然為了保護隱私,螢幕上是不會顯示你正在進行的操作的。

這也就意味著,任何一個人在任何時候都可以接入自己的工作空間,不用受肉身位置的限制。

你看,看起來簡單的功能,背後其實把我們剛才用1w字介紹的“三擎”底層密密麻麻的技術用了個遍。

熟悉中哥的淺友知道,中哥總喜歡說計算力。但是從銳捷雲桌面的故事裡,你也許可以窺見計算力的另一個側顏。

計算力不僅僅支撐起微信淘寶這樣的全民應用,也不僅僅支撐起石油電力管網排程這樣的國之重器,他也支撐起我們每個普通人微小且堅定的努力。

你我每天坐在電腦前,計劃書上的每一個字、PPT 上的每一個圖、表格上的每一個數據,背後都是微小的計算力在震顫。而這些微小的計算力,最終也匯聚成社會的前行浪潮。

告別劉福能,我又回想起初中的那個午後。

厚重的映象管螢幕鑲嵌在講桌裡,黑色的 DOS 和幽藍的 WinXP,老師的眉頭緊皺和無可奈何,捲簾門似的投影布緩緩落下又升起,那堂讓人失望的英語課。彷彿一切就在昨日。

時代總在進步,年華也在老去。

正因為有無法彌補的遺憾,我們才更能明白眼前的一切意味著什麼。

如何優雅地幹掉世界上不好用的電腦?

計算力們

聯合起來

再自我介紹一下吧。我叫史中,是一個傾心故事的科技記者。我的日常是和各路大神聊天。如果想和我做朋友,可以搜尋微信:shizhongmax。

哦對了,如果喜歡文章,請別吝惜你的“在看”或“分享”。讓有趣的靈魂有機會相遇,會是一件很美好的事情。

Thx with

in Beijing

原標題:《如何優雅地幹掉世界上不好用的電腦?》