官术网_书友最值得收藏!

第二節 歷史機遇的錯失——回顧進入這個領域的背景和動機

本節是本書唯一一處討論技術的內容,主要回顧了我的教育背景、職業和創業經歷。希望通過展示我的工程技術背景表明我為參與數字經濟做好了工程方面的準備,并且多次創業經歷也為我做好了未來商業實踐的準備。對技術不感興趣的讀者可以直接跨過進入下一節。

我于2017年年底全力投入比特幣和區塊鏈領域的,看起來并不是“早鳥”。不過現在并不太感到遺憾,因為回顧自己過去的教育、職業和創業經歷,會發現每段經歷、每個重要抉擇,都在使自己為未來的某項使命做準備。

1994年我進入清華大學計算機科學與技術系學習。在清華的頭兩年,我有幸和一群國際奧賽金牌獲得者和各省前10名的同學在“實驗班”學習,從實驗班走出了多位包括IEEE院士在內的我輩翹楚。在清華的環境里面我實屬平庸之輩。在計算機系,編程水平是評估一位“大神”的硬指標,多位“大神”都抵得上十個龍白滔。我自己唯一的“特長”可能是喜歡系統底層技術。1996—1997年大家都在外面接一些類似Foxpro的數據庫開發工作,我天天泡在實驗室搗鼓SoftICE/Windows SDK/Windows DDK/Windriver/網絡編程/異步IO/Linux的玩意兒。

本科的最后一年和碩士階段,我與胡華智胡華智是億航無人機的創始人,在1998年我和他一道創業時,他就是無人機的超級發燒友。他在無人機領域取得的商業成功證明了人要做自己最喜歡的事情。一道創立了五礦騰龍,這可能是中國第一家流媒體企業。我的碩士研究課題和創業項目都有關高性能媒體服務器和網絡視頻,在他們的系統架構設計中著重參考了Apple Darwin的全異步任務分配與調度(類似現在的輕量級進程)機制,大規模使用了Windows平臺上高級的異步文件和網絡通信機制,如我在1998年就開始使用IO完成端口技術了。

2002年年初第一次創業失敗后我回到學校繼續完成博士學業,這次經歷給我留下的陰影是未來不想繼續技術研發的生涯,所以刻意回避編程,甚至博士課題中需要的網絡仿真編程,我也是請他人幫忙完成。

博士階段的課題是應用層組播,它的另一個更流行的名字是“peer-to-peer network unicast”,是不是很熟悉?我確實曾考慮過借助家庭網絡節點的帶寬來提升整個傳輸網絡的吞吐量、降低延遲和提升網絡彈性,但苦于從經濟層面缺乏動機。誰想到,現在的通證模型是最好的解決該經濟動機的方案,目前已經有多項基于這種思想的P2P網絡傳輸技術投入大規模運營。

2004年博士畢業后我刻意地沒有尋找技術方向的職業機會而選擇進了著名的IT咨詢公司埃森哲。我的想法是在這里完成從工科到商業咨詢背景的過渡,下一步去商學院深造。

雖然我并不喜歡咨詢這份需要很好畫演示文檔能力的工作,但至少不用編程了,心底還是欣慰的。沒想到,這種幻覺僅僅維持了不到半年。半年后我被派到上海證券交易所的項目上,很快迎來人生的第一次高光時刻。

這是當時埃森哲內部全球矚目的高規格項目,國際化團隊超過100人。客戶一眼就挑中了我的簡歷,原因很簡單,甲方團隊里有三名清華計算機系背景的博士(包括總負責人白碩),而我是乙方團隊唯一的一名博士,還是清華計算機系畢業的。

我進入項目后被分配進了撮合引擎組,從此我的人生和這幾個字關聯在了一起。這是一個系統實施的項目。項目上每個人幾乎都需要編程,而我因為前面說的原因,已經兩年沒有編過程序了。

