博客專欄

        EEPW首頁 > 博客 > 突破交易系統技術瓶頸,中匯攜手微軟亞洲研究院探索流水線并行架構

        突破交易系統技術瓶頸,中匯攜手微軟亞洲研究院探索流水線并行架構

        發布人:MSRAsia 時間:2021-06-16 來源:工程師 發布文章

        編者按:本幣交易系統與外匯交易系統是中國外匯交易中心核心系統,系統處理能力需超過每秒10萬筆,延遲要控制在毫秒以內。作為承擔系統建設和研發的中匯信息技術(上海)有限公司,為了突破系統性能瓶頸,與微軟亞洲研究院合作共同研究系統優化方案,實驗顯示,“流水線并行”方案可將系統整體吞吐量提升20%,如果對撮合引擎進行更深入的優化,整體性能還將有進一步提升。

        中國外匯交易中心以建設“全球人民幣及相關產品交易主平臺和定價中心”為目標,為****間外匯市場、貨幣市場、債券市場等現貨及衍生產品提供交易、交易后處理、發行、基準、數據和投資者教育服務。2020年,中國外匯交易中心交易量達1637萬億元人民幣,約占上海各類金融要素市場交易總量的3/4。目前,交易中心向全球50多個國家和地區的3萬余家機構投資者提供服務,日均交易規模超過6萬億元人民幣。中匯信息技術(上海)有限公司(以下簡稱“中匯公司”)是中國外匯交易中心的全資子公司,承擔交易系統的建設工作。隨著中國的****間市場蓬勃發展,金融市場交易量飛速增長,參與的機構數量越來越多,****間交易模式不斷創新發展,各種因素都對交易系統的性能提出了更高的要求。

        與此同時,市場機構之間的交易已從人工協商向高頻化、程序化發展,交易機制也隨著全球金融業務創新而隨時發生變化。為了滿足業務的快速、可持續發展,中匯公司必須未雨綢繆,在系統性能方面,為未來的業務增長提供新動力。

        因此,中匯公司與微軟亞洲研究院展開合作研究,針對交易系統的性能優化問題進行了可行性研究與實驗。作為微軟亞洲研究院創新匯成員,中匯公司此前曾與研究院就個性化推薦系統等問題展開過合作研究,并聯合發表了論文,雙方的再次合作創新可以說是水到渠成。

        交易撮合引擎由“串行”轉“并行”,

        性能提升20%

        隨著市場參與機構和交易量的增長,交易平臺必須具備可靠性、可擴展性和安全穩定性,底層系統架構必須能夠滿足上層交易需求。這類平臺的最大特點是高吞吐、低延時,對于性能要求極高。此次雙方通力合作,成功將交易系統的核心組件——撮合引擎并行化,使系統整體性能得以大幅提升。

        中匯公司的撮合引擎是基于傳統串行計算模式,這是為了確保金融交易正確性的核心原則——“價格優先、時間優先”,即價高買單或價低賣單優先處理,相同價格的交易訂單按照其到達時間的先后處理。隨著業務的發展,該串行架構在性能上體現出一定的局限性。對撮合引擎進行并行化無疑可以給系統性能帶來最大的提升空間,但同時確?!皟r格優先、時間優先”的原則并不容易,稍有差池就會影響交易的公平。

        為此,微軟亞洲研究院項目團隊首先對行業知識和業務邏輯進行快速學習,并對現有系統進行深入的分析和測試,針對系統性能提升問題提出了三種并行架構思路:數據并行、任務并行、流水線并行,最終結合外匯交易中心的實際業務,選擇了流水線并行方案。

        微軟亞洲研究院系統研究組高級研究員林昊翔表示,相較于其它并行方案,流水線并行擁有四個明顯優勢。首先,它可以確保多個訂單的不同階段雖然在同時執行,但是訂單整體是按照規定順序進行撮合,而其它并行方案沒有內建的執行順序保障機制;其次,流水線清晰定義了可以并發執行的代碼塊,方便理解、細化需要同步原語保護的臨界區;第三,流水線并行的擴展性更好,階段內部的執行相對獨立,擴展只需增加更多的流水線階段即可;最后,該方式對原有撮合引擎的改造是非入侵式、可控的,并行化的實現、測試和后期維護的代價相對較小。

        “交易撮合的串行執行更容易保證正確性,流水線并行的計算模式可以在不打破兩個優先原則的前提下達到更高的系統性能“。初步的實驗結果表明,該方案可將系統整體性能提升20%左右,系統吞吐率 TPS 在實驗室環境達到了14萬/秒?!敝袇R信息技術(上海)有限公司副總經理李正介紹道,“之前我們做過應用代碼級別的系統性能優化工作,像這次能深入到 CPU 指令、系統和處理架構級別的探索,對我們來說是全新的嘗試。如果未來對撮合引擎進行更深入的優化,相信系統整體性能將會有進一步的提升。我們會將此次的研究成果應用于不同的業務系統中去?!?/p>

        最大收獲:

        用系統性思維去解決優化難題

        系統、全面地去看待和解決系統優化問題,在中匯信息技術(上海)有限公司高級經理包曉晶看來,是中匯團隊在項目合作研究過程中的最大收獲。通過前期調研,團隊確定了 CPU 指令、系統、處理架構三個優化方向。在指令層面,研究員們會根據翻譯后援緩沖器(TLB)和緩存的命中率去優化訪存、分支等指令,以及嘗試先進的編譯技術用于生成更高效的硬件指令;在系統層面,會使用高性能同步原語、批處理 I/O、大內存頁等技術;在架構層面,他們會試圖突破串行的傳統思維束縛,探討并行架構的可能。

        在中匯公司看來,微軟亞洲研究院最具有吸引力的地方在于其與企業的合作方式更具創新性,研究院擁有非常多的科學家和資深工程師,可以真正幫助企業解決具有挑戰性的問題。這也正是微軟亞洲研究院“跨界共創”的核心。

        應用工程師看待系統優化時,容易局限在應用設計和代碼本身,很難有系統性的優化體系,包曉晶表示,“我們發現,微軟亞洲研究院的研究員做系統優化時首先是基于一套完整的優化方法論,然后在充分了解實際問題的基礎上實施論證,并且非常善于利用各種先進工具。在與研究員們近距離、手把手的合作中,我們也學到了很多?!?/p>

        微軟亞洲研究院(上海)創新工程組主管研發經理楊玉慶表示,“中匯公司的技術團隊本身就是一個具有成長性思維(Growth Mindset)和開放心態的團隊,與微軟的創新文化非常貼近,所以雙方的溝通非常順暢?!?/p>

        不過,不同類型的業務系統所受到的約束各不相同。為了確保串行改并行不出錯,研究員們大量閱讀源代碼,一步步熟悉中匯公司的交易系統;并在 Azure 云平臺上部署了接近真實系統的模擬環境,精細地執行每一步業務流程;利用各類工具進行測試和驗證,找到影響系統性能的各個瓶頸;同時還要思考如何將對系統的影響最小化……

        “微軟亞洲研究院系統組多年來在構建高吞吐、低延遲、安全可靠、可擴展的并發系統和分布式系統方面擁有深厚的技術積累,并形成了一整套方法論。金融系統有很多獨特的約束,對于我們而言,這也是一個全新的應用場景。與中匯公司的合作拓寬了我們的研究方向,加深了我們對技術的理解,對我們未來的研究工作有著寶貴的啟發和指導意義,”林昊翔表示。分析、優化和擴展一個已經部署多年的系統非常困難,對此林昊翔建議道,“對于大規模并發系統和分布式系統,一定要在設計之初就全面考慮系統演化的問題。可以考慮采用微內核、可插拔、工具化的系統構建架構來建立應用系統,這樣才能更加靈活地支撐后續的系統擴展和業務發展?!?/p>

        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。

        超級電容器相關文章:超級電容器原理


        電容相關文章:電容原理
        電容傳感器相關文章:電容傳感器原理
        汽車防盜機相關文章:汽車防盜機原理


        關鍵詞: AI

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 航空| 蒙城县| 邢台县| 南陵县| 临安市| 临城县| 义马市| 旌德县| 麟游县| 景洪市| 晋州市| 化德县| 友谊县| 景德镇市| 虞城县| 彭州市| 大厂| 十堰市| 昭平县| 德兴市| 丰镇市| 台北县| 桂东县| 巴林右旗| 黑山县| 洛扎县| 德化县| 石家庄市| 田林县| 城市| 汶上县| 饶阳县| 枞阳县| 邻水| 蛟河市| 六安市| 石门县| 佛冈县| 梓潼县| 防城港市| 岑巩县|