亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于在可重構(gòu)平臺中解碼數(shù)據(jù)流的方法和設(shè)備的制造方法

文檔序號:9893628閱讀:232來源:國知局
用于在可重構(gòu)平臺中解碼數(shù)據(jù)流的方法和設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明大致上涉及一種用于處理市場數(shù)據(jù)的數(shù)據(jù)處理系統(tǒng),更具體而言,本發(fā)明涉及一種用于在可重構(gòu)平臺中解碼數(shù)據(jù)流的方法和設(shè)備。
【背景技術(shù)】
[0002]隨著在金融業(yè)中的對于更快地處理大量數(shù)據(jù)的需求的增長,基于依賴通用CPU的集群的數(shù)據(jù)處理系統(tǒng)顯示出了很多限制。實(shí)際上,即使集群方法涉及廉價的硬件并且提供簡化的研發(fā)工具,其也具有很多隨著對于高性能計(jì)算的需求增加而更加顯著的限制:高電力消耗、昂貴的維護(hù)成本、數(shù)據(jù)中心所需的大量空間。此外,集群所獲得的整體性能并不隨集群數(shù)量成比例地增加。不同于集群方法,使用有限數(shù)量的配備有FPGA的機(jī)器的、基于FPGA的數(shù)據(jù)處理系統(tǒng)能夠以大吞吐量來并行執(zhí)行復(fù)雜的任務(wù)。因此,該硬件方案對于金融和投資業(yè)領(lǐng)域中的應(yīng)用的研發(fā)尤其適用,在這些領(lǐng)域中,快速計(jì)算是保持競爭力的關(guān)鍵。
[0003]FPGA(acronym for Field-programmable gate array,現(xiàn)場可編程門陣列的縮寫)指的是可以在制造之后進(jìn)行配置的集成電路。該配置一般指定為使用“硬件描述語言”(Hardware descript1n language ,HDL) dFPGA包含大量的可編程邏輯部件(“邏輯塊”),以及使得這些塊能夠“連線在一起”的可重構(gòu)的互聯(lián)的體系。邏輯塊可以被配置為執(zhí)行復(fù)雜組合邏輯,或僅執(zhí)行簡單的基本邏輯運(yùn)算(布爾AND、0R、NAND、X0R等)。因?yàn)镕PGA可以執(zhí)行并行計(jì)算,所以僅僅在幾個時鐘周期內(nèi),對于多個獨(dú)立的輸入,可以同時執(zhí)行相同的算法。因此,F(xiàn)PGA尤其適于非常塊地執(zhí)行復(fù)雜計(jì)算。
[0004]基于這些原因,越來越多的市場數(shù)據(jù)處理系統(tǒng)使用FPGA來設(shè)計(jì)。
[0005]現(xiàn)有的市場數(shù)據(jù)處理系統(tǒng)從外部源(例如交易所)接收數(shù)據(jù),向其訂閱者(例如,在工作站的交易商)發(fā)布感興趣的金融數(shù)據(jù),并且將交易數(shù)據(jù)發(fā)送到各個交易所或其他場所。
[0006]這些市場數(shù)據(jù)處理系統(tǒng)一般包括至少一個解碼器,其與用于處理以給定格式(FAST、FIX、二進(jìn)制)的實(shí)時數(shù)據(jù)流的供給源進(jìn)行交互,并且對其進(jìn)行解碼,將數(shù)據(jù)流從特定源的格式轉(zhuǎn)換為內(nèi)部格式(數(shù)據(jù)標(biāo)準(zhǔn)化過程)。根據(jù)每個數(shù)據(jù)供給中的消息結(jié)構(gòu),解碼器以特定的操作處理每個域值(field value),將缺失數(shù)據(jù)填充以其在緩存中記錄的值和狀態(tài),并且將其映射到系統(tǒng)所使用的格式。
[0007]當(dāng)前,輸入數(shù)據(jù)流的解碼由軟件或硬件執(zhí)行,其執(zhí)行方式是純粹順序的,而不進(jìn)行任何并行化?,F(xiàn)有的以軟件執(zhí)行解碼的解碼器經(jīng)常受制于帶寬限制,這是因?yàn)榻獯a器的處理器不能足夠快地解碼數(shù)據(jù)包。這是由于,軟件解碼器需要解碼每個消息以確定其是否涉及有關(guān)應(yīng)用的證券(instrument)。此外,當(dāng)以硬件進(jìn)行剩下的處理時,需要兩種從硬件到軟件以及從軟件到硬件的轉(zhuǎn)移。相比于典型的處理時間,這些轉(zhuǎn)移非常耗時,而且增加了大量的延遲。
[0008]在最近過去的幾年,市場數(shù)據(jù)速率大大增長,峰值接近一百萬個消息每秒。隨著市場數(shù)據(jù)速率持續(xù)增長,高速、極低延遲且可靠的市場數(shù)據(jù)處理系統(tǒng)對于金融機(jī)構(gòu)的成功變得愈發(fā)重要。具體而言,當(dāng)前存在著對于提供下述高性能解碼器的需求:其使用不依賴于所處理的市場的標(biāo)準(zhǔn)化指令,能夠處理上至lOGb/s的供給至訂單管理核心的市場數(shù)據(jù),同時仍具有最低的可能延遲。
[0009]此外,市場數(shù)據(jù)格式,尤其是FAST中的市場數(shù)據(jù)格式,演化得十分頻繁。這對于傳統(tǒng)的軟件解碼器并不產(chǎn)生任何重大的問題,通??梢匀菀椎匦薷能浖獯a器。對于FAST格式,交易所提供了更新的模板文件,并且軟件動態(tài)地加載該文件,或者軟件的代碼(或代碼的一部分)自動地從這些模板再生成。
[0010]然而,對于使用可重構(gòu)平臺(FPGA)的解碼器,有效率地適應(yīng)這樣的格式改變是困難的。實(shí)際上,雖然通用CPU可以容易地更新以執(zhí)行任何任務(wù),但是為了特定的任務(wù)而一旦編程了 FPGA,更新FPGA使其可以執(zhí)行另一個任務(wù)是非常復(fù)雜的。這需要再次對FPGA進(jìn)行編程,而這是昂貴且復(fù)雜的。

