徐葳
云計算時代,什么是云計算自動化?現(xiàn)在所謂先進(jìn)的云計算自動化的水平,是一個基于規(guī)則的專家系統(tǒng)。包括Openstack告訴你,如果系統(tǒng)里發(fā)生什么事,如果用戶干什么,我需要干什么,為什么這東西不能用?因?yàn)橄到y(tǒng)很復(fù)雜,這么復(fù)雜的東西,你需要寫多少行規(guī)則才能夠運(yùn)行它呢?并且一旦系統(tǒng)出了一點(diǎn)兒問題,就運(yùn)行不了。所以單靠寫規(guī)則來實(shí)現(xiàn)機(jī)器的智能不太現(xiàn)實(shí)。
那么,今天我們?nèi)绾卫么髷?shù)據(jù)和人工智能讓基礎(chǔ)設(shè)施更聰明?第一點(diǎn)你必須得看見數(shù)據(jù)中心有什么,發(fā)生了什么事,你如果看不見沒法智能。第二點(diǎn),怎么總結(jié)以上提到的這些;第三點(diǎn),怎么能夠讓這些機(jī)器自己“想”一些事清;第四點(diǎn),讓我做的東西更加精確、更加可靠,讓大家能放心。讓機(jī)器自己有學(xué)習(xí)能力,這樣才能有一個真正智能計算的基礎(chǔ)架構(gòu)。
其實(shí)這個過程說起來容易,但每走一步,都會面臨巨大挑戰(zhàn)。計算機(jī)系統(tǒng)的發(fā)展,跟飛機(jī)比較相象,飛機(jī)是有物理模型后,才有控制鏈,計算機(jī)的增長到現(xiàn)在,叫做游擊增長,在這種情況下,我們怎樣能夠控制它,能夠讓它變的更智能?
系統(tǒng)管理與知識管理
簡單介紹下我們過去做的工作,給大家一些啟示:如何處理數(shù)據(jù)中心里的數(shù)據(jù)。在數(shù)據(jù)中心,你要想看到他本身產(chǎn)生大數(shù)據(jù),怎么看?我們的機(jī)器無時無刻不產(chǎn)生著一些數(shù)據(jù)、日志、文字,怎樣把這些文字變成結(jié)構(gòu)化、半結(jié)構(gòu)化的信息,能夠知道系統(tǒng)發(fā)生了什么事,知道這些日志記載的用戶干了什么事情,這就是日志的分析。后來分析日志慢慢被人遺忘,為什么?因?yàn)榇蠹矣X得日志的生成分析有些貴,是不是值得花這么多錢分析這些數(shù)據(jù)?能不能分析出一些東西不好判斷。
為什么日志的分析非常貴呢?你需要把一個計算機(jī)里的信息、結(jié)構(gòu)化的信息排成一個平板化的文字型日志,當(dāng)你學(xué)習(xí)時再讀出來,分析成結(jié)構(gòu)化,這些東西浪費(fèi)了很多時間以及網(wǎng)絡(luò)帶寬等?,F(xiàn)在大家的做法是,我不采取日志,并且把日志信息開銷做得非常簡單,我可以不采集文本信息,直接采集結(jié)構(gòu)化信息,只有需要改變文本,需要給人看的情況下,生成信息,在這種情況下我們可以把日志分析的開銷降低。
日志這個系統(tǒng)有個監(jiān)控數(shù)據(jù),一定要看到,你看的越細(xì)系統(tǒng)越智能,看到這么多數(shù)據(jù),數(shù)據(jù)是零散的是亂的,怎么整理成知識。這些知識是人造的,人記錄的,干這個活要記錄,這種系統(tǒng)管理和運(yùn)營的經(jīng)驗(yàn)是難以傳授和難以保持的,幾天不干就忘掉了,所以,這就是為什么有IT咨詢行業(yè)。
我們希望知道的事情是什么?系統(tǒng)在哪里,那東西是人做的,為什么我們不能自動發(fā)覺它的知識,為什么不能自動管理它的知識呢,我們認(rèn)為這個是可行的。
我們看到系統(tǒng)里最簡單的規(guī)則,包括日志、數(shù)據(jù)庫里的內(nèi)容,通過文本挖掘和一些挖掘手段自動建立起一張知識結(jié)構(gòu)的網(wǎng)絡(luò)圖。抓住系統(tǒng)與不同組件之間的關(guān)系,也就抓住了時序上的關(guān)系。通過這個圖可以把系統(tǒng)管理員的各種問題,他腦子里想的問題全部變成圖,這樣我們可以讓一切東西,變的非常機(jī)械化和自動化。
系統(tǒng)管理與知識管理,是初步的工作后面還有很多可完善的地方。但系統(tǒng)管理工作、系統(tǒng)知識和系統(tǒng)里的數(shù)據(jù)我們是可以用一個非常機(jī)械的方法管理,這個是通往自動化更重要的一步。
靈活基礎(chǔ)設(shè)施的意義
靈活的基礎(chǔ)設(shè)施非常有意義,你要用好這種靈活基礎(chǔ)設(shè)施,需要有跨層的優(yōu)化方法,什么是跨層?機(jī)器設(shè)計時是一層一層的,為什么有這些層,為什么抽象?因?yàn)槿擞洸蛔∵@么多的知識,現(xiàn)在大數(shù)據(jù)時代是靠數(shù)據(jù)分析的這些知識,靠機(jī)器分析無所謂記不記得住,機(jī)器看的時候是一體看下去,把跨層優(yōu)化,嘗試很多方案,這種方案的結(jié)果是人工智能比人做的好,我們認(rèn)為應(yīng)該充分利用。
最后談一下控制機(jī)器。舉個例子,我們跟百度合作的數(shù)據(jù)中心供電項(xiàng)目,百度數(shù)據(jù)中心供電容量非常貴,建造花費(fèi) (大型系統(tǒng)): 每千瓦9,000~13,000美元,但他的平均功率利用率<72%為什么?因?yàn)椴桓彝锓?,管理員怕應(yīng)用放上去會造成用電壓力,主要原因來自于供電時空分布不均勻,缺少智能調(diào)度,故以保守利用為主。
供電調(diào)度的思路看似很簡單,比如你覺得某個地方有點(diǎn)多了,就不要再把任務(wù)往這個地方調(diào),而是調(diào)到別處去。但別的地方增加多少,某個地方減少多少,這個量是無法做到精確的,包括接口限制太大、影響系統(tǒng)運(yùn)行的因素太多、在生產(chǎn)系統(tǒng)上沒有辦法做系統(tǒng)模型等原因。
這時需要用持續(xù)的反饋控制,來補(bǔ)償誤差。例如,我們通過發(fā)電控制的技術(shù)手段減少誤差,多放17%服務(wù)器,增加15%吞吐量,是否不影響供電安全,也不影響業(yè)務(wù)性能?反饋控制是一種提升控制的可靠性和精度的好方法。我們希望控制一個系統(tǒng),如果他穩(wěn)定,怎么穩(wěn)定更好,控制它比不控制要強(qiáng)。
最后總結(jié)一下,第一點(diǎn),怎么讓數(shù)據(jù)中心變得更智能?數(shù)據(jù)要采集,要整理,我們要問系統(tǒng)你到底是什么,有什么問題。第二點(diǎn),我們需要影響機(jī)器,需要給它做一些事情,這個時候我們需要軟件定義,讓這個控制的操作更加的可靠,更加精準(zhǔn)。
后面一步是什么?我們認(rèn)為用深度學(xué)習(xí)、加強(qiáng)學(xué)習(xí)的智能方法,讓系統(tǒng)知道我在何種情況下,什么時間做哪些動作。在這些條件下,系統(tǒng)才會真正變的更智能,而不是靠規(guī)則運(yùn)行。(根據(jù)演講內(nèi)容整理,未經(jīng)本人審核)