為高性能FPGA平臺選擇最佳存儲器
在演算法交易領域的最新進展是導入一些更低延遲的解決方案,其中最佳的方式是使用FPGA搭建的客制硬體。這些FPGA硬體可說是硬編碼ASIC的極致性能和CPU的靈活度之間的橋梁,提供大量的資源且可加以配置,使其得以較軟體解決方案更大幅縮短往返交易延遲。
本文引用地址:http://2s4d.com/article/201609/303272.htm高性能運算對于許多應用至關重要。在其中一些最競爭的應用領域,開發(fā)人員經(jīng)常能為其嵌入式系統(tǒng)問題找到解決方案。例如,高頻交易(HFT)是一種演算交易的形式,其交易量占美國證券交易量的絕大部份。高頻交易使用機器學習演算法處理市場資料、擬定策略,以及在幾微秒的時間內執(zhí)行訂單。
為了獲得每次交易中哪怕只有幾分之一美分的利潤,高頻交易員以很高的交易量短期進出交易所。使用HFT演算法的系統(tǒng)持續(xù)監(jiān)測價格波動情況,以利于調整短線交易策略。由于這是非常短期的交易策略,HFT企業(yè)無需耗費大量資本、累積頭寸或隔夜持有其投資組合。目前,高頻交易量占美國證券交易量的75%。
在21世紀初,HFT交易側重于優(yōu)質的演算法和交易策略?,F(xiàn)在,由于最普及的幾種系統(tǒng)僅存在幾秒的延遲,決勝的關鍵不再是速度,而是策略。到了2010 年,由于演算法的進展已不足以獲得交易優(yōu)勢,為了戰(zhàn)勝彼此,參與者開始縮短tick-to-trade的交易延遲,從而使交易時間縮短至數(shù)微秒。
在次毫秒級買賣交易訂單的刺激下,HFT平臺開始了一場競爭激烈的速度競賽,以便將市場資料的往返延遲縮短至微秒級。由于僅僅幾奈秒的差別往往帶來巨大的‘潛伏套利’競爭優(yōu)勢(或稱為‘搶先交易’),交易企業(yè)一直在尋找更快的交易伺服器。
采用軟體途徑處理訂單
傳統(tǒng)上,HFT交易一向使用軟體工具。這些工具利用了高性能運算系統(tǒng),能夠高效地執(zhí)行復雜的交易策略(圖1)。這些系統(tǒng)中的作業(yè)系統(tǒng)核心控制對其CPU和記憶體資源的存取,而應用堆疊則負責處理所有的交易策略,由網(wǎng)路介面卡(NIC)連接系統(tǒng)至證券交易所。
圖1:采用軟體途徑處理訂單的配置(來源:Cypress)
然而,這種配置存在交易延遲的缺點:
標準NIC并未專為處理TCP/IP和專用交易協(xié)定進行最佳化,而且無法板載處理市場資料饋送
主系統(tǒng)和乙太網(wǎng)路(Ethernet)卡之間的PCI Express匯流排會增加數(shù)微秒的延遲
核心OS原生的基于中斷途徑就會導致較長的延遲
這些解決方案基于共享記憶體資源的多核心處理器。在處理來自證券交易所的資料饋送時時,確定性延遲至關重要,存取共用記憶體絕不是一個最佳方式
在演算法交易領域的最新進展是導入了一些更低延遲的解決方案,其中最佳的方式是使用現(xiàn)場可程式邏輯閘陣列(FPGA)搭建的客制硬體。這些設備可說是硬編碼ASIC的極致性能和CPU靈活度之間的橋梁。透過FPGA提供大量的資源且可加以配置,使其得以較軟體解決方案更大幅縮短往返交易延遲。
采用FPGA途徑處理訂單
除了靈活之外,F(xiàn)PGA還可以進行編程設計,以便自行處理資料擷取、風險評估與訂單處理等關鍵任務。這種自給自足的特性使其較軟體演算法更快、更可靠。讓基于FPGA的解決方案能夠大幅提升電子交易性能的關鍵因素是:它們能讓過去由軟體處理的過程直接在FPGA上進行。
圖2:采用FPGA途徑處理訂單的配置
相較于軟體演算法,F(xiàn)GPA的配置具有這些優(yōu)勢,原因就在于以下的功能被分流到FPGA:
處理TCP/IP訊息
解碼FAST或類似的交易專用協(xié)定,以及擷取相關資料
進行交易決策,而不至于導致任何基于核心的中斷延遲
透過管理FPGA中的訂單簿(order book)和交易記錄以降低風險
憑藉著這些優(yōu)勢,基于FPGA的解決方案能夠提供超低延遲的資料饋送處理功能,以及更快的訂單執(zhí)行和風險評估速度。它們還能實現(xiàn)最高的每瓦功耗性能,盡可能地降低能耗和熱量要求。FPGA解決方案的另一個優(yōu)勢是透過擴展部署‘FPGA現(xiàn)場’配置的能力。
組成基于FPGA途徑關鍵之一在于巧妙地整合4倍資料率(QDR)記憶體,實現(xiàn)確定性記憶體存取速率以及經(jīng)過最佳化的VHDL程式碼。在FPGA的記憶體中需要維護的兩個最重要資料集是用于維護訂單簿的證券資訊和用于分析風險的資料與時間戳記。二者均對快取記憶體提出了不同的要求。資料封包的資料與時間戳記對于保存交易決策的準確記錄、重現(xiàn)過去的事件非常重要。這些記錄所需的精密度達數(shù)十奈秒,這使得記憶體延遲(即為記憶體提供位址以及從資料匯流排取得資料之間的時間延遲)更加至關重要。
另一個資料集-訂單簿-是所有訂單的資料庫,包含交易系統(tǒng)需要維護的符號和價格。這個資料庫通常根據(jù)交易客戶感興趣的證券而包含所有金融工具的一部份。訂單簿必須根據(jù)從客戶而來的資訊同步進行更新與存取。訂單簿中的相關資料與從交易所收到的資料進行比較,然后再根據(jù)交易演算法做出買、賣或保留金融工具的決策。
由于來自證券交易所的輸入資料串流并不是以確定順序方式接收的,因此,執(zhí)行交易策略的記憶體存取也是隨機的,以小量資料的叢發(fā)進行,并以最低延遲獲取資料。以記憶體術語來說,執(zhí)行這種隨機存取的能力是由一種名為隨機交易率(RTR)的指標衡量的。RTR表示記憶體在一定時間內可支援的隨機讀取或寫入作業(yè)次數(shù),其衡量指標是:交易次數(shù)/秒的倍數(shù)(例如MT/s或GT/s)。在大多數(shù)記憶體中,隨機存取時間是由周期延遲(tRC)定義。最大的RTR約為tRC的倒數(shù)(1/tRC)。
快取記憶體的選擇經(jīng)常限制基于FPGA的硬體能力。大多數(shù)的FPGA只采用傳統(tǒng)基于DRAM的記憶體,因為它們具備成本優(yōu)勢,而且密度較高。但是,這些記憶體極其緩慢,而且容易發(fā)生軟錯誤。考慮到這些系統(tǒng)每秒的交易量,我們不能犧牲速度和可靠性。
從純技術的角度探討兩種運用最廣泛的DRAM:同步DRAM(SDRAM)和低延遲DRAM(RLDRAM)。過去10年來,SDRAM的tRC并沒有很大變化(將來可能也不會),一直維持在48ns左右,對應21 MT/s RTR,其它基于DRAM的記憶體設計則以犧牲密度改進了tRC。例如,RLDRAM 3的tRC為8ns,對應于125MT/s RTR?;旧希珼RAM是為那些依序存取確定性運算演算法而最佳化的,但高頻交易并非采用這樣的方式。
評論