第十章 編譯器狂魔
方澤比左城想像中瘦。
一米八幾的個子,體重估計不到一百三,顴骨突出,眼窩微陷,整個人像是被代碼抽乾了水分。但他的眼睛很亮——那種長期高強度思考的人才有的亮度,安靜時像兩顆滅了的燈泡,一旦聊到技術,瞬間就能亮起來。
周四晚上,校門口的燒烤攤。張磊做東,點了一桌子串。
方澤坐在左城對面,面前的啤酒沒怎麼動,倒是把烤饅頭蘸著辣椒醬吃了三個。
」張磊說你們搞了個工作室,在論壇上接技術單子?」方澤的聲音不大,語速偏慢,像是每句話出口前都在腦子裡編譯過一遍。
」對,小打小鬧。」左城沒急著推銷,先遞了個話頭過去,」我在論壇上看了你那個微內核項目,有個地方想請教——你的任務調度器用了優先級繼承來解決反轉問題,但我注意到你沒用常規的優先級天花板協議,而是自己設計了一套動態繼承鏈。為什麼?」
方澤的眼睛亮了。
」優先級天花板協議太粗暴了。」他放下饅頭,手指開始在桌面上比劃,」它直接把低優先級任務的優先級拉到最高,確實能防反轉,但會造成不必要的搶占延遲——高優先級任務在等待期間,其他中間優先級的任務全被壓住了,系統吞吐量直接掉。」
」所以你用動態繼承鏈來做精確控制。」
」對。只繼承直接依賴鏈上的優先級,不波及無關任務。這樣反轉問題解決了,吞吐量也沒有明顯損失。」方澤說到這裡頓了一下,看了左城一眼,」你能看出這個設計差異,說明你讀代碼讀得很細。你是搞嵌入式的?」
」不算是,信號處理方向。但嵌入式的東西一直在關注。」
」信號處理?」方澤想了想,」那你應該知道實時信號採集對作業系統調度的要求有多苛刻——中斷響應延遲超過五微秒,採樣數據就可能丟幀。我那個微內核的中斷響應目前能做到三微秒以內,但我覺得還有壓縮空間。」
」三微秒已經很強了。」左城說的是實話。商用實時作業系統的中斷響應通常在五到十微秒,方澤一個人手搓的微內核做到三微秒,已經是專業級別的水準。
兩個人從調度器聊到內存管理,又從內存管理聊到中斷向量表的優化。張磊和劉偉完全插不上話,只能默默吃串,偶爾交換一個」聽不懂但感覺很厲害」的眼神。
聊了將近四十分鐘,左城對方澤的技術水平有了清晰的判斷——這個人在嵌入式系統方面的理解深度,已經不輸很多工作三五年的工程師了。而且他不是死磕技術的書呆子,架構設計的品味很好,知道什麼地方該精細、什麼地方該取捨。
科技雷達在左城的意識中安靜地掃描著。
【目標:方澤】
【掌握科技:嵌入式實時作業系統設計(精通級)】
【複製消耗:3積分】
精通級。比於穎的」熟練級」高一檔,但比星辰科技那位的」專家級」低一檔。消耗三積分,他現在有五個,花得起。
但左城沒有急著複製。
不是捨不得積分,是沒必要。
方澤的嵌入式能力確實強,但左城現在的主要戰場是藍灣通信的課題,方向是通信算法,嵌入式暫時用不上。三個積分花出去,科技雷達進入七十二小時冷卻,萬一這期間遇到通信方向更有價值的複製對象,就尷尬了。
況且,他更想要的不是方澤的技術,而是方澤這個人。
技術可以複製,但一個能獨立設計作業系統微內核的隊友,複製不來。
」方澤。」左城放下筷子,語氣從技術交流切換到了正事,」我直說——我不是想拉你來接單賺錢的。」
方澤微微挑眉。
」402工作室現階段確實在做校園級的技術服務,但這不是終點。我手裡有一個藍灣通信的橫向課題,做的是5G信道估計算法。這套算法最終要落地到真實基站環境裡,而基站的嵌入式平台對實時性的要求極高——信號處理模塊必須跑在定製的嵌入式系統上,中斷延遲、任務調度、內存管理全是硬指標。」
方澤的眼神變了,從隨意聊天的狀態切換成了認真傾聽。
」你的意思是——」
」我現在不需要你寫代碼。」左城看著他,」我需要的是一個能在嵌入式層面跟我對話的人。等課題推進到算法落地階段,我會需要有人把算法移植到嵌入式平台上,那個活兒不是隨便拉個人就能幹的,得是真正懂底層的人。」
方澤沉默了十幾秒,手指無意識地轉著啤酒瓶。
」你這人挺有意思。」他說,」別人找我都是上來就談錢、談項目、談能幹什麼活兒。你是第一個先跟我聊四十分鐘技術,然後告訴我'現在不需要你寫代碼'的。」
」因為你不是缺活兒乾的人。」左城笑了一下,」你缺的是一個值得你全力投入的方向。」
方澤盯著他看了兩秒,然後笑了。
那是今晚他第一次笑,笑起來整張瘦臉顯得沒那麼冷了。
」行。先不談加入不加入,你那個課題的技術細節發我看看。如果方向確實有意思,我可以先以顧問的身份參與,等到需要嵌入式落地的時候再說。」
左城點頭:」我明天把技術文檔整理一份發你。」
兩人碰了下啤酒瓶。張磊在旁邊長出一口氣,小聲跟劉偉嘀咕:」談成了談成了,城哥這畫餅的水平,絕了。」
左城耳朵尖,聽見了,沒搭理他。
從燒烤攤往回走的路上,夜風裹著九月尾巴上的涼意穿過梧桐道。左城落在後面幾步,打開了系統面板。
三枚翠綠的葉片,五個積分,主線任務鏈倒計時二十一天。
第四枚葉片」嵌入式系統設計」的輪廓還是淺灰色,但他有預感——和方澤的合作如果深入下去,系統遲早會在這個方向上生成新的任務。
不急。
科技樹的生長需要養分,而養分不只是積分和任務——人脈、團隊、資源,這些都是根系的一部分。
手機響了。
於穎發來一條長消息,左城點開一看,瞳孔驟然收縮。
」左城,低信噪比下的異常數據我今天又深入分析了一輪。結論基本確認——不是數據誤差,是你的自適應追蹤機制和我的高維分解模塊之間產生了一種非線性耦合效應。這個效應在常規信噪比下不明顯,但在極端低信噪比環境中會被激發,相當於兩個模塊聯手做了一次'自發降噪'。我查了近五年的文獻,沒有找到類似的報導。左城,這個東西如果能被理論證明,不是課題級別的成果——是論文級別的。而且不是普通論文,是能沖頂刊的那種。」
左城站在梧桐樹下,路燈的光在他臉上投下斑駁的影子。
頂刊。
他手裡的藍灣通信課題本身已經足夠分量了,但如果在課題推進過程中還能衍生出一篇頂刊論文——
那他的畢業論文就不是」省優」的問題了。
那是直接改寫履歷的東西。
他深吸一口氣,回了於穎兩個字:
」深挖。」
一米八幾的個子,體重估計不到一百三,顴骨突出,眼窩微陷,整個人像是被代碼抽乾了水分。但他的眼睛很亮——那種長期高強度思考的人才有的亮度,安靜時像兩顆滅了的燈泡,一旦聊到技術,瞬間就能亮起來。
周四晚上,校門口的燒烤攤。張磊做東,點了一桌子串。
方澤坐在左城對面,面前的啤酒沒怎麼動,倒是把烤饅頭蘸著辣椒醬吃了三個。
」張磊說你們搞了個工作室,在論壇上接技術單子?」方澤的聲音不大,語速偏慢,像是每句話出口前都在腦子裡編譯過一遍。
」對,小打小鬧。」左城沒急著推銷,先遞了個話頭過去,」我在論壇上看了你那個微內核項目,有個地方想請教——你的任務調度器用了優先級繼承來解決反轉問題,但我注意到你沒用常規的優先級天花板協議,而是自己設計了一套動態繼承鏈。為什麼?」
方澤的眼睛亮了。
」優先級天花板協議太粗暴了。」他放下饅頭,手指開始在桌面上比劃,」它直接把低優先級任務的優先級拉到最高,確實能防反轉,但會造成不必要的搶占延遲——高優先級任務在等待期間,其他中間優先級的任務全被壓住了,系統吞吐量直接掉。」
」所以你用動態繼承鏈來做精確控制。」
」對。只繼承直接依賴鏈上的優先級,不波及無關任務。這樣反轉問題解決了,吞吐量也沒有明顯損失。」方澤說到這裡頓了一下,看了左城一眼,」你能看出這個設計差異,說明你讀代碼讀得很細。你是搞嵌入式的?」
」不算是,信號處理方向。但嵌入式的東西一直在關注。」
」信號處理?」方澤想了想,」那你應該知道實時信號採集對作業系統調度的要求有多苛刻——中斷響應延遲超過五微秒,採樣數據就可能丟幀。我那個微內核的中斷響應目前能做到三微秒以內,但我覺得還有壓縮空間。」
」三微秒已經很強了。」左城說的是實話。商用實時作業系統的中斷響應通常在五到十微秒,方澤一個人手搓的微內核做到三微秒,已經是專業級別的水準。
兩個人從調度器聊到內存管理,又從內存管理聊到中斷向量表的優化。張磊和劉偉完全插不上話,只能默默吃串,偶爾交換一個」聽不懂但感覺很厲害」的眼神。
聊了將近四十分鐘,左城對方澤的技術水平有了清晰的判斷——這個人在嵌入式系統方面的理解深度,已經不輸很多工作三五年的工程師了。而且他不是死磕技術的書呆子,架構設計的品味很好,知道什麼地方該精細、什麼地方該取捨。
科技雷達在左城的意識中安靜地掃描著。
【目標:方澤】
【掌握科技:嵌入式實時作業系統設計(精通級)】
【複製消耗:3積分】
精通級。比於穎的」熟練級」高一檔,但比星辰科技那位的」專家級」低一檔。消耗三積分,他現在有五個,花得起。
但左城沒有急著複製。
不是捨不得積分,是沒必要。
方澤的嵌入式能力確實強,但左城現在的主要戰場是藍灣通信的課題,方向是通信算法,嵌入式暫時用不上。三個積分花出去,科技雷達進入七十二小時冷卻,萬一這期間遇到通信方向更有價值的複製對象,就尷尬了。
況且,他更想要的不是方澤的技術,而是方澤這個人。
技術可以複製,但一個能獨立設計作業系統微內核的隊友,複製不來。
」方澤。」左城放下筷子,語氣從技術交流切換到了正事,」我直說——我不是想拉你來接單賺錢的。」
方澤微微挑眉。
」402工作室現階段確實在做校園級的技術服務,但這不是終點。我手裡有一個藍灣通信的橫向課題,做的是5G信道估計算法。這套算法最終要落地到真實基站環境裡,而基站的嵌入式平台對實時性的要求極高——信號處理模塊必須跑在定製的嵌入式系統上,中斷延遲、任務調度、內存管理全是硬指標。」
方澤的眼神變了,從隨意聊天的狀態切換成了認真傾聽。
」你的意思是——」
」我現在不需要你寫代碼。」左城看著他,」我需要的是一個能在嵌入式層面跟我對話的人。等課題推進到算法落地階段,我會需要有人把算法移植到嵌入式平台上,那個活兒不是隨便拉個人就能幹的,得是真正懂底層的人。」
方澤沉默了十幾秒,手指無意識地轉著啤酒瓶。
」你這人挺有意思。」他說,」別人找我都是上來就談錢、談項目、談能幹什麼活兒。你是第一個先跟我聊四十分鐘技術,然後告訴我'現在不需要你寫代碼'的。」
」因為你不是缺活兒乾的人。」左城笑了一下,」你缺的是一個值得你全力投入的方向。」
方澤盯著他看了兩秒,然後笑了。
那是今晚他第一次笑,笑起來整張瘦臉顯得沒那麼冷了。
」行。先不談加入不加入,你那個課題的技術細節發我看看。如果方向確實有意思,我可以先以顧問的身份參與,等到需要嵌入式落地的時候再說。」
左城點頭:」我明天把技術文檔整理一份發你。」
兩人碰了下啤酒瓶。張磊在旁邊長出一口氣,小聲跟劉偉嘀咕:」談成了談成了,城哥這畫餅的水平,絕了。」
左城耳朵尖,聽見了,沒搭理他。
從燒烤攤往回走的路上,夜風裹著九月尾巴上的涼意穿過梧桐道。左城落在後面幾步,打開了系統面板。
三枚翠綠的葉片,五個積分,主線任務鏈倒計時二十一天。
第四枚葉片」嵌入式系統設計」的輪廓還是淺灰色,但他有預感——和方澤的合作如果深入下去,系統遲早會在這個方向上生成新的任務。
不急。
科技樹的生長需要養分,而養分不只是積分和任務——人脈、團隊、資源,這些都是根系的一部分。
手機響了。
於穎發來一條長消息,左城點開一看,瞳孔驟然收縮。
」左城,低信噪比下的異常數據我今天又深入分析了一輪。結論基本確認——不是數據誤差,是你的自適應追蹤機制和我的高維分解模塊之間產生了一種非線性耦合效應。這個效應在常規信噪比下不明顯,但在極端低信噪比環境中會被激發,相當於兩個模塊聯手做了一次'自發降噪'。我查了近五年的文獻,沒有找到類似的報導。左城,這個東西如果能被理論證明,不是課題級別的成果——是論文級別的。而且不是普通論文,是能沖頂刊的那種。」
左城站在梧桐樹下,路燈的光在他臉上投下斑駁的影子。
頂刊。
他手裡的藍灣通信課題本身已經足夠分量了,但如果在課題推進過程中還能衍生出一篇頂刊論文——
那他的畢業論文就不是」省優」的問題了。
那是直接改寫履歷的東西。
他深吸一口氣,回了於穎兩個字:
」深挖。」