項目上超過一半同事來自國際團隊,如德國、美國、馬來西亞等。當時,全球70%的交易所都是埃森哲設計實現的,包括紐交所、納斯達克、倫交所、德國交易所(當然后來這些交易所有的合并形成更大的洲際交易所)。第一個月是煎熬的,我每天都在“編”還是“不編”中掙扎。當初選擇埃森哲,不就是為了未來不用再編程嗎?

埃森哲的企業文化很特別,篤信“人定勝天”。不管新人什么背景,只要扔到一個項目里,很快就能適應項目的技能的需要。例如,這個項目就有很多外語專業畢業的同學每天努力學習COBOL甚至C語言編程。

不到一個月我投降了,因為從最頂層的合伙人到剛入職的新畢業生,每天都在做同樣一件事情——編程序。考慮到中斷編程已經有兩年,我買了一本譚浩強的《C語言程序設計》并準備把編程技能撿起來。感謝清華給我的扎實基礎教育,以及上一次創業積累的工程架構經驗,我很快在這里脫穎而出。

第一件事情是我自發為項目設立了C語言編程規范和最佳編程實踐,并開發了很多自動化代碼檢查工具。項目有大量非計算機背景的文科生程序員;DEC Alpha小型機的開發環境只提供最有限的編譯鏈接支持,不提供IDE和各種強大的語法和代碼檢查工具。我的工作顯著提升了代碼交付質量。三個月后,我被任命為項目首席程序員,之前這個角色是一位德國經理(比我當時高一個級別)擔任的。

第二件事情是我開始對項目核心架構設計發起挑戰,因為過去的工程背景讓我對交易系統的工程項目有深刻洞察。項目技術總架構師是一個希臘老先生,合伙人,據說過去20年都在做交易所,并且代表埃森哲提出了“交替式內存撮合”的撮合引擎全球專利。每當我挑戰其技術決策時,他總喜歡以“my experience tells me that……”開始他的應答。這引起我強烈反感。當年的我也是年輕氣盛毫不相讓,官司經常打到項目負責人甚至客戶那里。沒想到10多年后,當我被自己創業公司里的“90后”程序員挑戰時,我也不自覺地說“我的經驗是……”。

真正的轉折點來自第一次用戶驗收測試。非常遺憾,它是一次完全的失敗,不僅系統崩潰,而且當時完成的系統性能指標只有合同約定SLASLA:Service Level Agreement,服務水平協議。的不到十分之一。客戶震怒,埃森哲海外團隊高層全部被客戶“炒魷魚”。我被任命為項目首席架構師,到后期是項目負責人,承擔起拯救項目的責任。根據埃森哲與客戶的約定,如果系統不能達到約定的SLA,埃森哲不僅要退還項目費用,還要支付兩倍罰金。項目開發費用1500萬美金,那還是一個一美元兌換八元人民幣的年代。

簡單地說一下當時我面臨的挑戰在哪里。國家級交易系統被譽為所有金融核心業務系統里面的王冠,因為它對技術的極致追求,特別是考慮到中國的社會經濟生態的特殊性,任何技術的不穩定都可能演變成社會性事件,因此中國對此類系統的要求比全球任何國家都要極端,吞吐量、延遲、系統穩定性、可靠性、事務完整性和一致性等。撮合引擎本身是計算密集型和IO密集型任務,而DEC Alpha服務器雖然可以有64顆處理器,但只提供進程而沒有線程。針對單個產品的交易性能無法通過水平擴展,只能通過硬件垂直擴展和極致/精巧的軟件架構和編程技巧實現對處理器的充分利用。在64顆處理器的小型機上,我的程序要做到在單個進程內通過全異步系統實現多個同步計算操作和大量異步磁盤/網絡IO操作,幾乎100%的無鎖操作等。事務的一致性體現在內存、進程間和服務器集群內部。內存一致性無法依賴商業數據庫,需要自行從頭設計和實現基于虛擬內存的內存事務管理。任何失效恢復事件(無論是進程內、進程間、主機間、集群間)都不能影響數據完整性,不能對市場有任何影響,而市場仍然可以保持常規報單速度。幾乎所有數據都是在64顆處理器的進程之間共享(增刪改查),包括數億條中國人的持倉數據(投資者賬戶類型+投資者賬戶識別符+交易品種的組合)、全天所有訂單和成交,以億計算。例如,僅考慮持倉數據查詢,某個進程需要在一秒內完成數百萬次對數億條持倉數據的查詢。除撮合之外,整個系統還要保證全市場報單進入的流暢性和全市場成交和行情數據廣播的流暢性。進入的報單在任何極端情形下(例如發生失效)都不能丟失、亂序和重復,不能擁塞市場報單;向市場廣播成交數據也是如此。例如,一個真實測試案例,所謂“一撮100萬”,在一個交易周期內(可能百分之一秒),一個買單可能與反方向的100萬個賣單進行撮合,這樣會產生超出正常情況下1000倍的需要廣播的成交數據,系統被要求設計成能夠平滑處理這樣的極端情況,海量的成交數據需要被內存存儲、永久化和網絡廣播。任何軟/硬件資源耗盡/失效的情況,如操作系統、內存、處理器、網線等,都必須保證數據的完整性和一致性。