【發(fā)明內(nèi)容】

[0011]為了解決這些問題和其他問題,提供如所附獨(dú)立權(quán)利要求1所限定的用于解碼輸入市場數(shù)據(jù)流的設(shè)備,以及如所附權(quán)利要求15所限定的用于解碼輸入市場數(shù)據(jù)流的方法。從屬權(quán)利要求中限定了優(yōu)選的實(shí)施方案。
[0012]本發(fā)明因此提供了高性能解碼器,其能夠處理上至lOGB/s的市場數(shù)據(jù)供給,以便以不依賴所處理的市場的標(biāo)準(zhǔn)化指令供給至訂單管理核心,同時仍具有可能的最低的延遲,以及使用和更新軟件解碼器的便利性。
[0013]根據(jù)本發(fā)明的實(shí)施方案的解碼器可以顯然地適應(yīng)于數(shù)據(jù)格式的演化。這樣的適應(yīng)可以通過更新描述文件、重新編譯描述文件并且提供固件的新版本以便下載到可重新配置平臺而容易地執(zhí)行,該描述文件是以諸如XML(可擴(kuò)展標(biāo)記語言)的格式寫成的。
[0014]通過驗(yàn)證說明書附圖和【具體實(shí)施方式】,本發(fā)明的其他益處對于本領(lǐng)域技術(shù)人員將變得明顯。應(yīng)當(dāng)注意,任何額外的益處也包含于本文。
【附圖說明】
[0015]參考所附附圖,現(xiàn)在將通過示例的方式來描述本發(fā)明的實(shí)施方案,在附圖中,相似的附圖標(biāo)記表示相似的元素,而且在附圖中:
[0016]-圖1展示出了包括有根據(jù)本發(fā)明的實(shí)施方案的解碼設(shè)備的示例性數(shù)據(jù)處理架構(gòu);
[0017]-圖2顯示了根據(jù)本發(fā)明的特定實(shí)施方案的解碼器架構(gòu);
[0018]-圖3是示出了根據(jù)本發(fā)明的實(shí)施方案的生成解碼器引擎的框圖;
[0019]-圖4顯示了根據(jù)本發(fā)明的特定實(shí)施方案的令牌解析器(tokenizer)的架構(gòu);
[0020]-圖5是根據(jù)本發(fā)明的特定實(shí)施方案的對輸入流進(jìn)行解碼所執(zhí)行的步驟的流程圖;
[0021]-圖6顯示了根據(jù)本發(fā)明的特定實(shí)施方案的示例性的有限狀態(tài)機(jī);
[0022]以及
[0023]-圖7是示出了根據(jù)本發(fā)明的特定實(shí)施方案的示例性的FPGA實(shí)施方式的框圖。
【具體實(shí)施方式】
[0024]參考圖1,所顯示的是,設(shè)置為獲取并處理市場數(shù)據(jù)的示例性數(shù)據(jù)處理系統(tǒng)100。
[0025]如同本文使用的,術(shù)語“市場數(shù)據(jù)”指從多個外部源接收的數(shù)據(jù)流形式的數(shù)據(jù),包括報(bào)價以及與資產(chǎn)凈值、固定收入、金融衍生產(chǎn)品、貨幣等相關(guān)聯(lián)的與交易相關(guān)的數(shù)據(jù)。
[0026]數(shù)據(jù)處理系統(tǒng)100包括至少一個市場數(shù)據(jù)包解碼器10(也稱為“解碼器”或“解碼設(shè)備”),其與供給源交互以便處理市場數(shù)據(jù)供給從而將其解碼,該市場數(shù)據(jù)供給是根據(jù)來自交易網(wǎng)絡(luò)I的任何特定源的協(xié)議而接收的。
[0027]更具體而言,解碼設(shè)備10被配置為,接收諸如UDP有效載荷(用戶數(shù)據(jù)報(bào)協(xié)議的縮寫)或TCP有效載荷(傳輸控制協(xié)議的縮寫)的輸入消息,將其解碼為消息,并且基于所解碼的消息來輸出標(biāo)準(zhǔn)化的指令8。
[0028]由解碼設(shè)備10提供的輸出指令8可以供給到訂單管理系統(tǒng)12。訂單管理系統(tǒng)12包括至少一個存儲器,其用于存儲關(guān)于每個訂單的細(xì)節(jié),以便在需要時對其進(jìn)行檢索。
[0029]系統(tǒng)100可以進(jìn)一步包括額度聚合類(Limits Aggregat1n)和賬簿建立單元(Book Building unit)13,其用于將等待進(jìn)入訂單賬簿的訂單聚類,對于每個展示證券訂單的列表,該列表可能是聚類為額度的并且可能是按價格排序的。一般而言,客戶端應(yīng)用15實(shí)質(zhì)上需要訪問賬簿的第一額度??商孢x地,客戶端應(yīng)用可以直接地訪問訂單。
[0030]如同本文所使用的,術(shù)語“訂單”或“額度訂單”或“市場訂單”指的是,以特定的限定價格或更好的價格、或以市場訂單的市場價格來買入或賣出給定數(shù)目的金融證券的訂單。
[0031]此外,訂單賬簿指的是金融證券(例如,股票)的未付款額度訂單的電子集合。如同本文所使用的,術(shù)語“額度”指的是對應(yīng)于一個或幾個訂單的訂單賬簿中的“排列”或“入口”。當(dāng)其對應(yīng)于幾個訂單時,其還可以稱為“聚合額度”。額度是根據(jù)價格聚類的,即,具有相同價格的全部訂單的數(shù)目相加形成了額度的數(shù)目。聚類額度還可以具有“訂單計(jì)數(shù)”屬性,該屬性反映聚類在該額度中的訂單的數(shù)量。額度在賬簿中的位置被稱為“排數(shù)”或“水平”。
[0032]如圖所示,數(shù)據(jù)處理系統(tǒng)100還可以包括消息分發(fā)和傳輸單元14,其用于將經(jīng)處理的數(shù)據(jù)格式化為消息,并且將其分發(fā)到所選擇的客戶端應(yīng)用15以供進(jìn)一步的處理和決策??蛻舳藨?yīng)用15可以位于不同的服務(wù)器,使得消息傳輸可以在網(wǎng)絡(luò)上完成。
[0033]在許多數(shù)據(jù)處理域中,需要提高數(shù)據(jù)處理速度。然而,現(xiàn)代數(shù)據(jù)處理系統(tǒng)面對的數(shù)據(jù)量正在增長。數(shù)據(jù)處理鏈的第一步驟包括數(shù)據(jù)獲取階段以及數(shù)據(jù)包解碼階段,數(shù)據(jù)獲取階段在網(wǎng)絡(luò)應(yīng)用中包括網(wǎng)絡(luò)(一般為UDP或TCP)獲取2,并且一般由NIC(網(wǎng)絡(luò)接口卡,網(wǎng)卡)和操作系統(tǒng)的網(wǎng)絡(luò)堆棧執(zhí)行。
[0034]由解碼設(shè)備10執(zhí)行的數(shù)據(jù)包解碼階段取決于所引入數(shù)據(jù)的格式,而引入的數(shù)據(jù)自身又取決于特定的應(yīng)用。例如,在用于處理由金融機(jī)構(gòu)交換的市場數(shù)據(jù)的數(shù)據(jù)處理系統(tǒng)中,數(shù)據(jù)包解碼階段取決于市場,因?yàn)槊總€市場有其自己的數(shù)據(jù)格式。
[0035]一般而言,市場數(shù)據(jù)供給使用三種格式:
[0036]- 二進(jìn)制格式,
[0037]-基于FIX的格式,以及
[0038]-基于FAST的格式。
[0039]在二進(jìn)制格式中(其一般用于資產(chǎn)凈值市場),所有的域是以二進(jìn)制發(fā)送的,而且消息結(jié)構(gòu)是固定的。這使得解碼設(shè)備10能夠使用這些結(jié)構(gòu)來解析消息。消息一般封
當(dāng)前第1頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1