第414章 別找錯了方向
周偉皺著眉頭調出系統日誌。
他的第一反應是內存泄漏,跑這種規模的高維矩陣運算偶爾會有內存管理方面的問題,但是掃了一眼日誌之後發現不是。
通信帶寬都快被吃光了,InfiniBand互聯已經飆到百分之九十八了,而且還在往上沖,再這樣下去整個分區都要觸發過熱保護。
他心裡頓時咯噔了一下。
觸發過熱保護的後果就是強制降頻,算力直接腰斬,整個計算周期都會被無限拉長的。
付霖站在後排,盯著那個卡住的進度條看了好一會兒。
他是錢衛華的關門弟子,也是整個研究院最年輕的一個。
他常年都在研究大規模圖計算,對通信瓶頸比誰都敏感,看到這個曲線的時候腦子裡已經開始過各種可能的原因了。
常規的ScaLAPACK二維塊劃分在最壞情況下的通信量確實是全對全的,但是理論上,這種規模的數據,哪怕全對全也不應該把帶寬吃成這樣。
除非,除非模型本身的數據結構有什麼特殊的地方,導致了額外的冗餘通信。
「會不會是模型本身就是走不通的……」
他順著這個思路往下走,嘴裡不自覺地嘀咕出了聲。
話說出口的那一瞬間他還沒意識到有什麼問題。
這也是他的工作習慣,遇到瓶頸先排查可能性,模型層面的問題是可能性之一。
作為研究員,會發現問題是一種本事。
但前提是,別找錯了方向。
當整個控制室的人都扭頭看著他的時候,他才猛然意識到自己剛剛說了什麼。
他面前站的是誰。
肖宿。
那可是用一個月就證明哥德巴赫猜想,征服了湍流,站在數學和物理學頂端,被稱為肖神的人。
而他剛才當著所有人的面,質疑這個人的模型走不通。
「不是不是不是!」他雙手在胸前瘋狂擺動,臉漲得通紅。
如果是別人,模型層面出問題的可能性確實存在。
但是眼前這個人造的框架,用是不是模型的問題來開局,簡直就是赤裸裸的犯傻。
他恨不得把剛才那句話從空氣里撈回來,急切的解釋道:
「我不是那個意思!我是說會不會是我們超算的通信架構太老了,不是模型的問題!」
錢衛華在旁邊揉了揉太陽穴,心裡嘆了一口氣。
這孩子技術底子不差,就是太年輕了,還沒學會說話前先過腦子。
不過他也沒太擔心,以他對肖宿的了解,對方不會在意這種無心之失。
肖宿確實沒有在意。
他從來不覺得誰說的話會是絕對準確的,當然也不會要求所有人都無條件相信自己。
只是,他並不覺得付霖說對了。
相比於一台他尚不了解性能底細的機器,他明顯更信任自己的腦子。
肖宿在腦海里仔細回溯了一遍整個計算過程,最後,他的視線停在了屏幕上的那張通信拓撲圖上。
或許,他已經找到問題的所在了。
他對周偉說:「把譜分解這一步的通信拓撲圖調出來。」
周偉點頭,低頭敲了幾個命令,一張節點間通信拓撲圖被投到大屏上。
整張圖像一團被貓撓過的毛線球,幾乎每個節點都在和另外所有節點做數據交換,連線密密麻麻堆疊在一起。
「全對全通信,」肖宿看著那團毛線球,心裡確認了自己的判斷,「你們的並行分塊是按什麼分的?」
「按矩陣的行列做二維塊劃分,標準的ScaLAPACK分布策略。」
肖宿搖了搖頭。
所以,問題不在於超算架構,而是數據分塊方式出現了問題。
商空間降維里的等價類劃分有一個被所有人忽略的特性,那就是等價關係本身就帶有局部性。
兩個樣本點在大多數維度上都不需要做全局對比,只有落在同一個局部鄰域內的點才需要精確比較。
但是標準的分塊方式根本沒利用這個特性,把每個節點都當成需要和所有其他節點交換數據來處理,等於白送了一大堆沒用的通信開銷。
只要按等價類的局部鄰域結構做圖劃分,讓通信只發生在圖的割邊上,數據交換量就能從一個數量級壓到另一個數量級了。
肖宿沒再多解釋什麼,他拉過鍵盤,開始敲起了代碼。
先用局部敏感哈希做預分桶,哈希函數用隨機超平面投影,投影方向從數據的主成分方向里隨機採樣,保證高概率下近鄰點落在同一個桶里。
然後分塊策略改用哈希桶的鄰接圖來做譜圖劃分,每個子圖內的桶分配在同一個節點上,割邊數量最小化。
這樣需要跨節點通信的就只剩下割邊上的邊界樣本。
周偉看著屏幕上飛速增長的代碼,眼睛越瞪越大。
肖宿現在寫的這個東西嚴格來說算不上什麼深奧的理論突破,甚至可以說思路出奇的簡潔。
可就是這樣一個簡潔的架構,卻讓周偉起了一身的雞皮疙瘩。
局部敏感哈希預分桶、譜圖劃分、邊界通信封裝,這三層架構拆開來看,每一塊都是現成的算法積木,他們這兒每個人都懂。
可要把它們拼在一起,變成一把專門解決全對全通信瓶頸的手術刀,這種事兒,不是誰都能想到的。
它需要你同時吃透哈希的數學性質、譜圖劃分的組合優化,還要對超算底層通信邏輯有近乎本能的手感。
大部分人連其中一塊都啃不透,更別說三塊融在一起,隨手就寫出一個能直接上機跑的解決方案。
而肖宿連猶豫都沒猶豫一下。
周偉立馬就意識到了,這套架構不只能解決商空間降維的通信瓶頸,社交網絡的社區發現、分子動力學的近鄰列表更新、基因組組裝的重疊圖構建,任何需要大規模圖計算的場景都能直接吃上這個紅利。
他幾乎可以確定,這套代碼一旦跑通,整個中心的通信架構怕是要被重新刷一遍。
他的第一反應是內存泄漏,跑這種規模的高維矩陣運算偶爾會有內存管理方面的問題,但是掃了一眼日誌之後發現不是。
通信帶寬都快被吃光了,InfiniBand互聯已經飆到百分之九十八了,而且還在往上沖,再這樣下去整個分區都要觸發過熱保護。
他心裡頓時咯噔了一下。
觸發過熱保護的後果就是強制降頻,算力直接腰斬,整個計算周期都會被無限拉長的。
付霖站在後排,盯著那個卡住的進度條看了好一會兒。
他是錢衛華的關門弟子,也是整個研究院最年輕的一個。
他常年都在研究大規模圖計算,對通信瓶頸比誰都敏感,看到這個曲線的時候腦子裡已經開始過各種可能的原因了。
常規的ScaLAPACK二維塊劃分在最壞情況下的通信量確實是全對全的,但是理論上,這種規模的數據,哪怕全對全也不應該把帶寬吃成這樣。
除非,除非模型本身的數據結構有什麼特殊的地方,導致了額外的冗餘通信。
「會不會是模型本身就是走不通的……」
他順著這個思路往下走,嘴裡不自覺地嘀咕出了聲。
話說出口的那一瞬間他還沒意識到有什麼問題。
這也是他的工作習慣,遇到瓶頸先排查可能性,模型層面的問題是可能性之一。
作為研究員,會發現問題是一種本事。
但前提是,別找錯了方向。
當整個控制室的人都扭頭看著他的時候,他才猛然意識到自己剛剛說了什麼。
他面前站的是誰。
肖宿。
那可是用一個月就證明哥德巴赫猜想,征服了湍流,站在數學和物理學頂端,被稱為肖神的人。
而他剛才當著所有人的面,質疑這個人的模型走不通。
「不是不是不是!」他雙手在胸前瘋狂擺動,臉漲得通紅。
如果是別人,模型層面出問題的可能性確實存在。
但是眼前這個人造的框架,用是不是模型的問題來開局,簡直就是赤裸裸的犯傻。
他恨不得把剛才那句話從空氣里撈回來,急切的解釋道:
「我不是那個意思!我是說會不會是我們超算的通信架構太老了,不是模型的問題!」
錢衛華在旁邊揉了揉太陽穴,心裡嘆了一口氣。
這孩子技術底子不差,就是太年輕了,還沒學會說話前先過腦子。
不過他也沒太擔心,以他對肖宿的了解,對方不會在意這種無心之失。
肖宿確實沒有在意。
他從來不覺得誰說的話會是絕對準確的,當然也不會要求所有人都無條件相信自己。
只是,他並不覺得付霖說對了。
相比於一台他尚不了解性能底細的機器,他明顯更信任自己的腦子。
肖宿在腦海里仔細回溯了一遍整個計算過程,最後,他的視線停在了屏幕上的那張通信拓撲圖上。
或許,他已經找到問題的所在了。
他對周偉說:「把譜分解這一步的通信拓撲圖調出來。」
周偉點頭,低頭敲了幾個命令,一張節點間通信拓撲圖被投到大屏上。
整張圖像一團被貓撓過的毛線球,幾乎每個節點都在和另外所有節點做數據交換,連線密密麻麻堆疊在一起。
「全對全通信,」肖宿看著那團毛線球,心裡確認了自己的判斷,「你們的並行分塊是按什麼分的?」
「按矩陣的行列做二維塊劃分,標準的ScaLAPACK分布策略。」
肖宿搖了搖頭。
所以,問題不在於超算架構,而是數據分塊方式出現了問題。
商空間降維里的等價類劃分有一個被所有人忽略的特性,那就是等價關係本身就帶有局部性。
兩個樣本點在大多數維度上都不需要做全局對比,只有落在同一個局部鄰域內的點才需要精確比較。
但是標準的分塊方式根本沒利用這個特性,把每個節點都當成需要和所有其他節點交換數據來處理,等於白送了一大堆沒用的通信開銷。
只要按等價類的局部鄰域結構做圖劃分,讓通信只發生在圖的割邊上,數據交換量就能從一個數量級壓到另一個數量級了。
肖宿沒再多解釋什麼,他拉過鍵盤,開始敲起了代碼。
先用局部敏感哈希做預分桶,哈希函數用隨機超平面投影,投影方向從數據的主成分方向里隨機採樣,保證高概率下近鄰點落在同一個桶里。
然後分塊策略改用哈希桶的鄰接圖來做譜圖劃分,每個子圖內的桶分配在同一個節點上,割邊數量最小化。
這樣需要跨節點通信的就只剩下割邊上的邊界樣本。
周偉看著屏幕上飛速增長的代碼,眼睛越瞪越大。
肖宿現在寫的這個東西嚴格來說算不上什麼深奧的理論突破,甚至可以說思路出奇的簡潔。
可就是這樣一個簡潔的架構,卻讓周偉起了一身的雞皮疙瘩。
局部敏感哈希預分桶、譜圖劃分、邊界通信封裝,這三層架構拆開來看,每一塊都是現成的算法積木,他們這兒每個人都懂。
可要把它們拼在一起,變成一把專門解決全對全通信瓶頸的手術刀,這種事兒,不是誰都能想到的。
它需要你同時吃透哈希的數學性質、譜圖劃分的組合優化,還要對超算底層通信邏輯有近乎本能的手感。
大部分人連其中一塊都啃不透,更別說三塊融在一起,隨手就寫出一個能直接上機跑的解決方案。
而肖宿連猶豫都沒猶豫一下。
周偉立馬就意識到了,這套架構不只能解決商空間降維的通信瓶頸,社交網絡的社區發現、分子動力學的近鄰列表更新、基因組組裝的重疊圖構建,任何需要大規模圖計算的場景都能直接吃上這個紅利。
他幾乎可以確定,這套代碼一旦跑通,整個中心的通信架構怕是要被重新刷一遍。