他說,我開始意識到,歷經30餘年的拼搏,華為在海外的意義,也許已經不止是一家公司,而是閃爍著中國科技開放創新的一個特別符號,儼然已經成為代表中國科技力量的一面旗幟。因此無論如何,旗不可倒。旗若倒掉,跟著倒掉的也許將會是很多人的信心,尤其是海外華人歷經數代才建立起的自信。
這一認知,應該代表了海外眾多學子的感覺,我們相信會更多的全球青年才俊迴歸祖國,報效中華!
轉身回國,心繫星辰大海
2009年,正在就讀碩士的我去瑞典皇家工學院交流,之後留在瑞典繼續深造,主攻計算機與電子系統方向。2015年博士畢業後,我加入瑞典計算機科學研究所(現歸入瑞典國家研究院)從事網路智慧相關研究工作,並於2017年獲得永久職位,任高階研究員。期間結婚、生子,在瑞典一晃生活了十餘年。
異域客居的羈旅,歐盟各地繁雜的學術交流和專案會議,以及瑞典研究所內的那一間安靜的辦公室和一張大大的書桌,就是我生活的全部。
然而,2019年5月15日,美國將華為列入實體清單後,“華為”成了同事們當時談論最多的話題。作為所裡唯一的華人永久僱員,經常有同事找我打聽華為,瞭解華為,討論華為。我開始意識到,歷經30餘年的拼搏,華為在海外的意義,也許已經不止是一家公司,而是閃爍著中國科技開放創新的一個特別符號,儼然已經成為代表中國科技力量的一面旗幟。因此無論如何,旗不可倒。旗若倒掉,跟著倒掉的也許將會是很多人的信心,尤其是海外華人歷經數代才建立起的自信。
也就在那不久,一個偶然的機會,我得到華為的工作機會。如何選擇?是繼續眼下歲月悠靜,無風無波?還是加入華為,在波瀾壯闊中奮勇搏擊?我陷入個人、家庭多方考慮的糾結中,但一個聲音總在耳邊迴響:“豈曰無衣,與子同袍,王於興師,修我戈矛”,我個人能力微不足為道,但只要能貢獻微薄之力,也是與有榮焉。與家人討論之後,我參加並通過了2012實驗室中央研究院網路技術實驗室的面試,最終欣然接受offer,從瑞典國家研究院離職,於2020年初正式加入了這支在華為肩負創新突破的尖刀隊伍,開啟了我的追光之旅。
我曾想過一雙兒女有一天問我為什麼要回國?答案也許會關於更紮實的基礎教育、更好的身份認同感和文化自信,或是更多樣的機遇和更高的天花板。但我想,我一定還會告訴他們,爸爸的爸爸60餘歲還去援疆支教,爸爸也十分幸運能夠在風雲變幻之際加入華為,能夠親歷時代的一些重要事件。每一代人都有自己的使命:人生本是緣起性空,只有在家、國、時代的星辰大海中,才能找到更多個人存在的歸屬與意義。
劃亮火柴,獲創新先鋒
剛到部門時,我第一眼就看到辦公區牆面無處不在的主題——創新,之後在各個場合更是頻繁聽到相同的一句話——鼓勵挑戰,鼓勵創新,讓創新成為每個人的習慣。
一開始,我理解的創新,是天馬行空 ,是從無到有,是為人所不能,是一鳴驚人。於是完成入職培訓後不到一週,我就迫不急待報名參加了部門的月度創新idea沙龍。那場沙龍有十幾個同事自發報名分享,我十分大膽地提了一個要對現有計算體系結構進行正規化革命的想法,很宏大,但也很空泛和遙遠。同行評議的專家們給了很多鼓勵與改進建議,會後也和我進行深入探討,但我很明顯感到,我的想法和其他同事的報告不在一個頻段上,其他同事的創意idea不僅很新穎,而且在商業價值和可行性上邏輯嚴謹,有的甚至已經有了具體實現的思路與實踐。我漸漸認識到,這裡所倡導的創新不僅要有原創性和新穎性,還要關注商業價值;不是清談論玄,為了創新而創新,而是與業務相結合,創造性地去解決難題。
之後每個月我都準時參加創新idea集會,從頭聽到尾,一個也不漏。這是我每個月最快樂的時光之一。我是聽眾,也可以是點評者。不同的idea, 不同思想的碰撞,激發出我的許多靈感,給我諸多啟發,在充分而坦誠的交流中,創新慢慢被具體化,被豐富化,成為一種習慣和必需品。
有一天,在編碼領域針對演算法執行加速時,我發現有一種編碼的矩陣中蘊含的規律與快速傅立葉變換有幾分相似,也許可以利用函式的分治和組合的思路來設計一種全新的高速演算法,透過更高效的計算,從而降低編碼的延遲。我趕緊找來組內同事一起做初步推演和簡單的樣例驗證,果然符合這個規律,方向是對的。隨後,我又成功證明了該矩陣所定義的線性變換的普遍可分拆性。而基於此我們可以分拆運算,使之可以完美對映到CPU的架構上,從而大幅提升運算效能和降低計算開銷。
這個創新idea被命名為對映分治演算法,最終獲得了2020年中央研究院創新先鋒一等獎。頒獎典禮那天,我和所有的創新先鋒們一起合唱《中國男兒》。光影閃動,歌聲激盪,當唱到“中國男兒,要用隻手撐天空”時,我只覺哽咽,螢幕上的畫面與此時此景重疊,重任在肩,磊落而驕傲。
躬身入戰,“縱橫”一笑
2020年夏,我加入華為大半年,此時太平洋會戰旌旗招展,如火如荼。7大理論難題,34個戰隊集結,各領域最強資源匯聚,如此高手雲集,同臺競技,這是在瑞典十餘年研究不曾遇到的模式,我躍躍欲試;十年磨劍,今日正好一試劍術之高下,劍刃之鋒銳。就這樣我成為了太平洋會戰第六戰隊中的一員,主要任務是透過編碼技術創新來提升儲存糾刪(EC)的編碼效能,降低計算開銷。
然而第一次交鋒就讓我領教到了什麼是“理想很豐滿,現實很骨感”。我們小組在高效能編碼演算法領域有諸多積累和沉澱,有過諸多專利、文章和獎項。大家帶著“腰纏十萬貫,騎鶴下杭州”的氣勢集體殺向儲存產品線。但沒想到當頭就是一擊,我們準備的各種想法都因為太過理想化,沒有一個可以實際落地產品。
開弓第一箭雖然有些面上無光,但卻讓我們沉下心來。與儲存同事反覆交流,仔細研究他們EC的流程和邏輯,一點點滲透與深入,終於找到並理解了問題的本質。儲存系統既需要利用大比例EC的特性來全域性最佳化冗餘和降低硬碟儲存開銷,又需要在編碼過程小步快跑,以小比例編碼的形式快速編碼快速下盤,減少等待時延,增加可靠性的同時降低記憶體佔用成本。簡而言之,既要全域性結果最優,也要區域性過程最優。
“這是既想馬兒跑,又想馬兒不吃草啊,”有同事感嘆。這是一個在學術研究中從未出現過的綜合性挑戰題,已知的編碼加速演算法都難以取得好的結果。
新問題,就需要有創新性的解決方法。我們迴歸編碼計算本質,仔細研究編碼矩陣的規律。傳統的編碼加速思路,是從資料的乘加運算出發,試圖利用分類合併來化簡計算。在我看來,這其實是在利用編碼矩陣的橫向數學特徵。但在“小步快跑”的增量需求下,橫向特徵是很難有效利用的。那是否能利用矩陣的縱向特性,縱橫結合來進行加速?但縱向特性又是什麼,又該如何利用?
想到這,我不禁眼前一亮。我想起了計算機體系結構原理,想起了斐波那契數列,想起了遞推構造這種最適合計算機發揮效能的計算方式。按照這種啟發,經過反覆的探索和嘗試,我們小組終於在針對在X個冗餘以下編碼中尋找到了一個各方面在理論上都很優秀的加速演算法。
這種新的編碼思路,被我們命名為“縱橫流”。這個風騷名字來自風靡一時的國產動漫《秦時明月》,所謂“諸子百家,唯我縱橫”。
腳踏泥土,仰望星空
想法有了,演算法也有了,看起來萬事俱備只欠東風。於是我們信心百倍地編寫了嵌入式彙編程式碼,雄心萬丈地搭建了測試平臺。然而測試結果讓同組的小夥伴懷疑人生。“嗯,一定是伺服器出錯了。”年輕博士帶著絕望的表情看著效能資料。因為效能比已有演算法還要差。
“從理論研究到真實系統應用,從來沒有一帆風順。要習慣行走在失敗與成功的邊緣,習慣面對各種bug, 習慣各種出乎預料,保持心境平和,百折不撓。” 作為組裡年紀最大,失敗經驗最豐富的成員,我請大家一邊喝咖啡,一邊寬慰。
在計算研究領域,分為理論和系統兩個方向。系統研究者們的座右銘:“Get your hands dirty(手沾泥濘)”, 就是強調實際計算機系統中會有許多理論研究預想不到的問題,架構和演算法的創新來自實踐而不是單純的理論推演和空談。這句話既是從事系統研究的人的驕傲,也何嘗不是滲透著辛酸:從來沒有簡單的成功, 成功一定是在無數次的實踐與失敗之後。
說實話,我不知道我的話有沒有發揮作用,作為一個十幾年來待在象牙塔中的人,從不指望能振臂一呼,應者雲集。Linux的創始人Linus曾言:“Talk is cheap. Show me the code.(能說算不上什麼,有本事就把你的程式碼給我看看。)” 我也向來覺得言語道斷,我更相信身體力行,相信掌握的知識與技術,相信“念念不忘,必有迴響”。於是,我和大傢伙一起靜默,迴歸到研究的實質。我們利用所掌握的工具技術和理論技巧,設計實驗,論證猜想,全盤分析根因。
“機器沒有錯,我們理論和突破方向也沒有錯, 那一定是我們程式碼實現的原因。”在一次熱烈討論後我總結。最終,我們發現,我們的演算法實現中的某條分支指令嚴重阻滯了CPU流水線。找到了問題所在,很多事情就能迎刃而解了。我們很快提出了對應的解決方法,上機一測,果然效能大幅提升,陷入沮喪中的大夥又重新興奮起來。
然而成功絕非如此容易到來。當研究直面產業中的應用,實際結果才是最有力的語言。整個過程反覆震盪,每當解決了舊問題,新問題就會接踵而來:找問題-研究-解決問題-找差距-再找問題-再研究-再解決,迂迴而曲折,我不記得共解決了多少個各類問題,也不記得究竟開始了多少回新一輪攻關,但每一次,我們離成功總會近一點,再近一點。最終我和會戰的同事們成功提升了EC效能,與已知演算法相比,提升達到了數倍以上,獲得了太平洋會戰認可。
這個激勵讓我在創新之路上倍受鼓舞,鼓舞我繼續向更高峰攀登。雖然“縱橫流”思想解決了X個冗餘以下的問題,但還不具備通用性。我想我們能否將這種遞推編碼思想泛化,比如從已有的計算結果出發,由舊的結果推匯出新的結果,由新的結果推匯出更新的結果:從一至二,由二及三,生生不息,往復迭代以通無窮。如果這樣一種高效的遞迴計算思想能夠被運用於解決任意個數冗餘的編碼問題,那麼不僅僅是儲存,數通、計算產品也許都能透過提升糾刪編碼的計算效率從而獲益,如降低延遲,降低CPU 開銷,從而降低成本提升體驗。
可是,這樣通用的數學遞推規律卻極難找到。
但是,每當我觀察編碼矩陣時,這個想法總是縈繞腦中,徘徊不去。冬去春來,寒來暑往,不知不覺臨近2021年的夏天,依然毫無建樹。我開始懷疑這條路線的正確性:前輩大拿們未能走通的道路,我真的能夠成功?我們之前在儲存取得的成果會不會只是特定情況下的僥倖?我應該放棄了嗎?
可直覺告訴我還是再堅持一下。像是被幸運之神眷顧,某個週末,突然一瞬間靈光乍現,從紛繁複雜的矩陣變換中,我捕捉到了一條表達優美的數學遞推規律。此時,滿桌的草稿紙,像是飛傳的捷報。“仰天大笑出門去!”我興奮地扔下手中的紙筆,伸開雙臂,去擁抱深圳熱情如火的夏季,明媚動人的藍天大海。
這個成果最終獲得今年的創新先鋒一等獎。在今年的頒獎會上,我終於見到了心心念念想要見的任總。任總風趣幽默,語言樸實卻又深刻:“我們還要去尋找‘又瘦又胖’的人, 既能解決理論問題,又能解決實際問題。不瘦怎麼能殺豬呢, 不殺豬怎麼能胖呢?”“拿著你的手術刀參加我們殺豬戰鬥”, 笑聲不斷中,我好像又看到、理解到了創新更真切的魅力。我想,我們參與會戰,既是為了解決產品線的難題,也不僅僅是解決問題,而是以難題和商業價值為導向,結合實踐催生新的技術、新的思想和方法,真正讓創新的精神滲透到工作的習慣中去......
根存於心,研究永無止境。我和每一位華為人一樣,執著在路上。
技進於道,是渺小的自我去面對宏大世界時的一種期望與慰籍。
跨越山海,我將繼續我的追光之旅,在創新的前鋒隊伍中,奮勇爭先。
“日月忽其不淹兮,春與秋其代序。乘騏驥以馳騁兮,來吾道夫先路!”
來源:華為藍血