芝加哥西環區(West Loop),富爾頓市場街。
這裏以前是肉類加工廠的聚集地,現在雖然開始有了幾家時髦的咖啡館,但空氣裏那股陳年的血腥味和生肉味還沒散乾淨。
以太動力的新租用的“戰情室”就設在這裏。
紅磚外牆的舊倉庫,被改造成了充滿了裸露管道和工業水泥風的Loft辦公區。
巨大的開放式空間裏,暖氣管子發出一種類似老人咳嗽的“哐哐”聲。
地上到處都是像蛇一樣纏繞的黑色電纜,幾臺工業級的風扇對着服務器機櫃猛吹,試圖驅散過載運轉產生的熱量。
空氣很渾濁,混合着廉價香菸、昂貴雪茄、以及幾百杯過萃咖啡的焦苦味。
“不行!絕對不行!”
一聲咆哮打破了嘈雜的背景音。
老喬穿着那件沾着機油的工裝背心,手裏抓着一張卷邊的美國東海岸地形圖,那樣子就像個剛從戰壕裏爬出來的逃兵。
他把地圖狠狠拍在一張嶄新的玻璃會議桌上,震得上面的依雲水瓶晃了三晃。
“我們要的是直線!直線懂不懂?”
老喬指着地圖上賓夕法尼亞州的一片等高線,唾沫星子亂飛,“如果我想繞過阿勒格尼山脈,我還在雷神幹什麼?我去開卡車好了!
“我們需要在這一帶,就在這個叫‘惡魔背脊的山樑上架個中繼站。
“必須是這裏,偏離一公裏,信號就會多跑三千米,那就是10微秒的延遲!10微秒,夠微波跑完整個曼哈頓島了!”
他對面站着幾個穿着傑尼亞西裝、頭髮梳得一絲不苟的年輕男人。
這幾位是從雷曼兄弟破產清算後,被維多利亞“撿漏”回來的運營經理(Operation Manager)和架構總裁(Director of Infrastructure)。
此刻,這羣平日裏對着彭博終端指點江山的精英,被老喬噴得像羣鵪鶉。
“可是......喬先生,”
一個戴着金絲眼鏡的分析師擦了擦汗,小心翼翼地說,“那塊地屬於阿米什人(Amish)的保留地。
“他們......他們不用電,拒絕現代科技,更別提讓我們在他們祖傳的玉米地裏架個幾十米高的微波塔了。法律團隊說………………”
“我不管他是阿米什人還是火星人!”
老喬打斷了他,眼睛裏全是紅血絲,“這是物理學!物理學不講人情!維多利亞!”
他轉頭衝着房間另一頭喊。
維多利亞?斯特林正坐在一個由在那堆滿了文件的紙箱子圍成的臨時工位裏。
她今天沒穿那身標誌性的吸菸裝,而是換了件幹練的高領毛衣,手裏擺弄着一隻高希霸,面前擺着三部正在同時響鈴的黑莓手機。
“聽到了,喬。”
維多利亞頭也沒抬,在一份厚達兩百頁的《清算會員協議》上籤下名字,然後隨手把文件扔給旁邊的助理,“如果法律團隊搞不定,那就換個思路。
“只要價格合適,我不信上帝會禁止他們在後院埋幾根地線。
“告訴那個部落長老,我們可以幫他們修路,或者資助他們的學校??雖然他們不學物理,但總得識字吧?
“咱們不缺錢,但是沒時間。在美聯儲下一次利率決議之前,我們要開始測試。”
說完,她接起其中一部電話,語氣瞬間從冷酷變成了職業的諂媚:
“嗨,吉姆。我是維多利亞。關於我們在CME的DMA(直接市場準入)接口......
“是的,我知道保證金很高,但以太動力的信用評級......”
整個房間像是一個高速旋轉的離心機。
一邊是充滿泥土味的工程基建,一邊是充滿銅臭味的金融遊戲。
這兩種截然不同的物質,正在那位幕後大老闆的意志下,被強行攪拌在一起。
此時,林允寧並不在這一團亂麻的主戰場。
他躲在Loft二層的一個玻璃隔斷間裏。
這裏是整個“戰情室”最安靜,也是最核心的地方。
厚重的鋼化玻璃隔絕了樓下的咆哮和電話鈴聲,只剩下空調出風口的輕微嗡嗡聲。
林允寧坐在三塊豎屏拼接的顯示器前,臉色蒼白。
他在“還債”。
之前在日本的高調秀透支了不少精力,而現在,他面對的是一個更棘手的技術??
軟件太慢了。
屏幕上跑着一行行C++代碼。
那是傳統的高頻交易策略程序。
代碼邏輯本身並不難寫,任何一個優秀的計算機專業本科生都能輕鬆寫出來。
難的是優化,如何在最短時間內完成這一系列任務。
當一個市場數據包到達網卡,網卡會發起一個硬件中斷,告訴CPU”來活了”。
CPU暫停手裏的活,保存現場,切換到內核態,讀取數據,再切換回用戶態,交給程序處理。
程序算完,再走一遍流程把指令發出去。
這一套下來,哪怕是優化到極致的UNIX內核,也需要至少10微秒。
10微秒。
在人類眨眼的一瞬間(300毫秒),這套流程可以跑三萬次。
但在光速的世界裏,10微秒意味着信號已經跑了3公裏。
對於老喬拼死拼活在山上架塔省下來的那點時間來說,這簡直就是犯罪。
“得繞過操作系統。”
林允寧喃喃自語,手裏轉着一支圓珠筆。
想要快,就得剝離一切中間商。
不能讓CPU去管什麼內存管理、進程調度。
要讓網線直接插進邏輯電路裏。
FPGA(現場可編程門陣列)。
這是唯一的答案。
但他沒怎麼碰過這玩意兒。
他是搞理論物理的,寫代碼也是爲了算模型,那是軟件思維。
而FPGA,本質上是在畫電路圖。
“系統。”
林允寧放下筆,閉上眼睛,向後靠在人體工學椅上。
視野中,熟悉的藍色光幕展開。
【啓動模擬學習。】
【目標:Xilinx Virtex-5架構深度解析與Verilog硬件描述語言精通。】
【注入模擬時長:200小時。】
喧囂退去,意識下沉。
【第10小時:你開始閱讀Verilog的語法手冊。這對你來說很難受。你習慣了C語言的“順序執行”??先做A,再做B。但在FPGA的世界裏,A和B是同時發生的。這裏沒有時間流逝,只有時鐘信號的跳變(Tick)。你必須強
迫自己把大腦從“單線程”切換成“成千上萬個併發線程”。】
【第35小時:你開始理解查找表(LUT)。那不是內存,那是邏輯的原子。你像個樂高玩家一樣,試圖用這些微小的邏輯門搭建出一座城堡。你寫了一個簡單的加法器,結果綜合失敗,時序違規(Timing Violation)。因
爲你的電路太長,信號在一個時鐘週期內跑不到終點。】
【第80小時:你通讀了Xilinx Virtex-5的底層架構手冊,共計1200頁。你看到了芯片內部的“城市規劃”??SLICE、DSP切片、Block RAM。你意識到,這不僅僅是寫代碼,這是在納米尺度上進行佈線。每一次信號的跨
越,都會產生物理延遲。】
【第150小時:你的思維徹底轉變。你不再思考“程序怎麼跑”,而是在思考“電子怎麼流”。你開始學會用流水線(Pipeline)技術,把複雜的計算拆碎,塞進每一個時鐘週期的縫隙裏。】
【第200小時:知識模塊‘電子工程與集成電路設計’提升至LV.3直覺洞察。】
林允寧猛地睜開眼。
大腦裏像是剛塞進了一張複雜的地鐵線路圖,無數條信號線在神經元之間穿梭。
他拿起桌上的那塊黑色的FPGA開發板。
那是一塊Xilinx的ML505開發套件,上面密密麻麻地佈滿了引腳和芯片。
以前看它,是一塊死板的電路。
現在看它,是一座等待規劃的空城。
凌晨四點。
芝加哥的夜深得像墨。
樓下的喧囂終於平息了,只有幾個通宵加班的程序員還趴在桌子上睡覺。
二層的玻璃房裏,燈光依舊慘白。
林允寧雙眼佈滿血絲,但這雙眼睛亮得嚇人。
“克萊爾,有沒有咖啡咖啡。”
他頭也沒回,伸手向旁邊抓去。
一隻修長的手把一杯剛衝好的速溶咖啡塞進他手裏。
克萊爾盤腿坐在旁邊的一張椅子上,身上裹着一條不知從哪撿來的毯子,那頭標誌性的時尚捲髮亂得像個鳥窩。
她是個頂級的軟件黑客,但在硬件描述語言(HDL)面前,她也覺得自己像個只會寫Hello World的小學生。
“老闆,這玩意兒真的能跑通嗎?”
克萊爾打了個哈欠,指着屏幕上那些像是亂碼一樣的Verilog代碼,“你把TCP/IP協議棧全拆了?沒有校驗位,沒有重傳機制,甚至連握手信號都砍了一半。
“這要是丟包了怎麼辦?交易所的服務器會把我們當成DDOS攻擊給封了吧?”
“我們不丟包。”
林允寧喝了一口苦澀的咖啡,聲音沙啞,“因爲線路是我們自己的,設備是我們自己的。在這個閉環裏,哪怕是電子,也得聽指揮。”
他正在做一件極其瘋狂的事。
標準的網絡協議棧有七層,每一層都在打包、解包、校驗。
林允寧在模擬科研中,直接用物理層(PHY)對接了應用層。
他手寫了一個精簡版的“硬協議棧”。
就像是把一輛滿載貨物的卡車,拆得只剩下發動機和輪子,甚至連剎車都卸了,只爲了能在賽道上快那麼0.1秒。
“系統,啓動模擬科研。”
林允寧盯着屏幕,再次進入狀態。
【課題:基於FPGA的納秒級訂單執行模塊設計與時序收斂優化。】
【注入模擬時長:300小時。】
【第20小時:初版代碼綜合。邏輯門延遲過高。關鍵路徑(Critical Path)在訂單價格比較模塊。那個64位的比較器太慢了。】
【第60小時:你放棄了標準的比較器IP核。你利用天賦‘抽象建模’,在腦海中構建了一個樹狀的比較結構,將64位拆解成8個8位並行處理。】
【第150小時:佈線擁堵。芯片中間的路由資源不夠用了。信號不得不繞遠路,導致了納秒級的額外延遲。】
【第180小時:天賦‘心靈手巧'與'抽象建模’聯動。你閉上眼睛,想象自己縮小成了一個電子。你在芯片的迷宮裏奔跑,尋找最短的路徑。你手動鎖定了關鍵邏輯單元的物理位置(Floorplanning),強行把相關的邏輯門擠在
一起。】
【第280小時:時序收斂。所有紅色的報警全部消失。流水線滿負荷運轉。延遲被壓縮到了物理極限。】
【模擬結束。】
"......"
林允寧長出了一口氣,像是從深海浮出水面。
他在鍵盤上敲下最後一行約束文件,然後按下了“Generate Bitstream”(生成比特流)的按鈕。
編譯進度條開始緩慢爬升。
10%......50%......90%......
“滴。”
綠燈亮起。
生成成功。
林允寧拔掉 TAG下載線,將那塊發燙的開發板連接到了測試服務器上。
這臺服務器模擬了CME交易所的接口。
“克萊爾,發包。”
林允寧的聲音很輕,卻帶着一絲顫抖。
“好嘞!”
克萊爾精神一振,敲下了回車鍵。
屏幕上瞬間刷出一排數據。
那是從“接收到行情數據”到“發出買入指令”的往返時間(Round-Trip Time)。
以往,用C++寫的軟件方案,這個數字通常是15us(微秒)到25us。
現在,屏幕上跳出了一個新的數字。
綠色的,刺眼的數字。
Latency: 0.74 us
0.74微秒。
也就是740納秒。
克萊爾愣住了。她揉了揉眼睛,以爲自己看錯了小數點。
“Holy sh*t......”
她猛地跳起來,毯子掉在地上,“0.74?這......這比光在光纖裏跑200米還要快!老闆,你這是造了個時間機器嗎?”
林允寧看着那個數字,嘴角勾起一抹疲憊但滿足的笑。
在這個速度面前,華爾街那些還在用C++排隊的大型投行,就像是在跟法拉利賽跑的烏龜。
這不僅僅是技術突破。
這是一臺印鈔機。
一臺每秒鐘都在噴吐美金的印鈔機。
“成了。”
林允寧靠在椅背上,感覺渾身的力氣都被抽乾了。
他剛想閉上眼睛眯一會兒,放在桌角的手機突然震動起來。
來電顯示是一個陌生的美國號碼,區號屬於新澤西州。
這麼晚了,誰會打這個電話?
林允寧皺了皺眉,接通了電話。
“Hello?”
聽筒裏傳來一個略顯蒼老,卻因極度亢奮而顫抖的聲音。
背景裏似乎還能聽到翻動紙張的沙沙聲。
“林?是林允寧嗎?”
對方甚至沒有自我介紹,語速快得驚人,“我是彼得?薩納克(Peter Sarnak),《數學年刊》 (Annals of Mathematics)的主編。”
林允寧愣了一下。
他從椅子上坐直了身子。
《數學年刊》,數學界最頂級的四大神刊之首。
“薩納克教授?這麼晚了………………”
“我睡不着覺,特地來通知你一下。”
薩納克的聲音提高了一個八度,帶着一種朝聖般的狂熱,“審稿結束了。
“德林費爾德(Drinfeld)、洛朗?拉福格(Laurent Lafforgue),還有德利涅......所有的審稿人,他們把你的論文翻來覆去看了整整三個多月。他們試圖找出哪怕一個錯別字,一個邏輯漏洞。
“但是沒有。什麼都沒有。
“德林費爾德在給我的郵件裏說,這是‘神蹟。你不僅修補了朗蘭茲綱領,你簡直是重塑了代數幾何的基石!”
薩納克停頓了一下,似乎在平復呼吸。
“林,聽着。
“我剛剛叫停了印刷廠。這一期的排版全部推翻。
“通常我們會刊登五到六篇論文。但這一次,只有兩篇。
“是你關於‘幾何朗蘭茲猜想’和‘朗蘭茲互反猜想”的證明。”
“下一期的《數學年刊》,只有你的名字。這一期,只屬於你。”
林允寧握着手機,目光穿過玻璃隔斷,看着窗外芝加哥黎明前最黑暗的夜空。
一邊是腳下這臺剛剛誕生的,即將收割華爾街的納秒級怪獸。
一邊是電話那頭,代表着人類智慧最高殿堂的無上榮耀。
物質與精神,金錢與真理。
在這一刻,竟然奇妙地交匯在了一起。
“謝謝,薩納克教授。
“這是我的榮幸。”
掛斷電話。
林允寧轉頭看向窗外。
天邊,第一縷晨曦正在刺破黑暗,把密歇根湖的水面染成了一片血紅。
新的時代,開始了。