在代碼層面,我個人貢獻了整個交易系統C語言核心代碼約4萬行的90%,這里有不少細節的架構設計和編程技巧。我曾經與技術大咖陳利人討論持倉數據的數據結構設計,被熱心的微信群友梁寒寫成了《史上最強算法論戰:請不要嘻哈,這是哈希》廣為流傳。不過也確實被人鄙視,例如我的一位清華計算機系的奧賽金牌師弟就在微博公開鄙視“這是什么破玩意兒”。其實,大型計算機系統最需要的并不是算法層面的小聰明,它更多體現的是全局觀和抽象能力,以及在適當的時候選擇/設計合適的算法和數據結構。我不懷疑這位師弟的單兵編程能力能頂得上十個龍白滔。但我在2005年的時候面臨了這么一個歷史性的機遇并且很漂亮地把它完成了,到今天為止這一系統仍然在為大部分中國人服務。

最后埃森哲有驚無險地通過了考核,在我的領導之下,項目取得的成就是多方面的。首先,系統指標全部超越SLA要求,在非交易需求方面大幅超越。其次,滿足多方面業務需求,如交易、非交易、系統啟動/恢復、與第三方系統對接(如登記結算等)的技術架構從之前的分散到統一到一個被反復重構優化的架構,系統核心代碼數量減少四分之三以上,極大提升系統的可維護性。

項目也遺留了大量的遺產。首先,埃森哲中國金融服務領域的精英超過半數來自這個項目,包括我的兩位平輩分別成為平安和復星的集團副總,我的直接上司后來從埃森哲退休加入馬來西亞證監會任監管加密貨幣交易所的高官。其次,項目成為埃森哲中國有史以來最成功案例,即使放到全球范圍內,也長時間保持全球技術最領先的交易所的地位。最后,系統從2007年上線以來,運行超過12年無一故障,支撐了全中國每天平均三分之二的證券交易量。我作為首席架構師也參加了2007年埃森哲對港交所新交易系統的成功投標。如果不是因為2007年夏天港交所收盤價被逆向工程,港交所高層引咎辭職新項目被取消,我將會是又一家全球前三的交易所的總架構師。

接下來兩年時間我的工作主要集中在銀行業咨詢,最有趣的經歷是與埃森哲法國團隊合作將全球最先進的銀行業務實踐介紹給中國客戶。在一年時間里,帶領一個國際化的團隊,用高績效銀行業務模型,幫助浦發銀行完成新一代業務系統的業務、應用和技術規劃工作。

