新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 為高性能FPGA平臺選擇最佳存儲器

        為高性能FPGA平臺選擇最佳存儲器

        作者: 時間:2016-09-12 來源:網絡 收藏

        在演算法交易領域的最新進展是導入一些更低延遲的解決方案,其中最佳的方式是使用搭建的客制硬體。這些硬體可說是硬編碼ASIC的極致性能和CPU的靈活度之間的橋梁,提供大量的資源且可加以配置,使其得以較軟體解決方案更大幅縮短往返交易延遲。

        本文引用地址:http://www.104case.com/article/201609/303272.htm

        運算對于許多應用至關重要。在其中一些最競爭的應用領域,開發人員經常能為其嵌入式系統問題找到解決方案。例如,高頻交易(HFT)是一種演算交易的形式,其交易量占美國證券交易量的絕大部份。高頻交易使用機器學習演算法處理市場資料、擬定策略,以及在幾微秒的時間內執行訂單。

        為了獲得每次交易中哪怕只有幾分之一美分的利潤,高頻交易員以很高的交易量短期進出交易所。使用HFT演算法的系統持續監測價格波動情況,以利于調整短線交易策略。由于這是非常短期的交易策略,HFT企業無需耗費大量資本、累積頭寸或隔夜持有其投資組合。目前,高頻交易量占美國證券交易量的75%。

        在21世紀初,HFT交易側重于優質的演算法和交易策略。現在,由于最普及的幾種系統僅存在幾秒的延遲,決勝的關鍵不再是速度,而是策略。到了2010 年,由于演算法的進展已不足以獲得交易優勢,為了戰勝彼此,參與者開始縮短tick-to-trade的交易延遲,從而使交易時間縮短至數微秒。

        在次毫秒級買賣交易訂單的刺激下,HFT開始了一場競爭激烈的速度競賽,以便將市場資料的往返延遲縮短至微秒級。由于僅僅幾奈秒的差別往往帶來巨大的‘潛伏套利’競爭優勢(或稱為‘搶先交易’),交易企業一直在尋找更快的交易伺服器。

        采用軟體途徑處理訂單

        傳統上,HFT交易一向使用軟體工具。這些工具利用了運算系統,能夠高效地執行復雜的交易策略(圖1)。這些系統中的作業系統核心控制對其CPU和記憶體資源的存取,而應用堆疊則負責處理所有的交易策略,由網路介面卡(NIC)連接系統至證券交易所。

        為高性能FPGA平臺選擇最佳存儲器

        圖1:采用軟體途徑處理訂單的配置(來源:Cypress)

        然而,這種配置存在交易延遲的缺點:

        標準NIC并未專為處理TCP/IP和專用交易協定進行最佳化,而且無法板載處理市場資料饋送

        主系統和乙太網路(Ethernet)卡之間的PCI Express匯流排會增加數微秒的延遲

        核心OS原生的基于中斷途徑就會導致較長的延遲

        這些解決方案基于共享記憶體資源的多核心處理器。在處理來自證券交易所的資料饋送時時,確定性延遲至關重要,存取共用記憶體絕不是一個最佳方式

        在演算法交易領域的最新進展是導入了一些更低延遲的解決方案,其中最佳的方式是使用現場可程式邏輯閘陣列()搭建的客制硬體。這些設備可說是硬編碼ASIC的極致性能和CPU靈活度之間的橋梁。透過FPGA提供大量的資源且可加以配置,使其得以較軟體解決方案更大幅縮短往返交易延遲。

        采用FPGA途徑處理訂單

        除了靈活之外,FPGA還可以進行編程設計,以便自行處理資料擷取、風險評估與訂單處理等關鍵任務。這種自給自足的特性使其較軟體演算法更快、更可靠。讓基于FPGA的解決方案能夠大幅提升電子交易性能的關鍵因素是:它們能讓過去由軟體處理的過程直接在FPGA上進行。

        為高性能FPGA平臺選擇最佳存儲器

        圖2:采用FPGA途徑處理訂單的配置

        相較于軟體演算法,FGPA的配置具有這些優勢,原因就在于以下的功能被分流到FPGA:

        處理TCP/IP訊息

        解碼FAST或類似的交易專用協定,以及擷取相關資料

        進行交易決策,而不至于導致任何基于核心的中斷延遲

        透過管理FPGA中的訂單簿(order book)和交易記錄以降低風險

        憑藉著這些優勢,基于FPGA的解決方案能夠提供超低延遲的資料饋送處理功能,以及更快的訂單執行和風險評估速度。它們還能實現最高的每瓦功耗性能,盡可能地降低能耗和熱量要求。FPGA解決方案的另一個優勢是透過擴展部署‘FPGA現場’配置的能力。

        組成基于FPGA途徑關鍵之一在于巧妙地整合4倍資料率(QDR)記憶體,實現確定性記憶體存取速率以及經過最佳化的VHDL程式碼。在FPGA的記憶體中需要維護的兩個最重要資料集是用于維護訂單簿的證券資訊和用于分析風險的資料與時間戳記。二者均對快取記憶體提出了不同的要求。資料封包的資料與時間戳記對于保存交易決策的準確記錄、重現過去的事件非常重要。這些記錄所需的精密度達數十奈秒,這使得記憶體延遲(即為記憶體提供位址以及從資料匯流排取得資料之間的時間延遲)更加至關重要。

        另一個資料集-訂單簿-是所有訂單的資料庫,包含交易系統需要維護的符號和價格。這個資料庫通常根據交易客戶感興趣的證券而包含所有金融工具的一部份。訂單簿必須根據從客戶而來的資訊同步進行更新與存取。訂單簿中的相關資料與從交易所收到的資料進行比較,然后再根據交易演算法做出買、賣或保留金融工具的決策。

        由于來自證券交易所的輸入資料串流并不是以確定順序方式接收的,因此,執行交易策略的記憶體存取也是隨機的,以小量資料的叢發進行,并以最低延遲獲取資料。以記憶體術語來說,執行這種隨機存取的能力是由一種名為隨機交易率(RTR)的指標衡量的。RTR表示記憶體在一定時間內可支援的隨機讀取或寫入作業次數,其衡量指標是:交易次數/秒的倍數(例如MT/s或GT/s)。在大多數記憶體中,隨機存取時間是由周期延遲(tRC)定義。最大的RTR約為tRC的倒數(1/tRC)。

        快取記憶體的選擇經常限制基于FPGA的硬體能力。大多數的FPGA只采用傳統基于DRAM的記憶體,因為它們具備成本優勢,而且密度較高。但是,這些記憶體極其緩慢,而且容易發生軟錯誤。考慮到這些系統每秒的交易量,我們不能犧牲速度和可靠性。

        從純技術的角度探討兩種運用最廣泛的DRAM:同步DRAM(SDRAM)和低延遲DRAM(RLDRAM)。過去10年來,SDRAM的tRC并沒有很大變化(將來可能也不會),一直維持在48ns左右,對應21 MT/s RTR,其它基于DRAM的記憶體設計則以犧牲密度改進了tRC。例如,RLDRAM 3的tRC為8ns,對應于125MT/s RTR。基本上,DRAM是為那些依序存取確定性運算演算法而最佳化的,但高頻交易并非采用這樣的方式。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 江津市| 白朗县| 英吉沙县| 县级市| 陇南市| 得荣县| 大同县| 赤峰市| 石渠县| 平安县| 乌拉特后旗| 思南县| 托克托县| 定安县| 镇安县| 临汾市| 濮阳县| 平原县| 沙坪坝区| 峡江县| 贵溪市| 光泽县| 寻乌县| 柳林县| 泽库县| 南岸区| 西丰县| 酉阳| 西充县| 宜城市| 河西区| 梁平县| 穆棱市| 商洛市| 新余市| 娄底市| 怀远县| 兴义市| 新巴尔虎左旗| 澄城县| 原平市|