2
本文作者: 史中 | 2016-10-17 15:33 |
你知道向左是燈紅酒綠,向右是滄海青山,卻無法知道向哪里走會(huì)最終給你更好的未來。
你知道應(yīng)該單膝下跪向心愛的人求婚,卻不知道今后的每一個(gè)日夜要如何相處,才能和她最終廝守一生。
每一條岔路都通向更多的岔路,每一個(gè)選擇都帶來更多的選擇。我們站在原地,憑著自己知道的“很多道理”,妄圖“過好這一生”,恐怕會(huì)惹上帝發(fā)笑。
這就是我們每個(gè)人面對(duì)的困境,我們精密的大腦可以在簡(jiǎn)單的邏輯里做出最有利于自己的判斷,但在無數(shù)疊加的抉擇面前,卻無力地像隨風(fēng)浪跡的沙塵。
因?yàn)檫@世界上的選擇和它們通向的答案,比宇宙的星辰還要多。
我給你成千上萬形狀不一的小石塊,讓你填滿身上的背包。請(qǐng)你告訴我,你如何才能知道哪些石塊的組合才能讓背包裝得最滿?
唐洪,阿里云飛天系統(tǒng)的首席架構(gòu)師,用這個(gè)看似輕描淡寫問題描繪了阿里云的終極意義。
【阿里云飛天系統(tǒng)的首席架構(gòu)師 唐洪】
理論上來說,窮舉所有石塊的組合,就可以得到答案。但事實(shí)是,按照?qǐng)D靈機(jī)的計(jì)算模型,計(jì)算的復(fù)雜度和可供選擇的石頭數(shù)目成指數(shù)關(guān)系。每增加一個(gè)石塊,計(jì)算量就翻一倍。
僅僅為了這一個(gè)答案,所需的計(jì)算能力就超出了人類所有計(jì)算機(jī)的總和。在哲學(xué)上,這恰如我們一次次的人生抉擇:除非你嘗試每一種可能,否則無法知道正確答案,而上帝不會(huì)給你嘗試每一種可能的機(jī)會(huì)。
這個(gè)事實(shí)讓人敬畏上蒼。
然而,在唐洪眼中,“飛天”——阿里云的核心操作系統(tǒng),正是為了這些“終極答案”而來。
在那部經(jīng)典的科幻電影《2001漫游太空》中,一個(gè)遠(yuǎn)古猿人把骨頭奮力拋向藍(lán)天,立刻幻化成穿梭在太空中的宇宙飛船。
這一幕被譽(yù)為科幻電影的經(jīng)典鏡頭,讓無數(shù)人熱淚盈眶。然而仔細(xì)想來,把一個(gè)宇宙飛船射向太空,原理不就等同于把一個(gè)碩大的骨頭扔向更高的天空嗎?
一個(gè)原始人都會(huì)做的動(dòng)作,當(dāng)它的體量無限擴(kuò)大以后,就變成了需要千萬年后的高科技才能實(shí)現(xiàn)的壯舉。
飛天所做的工作,說到“原子”層面,就是排序、數(shù)數(shù)。拿淘寶舉例,就是分析商品賣了幾個(gè),分別是什么時(shí)候賣的。而一旦這樣的工作一旦變成大規(guī)模,各個(gè)數(shù)據(jù)之間都有關(guān)聯(lián),就很難在短時(shí)間內(nèi)得出正確答案。
把億萬賣家和買家的信息進(jìn)行計(jì)算,得到的并不是簡(jiǎn)單的商品庫(kù)存和銷售情況。
通過數(shù)據(jù)分析,可以讓用戶用最快的速度搜索到自己想要的商品。
通過數(shù)據(jù)關(guān)聯(lián),可以判斷用戶的性別愛好,從而根據(jù)場(chǎng)景做出精準(zhǔn)的商品推薦。
通過數(shù)據(jù)整合,可以判斷出一個(gè)人是否有信用污點(diǎn),從而在金融產(chǎn)品中決定給申請(qǐng)者的貸款額度,控制壞賬率。
這些我們?cè)谔詫?、天貓、螞蟻金服中享受的功能,就是“大?guī)模計(jì)算”得到的奇跡?!?+1”的小兒科,不經(jīng)意間變成了我們敬畏的“大數(shù)據(jù)”。
而把這些“大數(shù)據(jù)”繼續(xù)進(jìn)行調(diào)度,就能產(chǎn)生“上帝之手”的功效。
大規(guī)模的任務(wù)調(diào)度是非常復(fù)雜的,例如滴滴打車的出租車規(guī)劃、機(jī)場(chǎng)的飛機(jī)調(diào)度,甚至是沃爾瑪?shù)膸?kù)存管理,都不是靠人腦可以勝任的。因?yàn)槊總€(gè)場(chǎng)景都幾乎有無限種可能和選擇。
唐洪說。
至此,我們遇到了之前的“背包裝石頭”問題。
大家熟知的非對(duì)稱安全加密技術(shù),今天熱門的區(qū)塊鏈技術(shù),都是基于計(jì)算極限問題 (intractability)的假設(shè)。飛天當(dāng)然也不可能突破計(jì)算極限。所以我們只能給出近似解,而不是理論上的最優(yōu)解。
最優(yōu)解只有一個(gè),而近似解有無窮多。怎樣在浩如煙海的解中找到最合適的近似解,就是飛天的“刀鋒”所在。
“從飛天誕生開始,我們一直在做的就是這件事?!彼f。
由于不同行業(yè)的業(yè)務(wù)和數(shù)據(jù)有自己的特點(diǎn),這就使得“飛天”計(jì)算集群可以把好鋼用在刀刃上。利用模型和算法刪除掉一些不可能的“子集”,這樣就可以使得最終的求解范圍在一定程度內(nèi)縮小。但即使這樣,所需的運(yùn)算仍然超越想象。這時(shí)就需要另一套規(guī)則和模型根據(jù)“價(jià)值判斷”做出取舍。
這就像你身處一個(gè)碩大的房間迷宮中,每個(gè)房間都有很多門,而打開一扇門之后,又會(huì)進(jìn)入一個(gè)新的房間,這個(gè)新的房間同樣有很多門。為了找到最終的出口,你需要先排除掉那些肯定不會(huì)通往出口的門,然后在這些可能的出口中,挑選可能性最大的那扇門。
由于沒有完美的正確答案,所以這些模型和判斷的優(yōu)化,永無止境。這在某種程度上類似于“進(jìn)化”。
然而,大規(guī)模計(jì)算所面臨的問題,遠(yuǎn)遠(yuǎn)不止如上這一個(gè),唐洪為雷鋒網(wǎng)列舉了另外一個(gè)重要的問題,那就是自動(dòng)化的難度。
超越人腦的極限的計(jì)算,必須用自動(dòng)化的程序來完成。但是數(shù)據(jù)體量變大之后,平常看來邊邊角角的問題就成為一個(gè)嚴(yán)重的情況,那就是如何保證自動(dòng)化的正常運(yùn)作。計(jì)算錯(cuò)誤、指令未傳達(dá)、系統(tǒng)卡死等等小概率的事件,都會(huì)因?yàn)閿?shù)據(jù)和計(jì)算集群的龐大而變得幾乎成為必然。
這個(gè)時(shí)候,就需要對(duì)于計(jì)算的每一個(gè)微小的步驟實(shí)現(xiàn)感知和監(jiān)控,發(fā)現(xiàn)錯(cuò)誤。但是,對(duì)于云計(jì)算每個(gè)路徑的各個(gè)步驟實(shí)現(xiàn)監(jiān)控,絕非易事。
對(duì)于計(jì)算的跟蹤,需要對(duì)每一步進(jìn)行“染色”,就是做一個(gè)標(biāo)記以便系統(tǒng)進(jìn)行關(guān)聯(lián)。這就需要在處理過程中嵌入染色信息。但是系統(tǒng)運(yùn)行的每一個(gè)步驟都各不相同,需要根據(jù)具體的情況來找到最好的嵌入點(diǎn)。更難辦的是,有些步驟根本沒有辦法嵌入信息。這個(gè)時(shí)候,就要根據(jù)計(jì)算周邊的信息來做推斷。
例如某個(gè)進(jìn)程打開了文件,操作系統(tǒng)中會(huì)用一個(gè)描述符來表示這個(gè)文件,通過對(duì)描述符的關(guān)聯(lián),就可以把在操作系統(tǒng)內(nèi)核中發(fā)生的事件和用戶進(jìn)程關(guān)聯(lián)起來了。
所有的跟蹤都是具體問題具體解決,可想而知付出的艱辛有多大。
他說。
以上這些“坑”,都是唐洪和飛天用了七年時(shí)間,一點(diǎn)一點(diǎn)趟出來的。然而,所有的這些微小進(jìn)化的累積,都是建立在飛天的“算力”基礎(chǔ)之上的。
唐洪說,飛天系統(tǒng)就像一個(gè)巨大的計(jì)算機(jī),只不過是由全球各地的數(shù)據(jù)中心,幾十萬臺(tái)服務(wù)器,通過專線聯(lián)系,組成的超大計(jì)算集群。
看到這里,你可能會(huì)恍然大悟,調(diào)度全球的幾十萬臺(tái)服務(wù)器,本身就是一個(gè)“背包裝石頭”的巨大挑戰(zhàn)。
唐洪給雷鋒網(wǎng)講述了飛天誕生的故事。
彼時(shí)的阿里巴巴,某種程度上說站在了危險(xiǎn)的懸崖邊上,而還在嬰兒期的飛天,做了一個(gè)美麗的夢(mèng),名叫“5K”。
王堅(jiān),永遠(yuǎn)帶著一副笑容,身影高瘦看似弱不禁風(fēng)。不過,就是這個(gè)人,頂住了所有的質(zhì)疑和壓力,成為眾人心中守護(hù)阿里云從一顆嫩芽長(zhǎng)成參天大樹的英雄。
包括唐洪在內(nèi)的所有人,都把王堅(jiān)稱為“博士”。當(dāng)年,正是博士的一通越洋電話,把唐洪從美國(guó)“忽悠”了回來。
2012年的飛天還在研發(fā)的早期階段,只能支持最大 1500 臺(tái)機(jī)器的集群,也時(shí)常因?yàn)橐恍゜ug遭受客戶的吐槽。當(dāng)時(shí),阿里巴巴的很多數(shù)據(jù)處理的任務(wù),還是建立在開源軟件 Hadoop 的系統(tǒng)之上的,這個(gè)集群大概有 3000-4000 臺(tái)機(jī)器。
【阿里巴巴集團(tuán)技術(shù)委員會(huì)主席王堅(jiān)】
但是,Hadoop 無論從安全性還是運(yùn)行邏輯上,都不是為公共云計(jì)算設(shè)計(jì)的。
Hadoop 的存儲(chǔ)和計(jì)算是一體的,也就是說,如果你需要十臺(tái)機(jī)器的存儲(chǔ),但不需要十臺(tái)機(jī)器的計(jì)算能力,你仍然需要十臺(tái)機(jī)器的集群,這是一種浪費(fèi)。雖然可以通過其他方法解決這樣的問題,但是運(yùn)行效率會(huì)大大降低。
Hadoop 的賬號(hào)體系,不是面向互聯(lián)網(wǎng)租戶的賬號(hào)體系,更多的是面對(duì)本地管理員。這就決定了它不能像如今的阿里云一樣出售給互聯(lián)網(wǎng)級(jí)別的用戶。
另外,Hadoop 高度的靈活性,允許應(yīng)用層的用戶直接訪問底層的文件,這存在巨大的安全隱患,也不可能直接以多租戶共享的形式跑在公有云上。
唐洪告訴雷鋒網(wǎng),以上的一切弊端,都很難通過修修補(bǔ)補(bǔ)的方式,在 Hadoop 上規(guī)避。而更關(guān)鍵的問題在于,阿里巴巴那時(shí)業(yè)務(wù)的增長(zhǎng)速度,已經(jīng)趨近 Hadoop 集群的計(jì)算能力極限。一旦達(dá)到瓶頸,就必須被迫降低業(yè)務(wù)水平,或者主動(dòng)限制業(yè)務(wù)規(guī)模。
在此之前,阿里巴巴曾經(jīng)進(jìn)行過嘗試,用飛天來代替 Hadoop,但都以失敗而告終。彼時(shí)的阿里巴巴 CTO 王堅(jiān)對(duì)所有阿里的童鞋說,這個(gè)任務(wù)還是應(yīng)該讓飛天來承擔(dān),因?yàn)樵谒睦镉幸粋€(gè)計(jì)劃,那就是把飛天做成 5000 臺(tái)服務(wù)器的集群。這個(gè)當(dāng)時(shí)讓很多同事取笑的瘋狂想法,就是“5K”。
從1500到5000,絕不僅僅是再買3500臺(tái)機(jī)器這么簡(jiǎn)單。唐洪說:
摩爾定律注定了計(jì)算機(jī)硬件性能隨時(shí)間的指數(shù)增長(zhǎng) 。從1500臺(tái)老機(jī)器到5000臺(tái)新機(jī)器,計(jì)算力增加了8倍到10倍。在短短不到半年時(shí)間內(nèi)實(shí)現(xiàn)如此大跨度的軟件能力的升級(jí),對(duì)任何一個(gè)熟諳軟件工程規(guī)律的人來說,都是不可能的挑戰(zhàn)。
但是,飛天真的做到了。世界上買得起五千臺(tái)服務(wù)器的公司不少,但是真得有自己研發(fā)的技術(shù)調(diào)度這么大規(guī)模集群的,一只手都數(shù)得過來。
為什么阿里云一定要建設(shè) 5000 臺(tái)機(jī)器的集群呢?
唐洪告訴雷鋒網(wǎng),對(duì)于阿里巴巴來說,很多計(jì)算任務(wù)是沒有辦法拆解的,必須在一個(gè)計(jì)算集群里完成。如此大量彼此聯(lián)系的數(shù)據(jù),就需要這么多機(jī)器處在一個(gè)集群中協(xié)同分析。
就在2012年底的總裁會(huì)上,還有人提出要重新依靠 Hadoop。但最終總裁們決定兩條路一起走,既要 Hadoop 也要飛天。但是在我看來,這種決策讓技術(shù)力量分流了。其實(shí),當(dāng)時(shí)我根據(jù)團(tuán)隊(duì)內(nèi)部的模擬實(shí)驗(yàn)結(jié)果,心里很清楚達(dá)到 5K已經(jīng)不是架構(gòu)設(shè)計(jì)的問題,而是一個(gè)產(chǎn)品細(xì)節(jié)打磨的過程了 。但其他部門的同事可能并不這么認(rèn)為。這樣兩條路一起走就大大分流了技術(shù)力量,所以5K能夠早一天做出來,就能早一天終結(jié)爭(zhēng)論。
他說。
2013年8月15日,是唐洪脫口而出的日期。這一天,事實(shí)宣判了王堅(jiān)、唐洪和飛天的判斷是對(duì)的 。5K 集群上線,并且是同時(shí)上線了兩個(gè) 5K集群。
在阿里巴巴云棲小鎮(zhèn)里,樹立著一尊 5K 的雕像。這尊雕像比想象中要小,卻絲毫不能阻擋它向周圍散發(fā)著理想的質(zhì)感,很多路過的人都會(huì)駐足觀看。
【坐落在阿里云棲小鎮(zhèn)的飛天 5K 雕像】
唐洪告訴雷鋒網(wǎng),后來的事實(shí)證明,Hadoop 集群在超越4000臺(tái)機(jī)器集群之后,會(huì)遇到不可逾越的瓶頸。如果當(dāng)時(shí)阿里巴巴選擇依賴 Hadoop 系統(tǒng),如此高的業(yè)務(wù)增長(zhǎng),將會(huì)遇到計(jì)算性能的“斷崖”,后果難以設(shè)想。
就像當(dāng)年的波音的747飛機(jī)、Intel的x86芯片、SpaceX 的火箭一樣,所有的偉大創(chuàng)造,都來自于孤注一擲。
唐洪如此感慨。
我記得2012年或者2013年我們進(jìn)行校招的時(shí)候,清華北大的學(xué)生來面試的非常少,而且很多同學(xué)即使拿到了我們的Offer,他們的第一選擇也會(huì)是百度和騰訊。
唐洪把這個(gè)悲傷的事實(shí)當(dāng)作一個(gè)段子講給雷鋒網(wǎng)。在今年的阿里星面試上,唐洪問同學(xué)問為什么選擇來阿里云,得到的回答是“阿里云的云計(jì)算技術(shù)領(lǐng)先”。
他簡(jiǎn)單地形容了一下現(xiàn)在的飛天:
單集群萬臺(tái),全球總共幾十萬臺(tái)服務(wù)器,每天數(shù)據(jù)平臺(tái)處理的數(shù)據(jù)超過 1PB。
不過他覺得,這些都不能說明飛天的強(qiáng)大,真正有說服力的,是阿里巴巴在“吃自己的狗糧”,也就是包括淘寶天貓?jiān)趦?nèi)的部分重要業(yè)務(wù),包括瞬時(shí)并發(fā)計(jì)算量驚人的“雙十一”,都由飛天來負(fù)責(zé)云計(jì)算調(diào)度。也就是說,阿里巴巴自己也在使用給其他客戶提供的相同的云服務(wù),沒有任何特權(quán)和區(qū)別。
“我相信國(guó)內(nèi)某些競(jìng)爭(zhēng)者們自己的服務(wù)肯定沒有跑在自家提供的云上?!彼f。
讓阿里云引以為傲的一個(gè)數(shù)據(jù)是:在中國(guó) 37% 的網(wǎng)站都建立在阿里云之上。
我們的預(yù)計(jì)是,未來全世界可能只有幾臺(tái)“計(jì)算機(jī)”,他們都是由超大規(guī)模計(jì)算集群組成的。這個(gè)時(shí)候,計(jì)算力就會(huì)被徹底地解放。
如果唐洪的預(yù)想成真,那時(shí)有關(guān)“背包裝石子”的計(jì)算,將會(huì)得出比現(xiàn)在更接近真相的解。也許我們永遠(yuǎn)找不到正確的答案,但是毋庸置疑,機(jī)器每每向正確答案逼近一小步,都是人的光榮。
每年,阿里云都會(huì)在大本營(yíng)杭州舉行云棲大會(huì),公布阿里云和飛天的最新進(jìn)展。在今年的大會(huì)上,馬云發(fā)表了熱情洋溢的演講。
原來的機(jī)器制造將會(huì)變成人工智能,原來機(jī)器吃的是電,未來機(jī)器吃的是數(shù)據(jù)。
馬云如是說。
可見,機(jī)器學(xué)習(xí)和人工智能,正是飛天下一步棋。
對(duì)于人來說,岔路后面的岔路,選擇背后的選擇,讓我們感覺到渺小和恐懼。為了對(duì)抗命運(yùn)的無常,我們發(fā)明了云計(jì)算,我們發(fā)明了人工智能。無論對(duì)于唐洪還是飛天來說,這些無數(shù)運(yùn)轉(zhuǎn)的芯片,無數(shù)網(wǎng)絡(luò)中川流不息的電流,都只有一個(gè)目的:
向世界要一個(gè)答案。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。