不過在服務國內金融服務機構的過程中,我日益感覺到與業界最前沿的領域,例如云計算大數據等領域的脫節。因此2013年年初,我作為聯合創始人兼首席戰略官和第一名全職員工,加入了萬向控股旗下的通聯數據,它可能是中國最早的金融科技企業,專注于資產管理領域的云計算和大數據工作。我一部分工作是負責萬向控股層面的金融科技戰略,有機會近距離向中國比特幣早期布道者肖風學習。在2013年,比特幣的趨勢是通聯數據管理層管理例會的保留話題。肖風非常具有遠見卓識地指出,比特幣未來一定會顛覆傳統金融行業,特別是投行,因為它完全取消了融資中介。通聯數據很多小朋友利用業余時間“搬磚”,他們都成了比特幣早期紅利受益者。作為公司聯合創始人,我為公司招募了云計算團隊大部分骨干,大部分人后來都成了萬向區塊鏈的核心。非常遺憾,當時有非常好的比特幣啟蒙和學習環境,但我在第一時間認定它是一種傳銷工具,錯過了成為比特幣早期創業者的機會。

2014年,我以首席技術官的身份加入了北京中金甲子投資基金,負責金融科技、云計算和大數據領域早期項目的投資。我不確認自己是否會是一個好的早期項目投資人,因為沒有足夠時間去證明,在任內我曾經力薦過一些后來相當成功的創業企業,包括安全領域安天實驗室和眾享比特,大數據領域的百分點金融和法海風控以及后來被美團大眾點評收購的屏芯科技等。

2015年5月至2017年年底,我創業了知象科技。知象定位于為專業量化資產管理者提供基于云端、端到端的量化開發、研究、交易、資管和風控的平臺,從產品和技術層面最終是一家成功的公司。知象是彼時中國唯一一家支持金融級別/高頻交易的金融云,是唯一與華爾街高頻交易云Lucera可對標的中國企業。為滿足金融級別的高性能、極低延遲和企業級安全隔離。自2013年我在通聯數據就堅持了如下技術路線。通聯數據做了短暫嘗試,但因為過高技術挑戰而放棄,我最終在自己創業的知象完整地實現了。首先,金融云底層是基于Erlang開發的去中心計算框架,實現了流言傳播協議、矢量時鐘、默克爾樹、反熵算法等。其次,金融云的物理節點基于Open Solaris的后續版本SmartOS操作系統,提供企業級文件系統zfs、容器技術Solaris zones、接近物理網卡性能的網絡虛擬化技術Crossbow(10年前,在Solaris平臺上與現在Intel DPDK對等的技術)等,并且通過已經被移植進入Solaris內核的虛擬化技術KVM和bhyve兼容所有Linux/Windows計算任務。

可能到目前知象仍然是唯一一家有效支持股票高頻數據的基于云端、端到端的量化平臺。這是數十萬行C++源程序構成大規模、高復雜度和任務關鍵型工程。以一個例子來說明其領先性:中國滬深兩市每天產生高頻股票數據8000萬至1億條,知象平臺不僅輕松支持實時極低延遲地存儲和分發全量高頻數據,也能夠在5秒以內查詢并獲得歷史上任意交易日全量股票高頻數據并在一分鐘內完成(空轉)回測。某傳統交易所提供訪問高頻股票數據的云服務,但從來不敢公開展示其高頻數據的功能。據傳曾經一次展示獲取和回放某交易日全市場股票高頻數據耗時24小時也未能完成。

2017年年底,我去加州安靜地待了三個月,不用再去焦慮創業公司里面各種煩心事,有了足夠的時間來決定人生的下一步。

主站蜘蛛池模板: 宁河县| 吴桥县| 庆安县| 武陟县| 桦甸市| 水富县| 平乐县| 涡阳县| 宣化县| 曲水县| 广昌县| 方正县| 乌恰县| 永善县| 元朗区| 望都县| 南通市| 于都县| 屏东县| 涿鹿县| 武宣县| 宁阳县| 尉犁县| 保亭| 双柏县| 库车县| 和田市| 仲巴县| 松滋市| 高阳县| 凤山县| 邵阳县| 开原市| 抚宁县| 正安县| 宜丰县| 昌平区| 郴州市| 清水河县| 双桥区| 永清县|