第92章 露一手(下)

投票推薦 加入書籤 小說報錯

  一眾領導寒暄完,重新回到了座位上,把講台留給了顧川。

  「不要緊張。」顧校見顧川一臉古怪,笑著鼓勵道,「就當提前答辯了。」

  什麼叫提前答辯…顧川才入學多久…

  後排的許倩媛的心一下就被揪了起來,看著在講台上做著深呼吸的顧川,雙手交叉,暗暗祈禱。

  但其實,這時候的顧川並不緊張。

  他只是有點似曾相識。

  他上輩子的崗階是4-2,因為算法部門在字節的特殊地位,他的實際權限相當於vp(副總裁)。

  說是十來個人之下,十幾萬人之上,還真沒什麼問題。

  上次給人像這樣「說課」是在哪裡?會議室吧?

  底下的人是清北碩博還是矽谷海歸來著?

  他捻起一支粉筆,再次朝領導們鞠了一躬,又看了一眼後排眼神有些擔心的許倩媛。

  這應該是不少學生想像過的場景吧,自己站在講台上,下面的導師握著筆,喜歡的女生還坐在後排看著。

  「我準備好了。」他停止胡思亂想。

  「第一個問題我來吧。」顧校主場,又是校長,需要他先來定調,

  「小顧啊,咱們先不聊後面那些複雜的哈希環,就聊你論文的第一部分。

  你的思路很巧,論文裡舉的例子也很有趣。

  傳統的 select輪詢,就像是宿管挨個敲整棟宿舍樓的房門,問有沒有垃圾要倒,這樣效率太低,處理太慢。

  不如有垃圾的宿舍自己把垃圾打個包,放在走廊上排好隊,這樣宿管直接收就行。

  這也就是你說的 O(1)。

  這個比喻,我沒理解錯吧?」

  見顧川點頭,顧校笑了笑,「那我這裡就有個問題了,如果某一天,這一萬個宿舍在同一秒鐘,全都有垃圾要倒。

  你的那個就緒隊列里,瞬間塞滿一萬個任務,應用層程序難道不需要把這一萬個任務挨個處理一遍嗎?

  既然最後還是要老老實實處理一萬次,總耗時依然是隨著連接數線性增長的。

  那你所謂的 O(1)優勢,到底體現在哪裡呢?

  這難道不是一個偷換概念的偽命題嗎?」

  全網首發更新𝕿𝖂看書📕𝖘𝖍𝖚.𝖙𝖜

  「是的。」顧川掂了掂手上的粉筆,知道顧校這是半測試半給自己抬轎子,

  「瞬間一萬條信息,處理消息的計算時間依然是O(N)。」

  「但我想解決的問題,從來不是處理信息,而是等待。」

  「比如…QQ。」顧川輕笑,

  「假設現在一百來個QQ掛在網上,但其實中間有九十萬都是靜默狀態,用傳統輪詢,cpu要把算力放在這些靜默的QQ上,不斷詢問『你要不要發送消息』,這就導致單台伺服器能承載的用戶量減少,想要解決,唯一的辦法就是多買伺服器。」

  「而在我的設想中,這九十萬個靜默狀態下的QQ根本不用搭理,直接處理已經發送的消息就行。」

  「I/O復用的本質是消滅無效的等待損耗,而不是處理消息的時間。」

  實際上,這正是小馬哥看到這篇論文會急忙來找他的原因。

  顧川的論文,在他眼裡,通篇只有兩個字,省錢。

  可惜顧川根本不會做資敵的事。

  小馬哥你還是老老實實卡著吧,這對大家都好。

  「很好。」顧校滿意的點了點頭,朝陳健龍點了點頭,「那麼第二個問題,小陳,你來吧。」

  「好,」陳健龍朝顧川笑了笑,「顧川,我花了點時間看了一下你說的哈希環概念。」

  「你說當網格里有伺服器A物理宕機了,那麼原本打向A的流量,會順時針尋找,平滑地轉移給下一個相鄰的節點B。

  數學上,這確實避免了全網數據的重新洗牌,非常好。」

  「但是在實際操作里,這是要出大事的。


  現在A死了,你把A的全部流量瞬間砸到B的頭上。B的CPU和網卡絕對扛不住這突如其來的雙倍壓力,它會在幾秒鐘內被當場壓垮。

  類似的,B死了,A和B的流量又會全部砸向下一個節點C,同理,C也會瞬間被擊穿,循環往復,整個系統會瞬間崩潰。

  我想知道,你考慮過這個問題嗎?」

  「當然。」顧川在黑板上畫了一個圈,標註了ABC,

  「如果把物理伺服器1:1的掛在這個環上,那炸一台機子,其他的必炸。」

  「所以…」

  他用在ABC旁邊噠噠噠的開始畫點,

  「我們需要在數學邏輯和物理硬體之間,再加一層,我管它叫虛擬節點。」

  「每一台真實的物理伺服器,我給它加上不同的前綴鹽值,進行哈希計算。

  舉個例子,一台物理機,我映射1000個虛擬的分身。

  那麼回到您剛剛的問題。

  這1000個A的分身,穿插在B和C的分身之間,散布在整個環上。

  如果物理機A燒了,環上消失的,不是一個巨大的A,而是1000個微小的A的碎片。

  這1000個碎片順時針尋找接盤…嗯,下一個伺服器時,它們找到的,將是剩下的所有其他物理機!

  原本屬於A數據,不會整個砸向鄰居B,而是被網格里剩下的所有機器,均勻平攤。」

  顧川在圈上寫下DEFG,

  「這樣,一台機器只增加了一點點的負載,理論上並不會出現問題。

  當然,要是環上所有機器都在滿負荷,那我建議加機器,別硬抗。」

  「這…」楊健龍直接站了起來。

  97年麻省理工的那篇論文裡,其實用數學語言提到了這個概念,只不過學術界現在根本沒有給它命名。

  顧川一個18歲的學生,居然想給它命名?

  真是…太狂妄…也太讓人喜歡了吧!

  不愧是我們數學系的!

  與之對應的,羅俊舟張著嘴,也站了起來。

  他是計算機出身,想比楊健龍的更深一步。

  在引入了虛擬節點後,不僅解決了雪崩問題,還順手解決了異構算力問題。

  「咳咳。」顧校不滿的斜了一眼兩人,「丟不丟人?」

  「啊…好…」兩人這才想起這是在哪,連忙坐下,開始竊竊私語,討論可行性。

  「你還好意思說他們?」蔣校看在眼裡,歪著頭低聲說道,「你剛剛差點把手上筆甩飛了。」

  「滾…」顧校摁了摁眉頭,感嘆道,「太嚇人了,老蔣。」

  「怎麼說,這塊你是專家。」蔣校皺眉,,「理論上可行?」

  「可能不僅僅是理論上…」顧校顫顫巍巍地摘下眼鏡,抹了把眼睛,

  「你不明白…他說的東西,雖然都是舊有理論,但是完全碎片化,有的是六十年代提出的猜想,有的是前幾年剛出來的公式。」

  「一年有多少期刊,多少論文?他到底是怎麼把這些知識整合在一起的…而且很多論文,都沒人翻譯…」

  「你們學校能把數學和計算機結合的,有多少?」

  「我明確告訴你,我們學校,博士生裡面,一個沒有。」

  「老蔣,我現在突然有點擔心,我教不了他喲。」

  「別胡說。」蔣校皺眉,「你是院士,有些話不能說出口的。」

  顧校沒有回答,只是重新戴上眼鏡,笑呵呵的對站在講台上的顧川說道,

  「顧川啊,我還有最後一個問題。」

  「您說。」顧川鬆了口氣。

  天色真不早了。

  「你怎麼保證,數據一致性的問題?」顧校緩緩問道,「在我們現在的結構里…算了,你肯定懂我在說什麼吧?」

  他看著顧川的眼睛。

  「知道。」顧川點頭,

  「您是想說,現在的數據結構,用資料庫鎖住,哪怕卡頓也不會有問題,我的這個如果卡頓丟包,可能會出大問題對吧?」

  「沒錯。」顧校閉了閉眼睛,「這不是考較,而是探討,你說說你的想法就好…嗯…這塊我也沒想明白。」

  這話一出,整間教室都安靜了下來,就連蔣校的眼神都變了變。

  一位院士要跟一個少年探討嗎…

  后座的許倩媛在顧川回答第一個問題的時候就已經大腦宕機了。

  為什麼每個字都能聽懂,連起來就看不明白了…

  顧川原來這麼厲害嗎?

  那這題…顧川會嗎?

  夕陽照進教室的窗戶,把顧川的半邊身子映襯的金黃。

  「好。」他的聲音很平,很穩,嗓音還帶著少年的清朗,

  「我有點想法,還請各位指正。」

  …


章節目錄