亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        低延時(shí)期貨交易系統(tǒng)的優(yōu)化與測(cè)試

        2020-04-25 07:53:06雷達(dá)沈益明
        現(xiàn)代計(jì)算機(jī) 2020年9期
        關(guān)鍵詞:優(yōu)化系統(tǒng)

        雷達(dá),沈益明

        (1.東華大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,上海200051;2.建信期貨有限責(zé)任公司,上海200122)

        0 引言

        我國(guó)期貨市場(chǎng)自創(chuàng)立以來(lái),一直采用電子化交易方式,交易系統(tǒng)一直是期貨公司的核心技術(shù)系統(tǒng)。目前客戶普遍使用的期貨交易系統(tǒng)在設(shè)計(jì)時(shí),核心考慮的是系統(tǒng)的并發(fā)性、可用性、系統(tǒng)容量等,低延時(shí)并不是最優(yōu)先考慮的。但近年來(lái),國(guó)內(nèi)期貨市場(chǎng)發(fā)展迅速,期貨新品種源源不斷上線,期權(quán)、以人民幣計(jì)價(jià)的原油期貨等新業(yè)務(wù)也陸續(xù)推出,期貨市場(chǎng)的交易方式和市場(chǎng)功能不斷豐富,各類投資者尤其是機(jī)構(gòu)投資者參與各類投資產(chǎn)品、參與多市場(chǎng)多品種間的套利熱情日益高漲。這些投資者造成了資金流動(dòng)性和交易量的急劇增加,因此對(duì)期貨交易系統(tǒng)提出了更為明確的要求,主要體現(xiàn)在提高交易速度和提供程序化交易支持等功能。為了在競(jìng)爭(zhēng)激烈的行業(yè)中脫穎而出,期貨公司迫切需要低延時(shí)系統(tǒng)的優(yōu)化解決方案,從而為速度敏感的客戶提供更為優(yōu)質(zhì)的服務(wù)。

        交易系統(tǒng)的低延時(shí)意味著投資者做出投資決策到委托獲得執(zhí)行和確認(rèn)的時(shí)間間隔必須盡可能短。對(duì)于某些交易,如高頻交易,交易速度是影響投資效果的最重要因素之一。此時(shí),衡量交易系統(tǒng)績(jī)效最重要的指標(biāo)之一就是系統(tǒng)延時(shí)。一些高頻投資策略可以在系統(tǒng)延時(shí)較低的情況下獲得可觀的正收益。

        1 期貨交易系統(tǒng)延時(shí)框架

        如圖1 所示,期貨交易是一個(gè)雙向往返的過(guò)程。廣義上的交易延時(shí)是指由委托等交易指令從市場(chǎng)參與者系統(tǒng)發(fā)出,到交易系統(tǒng)接受、處理,并返回處理結(jié)果的時(shí)間開銷。而狹義上的交易延時(shí)是指交易指令從進(jìn)入交易系統(tǒng)接入點(diǎn)之后到處理結(jié)果返回接入點(diǎn)之間的時(shí)間開銷[1]。對(duì)于期貨公司這種集中式的交易系統(tǒng)來(lái)說(shuō),客戶系統(tǒng)和交易所撮合等外部延時(shí)因素不可控,因此低延時(shí)期貨交易系統(tǒng)的構(gòu)建主要基于后者進(jìn)行討論。

        對(duì)于期貨交易系統(tǒng),根據(jù)經(jīng)過(guò)的處理環(huán)節(jié),交易延時(shí)可細(xì)分為以下幾類:

        消息處理延時(shí):消息傳輸過(guò)程中消息格式轉(zhuǎn)換的應(yīng)用,以及消息可用性機(jī)制相關(guān)的時(shí)間開銷;通信處理延時(shí):主機(jī)協(xié)議棧處理開銷;調(diào)度延時(shí):主機(jī)請(qǐng)求到處理開始的時(shí)間開銷;發(fā)送/接收延時(shí):主機(jī)向網(wǎng)絡(luò)發(fā)送或接收協(xié)議包的開銷;傳播時(shí)延:傳播介質(zhì)上傳輸?shù)臅r(shí)間開銷,主要與傳輸距離和傳輸介質(zhì)有關(guān)[2]。影響延時(shí)的因素分布在硬件、網(wǎng)絡(luò)、操作系統(tǒng)、中間件和應(yīng)用程序等不同層次上。其中,根據(jù)文獻(xiàn)[3],對(duì)于高性能、低延時(shí)期貨交易環(huán)境的系統(tǒng)來(lái)說(shuō),這些因素相互作用,在構(gòu)建低延時(shí)期貨交易系統(tǒng)的時(shí)候,尤其需要對(duì)這些延時(shí)影響因素進(jìn)行分析,盡量避免或降低延時(shí)影響因素,從而降低交易延時(shí)。

        圖1 期貨交易系統(tǒng)結(jié)構(gòu)

        2 低延時(shí)期貨交易系統(tǒng)的優(yōu)化

        2.1 優(yōu)化步驟

        在系統(tǒng)優(yōu)化之前,需要收集延時(shí)參數(shù)和數(shù)據(jù)作為基線,知道“正常”的系統(tǒng)延時(shí)數(shù)據(jù)。然后查找潛在的性能問(wèn)題并進(jìn)行參數(shù)調(diào)優(yōu)來(lái)修復(fù)。觀察這些調(diào)整對(duì)系統(tǒng)的影響并決定是否確認(rèn)保持這種調(diào)整或者恢復(fù)到調(diào)整前的狀態(tài)。系統(tǒng)需要定期檢閱,以發(fā)現(xiàn)系統(tǒng)異常變化引起的延時(shí)抖動(dòng)。

        優(yōu)化的步驟如下:

        (1)收集數(shù)據(jù),建立基線。

        (2)對(duì)系統(tǒng)進(jìn)行選擇合理的參數(shù)。

        (3)觀察統(tǒng)計(jì)數(shù)據(jù),確認(rèn)所做的調(diào)整是否正確,提交更改或回滾恢復(fù)。

        (4)確定潛在的性能問(wèn)題。

        (5)調(diào)整優(yōu)化參數(shù)。

        (6)重復(fù)步驟(3)。

        2.2 優(yōu)化內(nèi)容

        (1)服務(wù)器優(yōu)化

        低延時(shí)期貨交易系統(tǒng)選配的服務(wù)器盡量高主頻、大內(nèi)存,以HP DL380 服務(wù)器為例,在優(yōu)化前記錄系統(tǒng)參數(shù)配置,以便在調(diào)優(yōu)過(guò)程中跟蹤變化。根據(jù)HP 推薦,在BIOS 調(diào)優(yōu)前需先升級(jí)至相應(yīng)BIOS 和Firmware固件版本,有助于提升系統(tǒng)延時(shí)性能。

        服務(wù)器出廠時(shí)硬件參數(shù)默認(rèn)設(shè)置為通用節(jié)能模式,調(diào)整BIOS 參數(shù),降低主機(jī)延時(shí),使主機(jī)發(fā)揮最大性能,從而達(dá)到降級(jí)延時(shí)中的關(guān)鍵一環(huán)。BIOS 參數(shù)超頻,虛擬化,超線程均會(huì)產(chǎn)生潛在延時(shí)抖動(dòng)風(fēng)險(xiǎn),需要關(guān)閉這些功能,關(guān)鍵優(yōu)化參數(shù)描述如表1。

        表1 BIOS 優(yōu)化參數(shù)表

        (2)Linux 系統(tǒng)優(yōu)化

        調(diào)整/boot/grub/grub.conf 參數(shù),增加“idle=poll nosoftlockup mce=ignore_ce intel_idle.max_cstate=0 "參數(shù)到kernel。

        idle=poll 參數(shù)與“intel_idle.max_cstate=0”一起使用時(shí),“idle=poll”使處理核心保持在C0 狀態(tài);nosoftlockup參數(shù)使高優(yōu)先級(jí)線程在內(nèi)核上連續(xù)執(zhí)行超過(guò)軟鎖定閾值時(shí),防止內(nèi)核記錄事件;intel_idle.max_cstate=0 防止內(nèi)核重寫B(tài)IOS C-state 設(shè)置;mce=ignore_ce 防止Linux在機(jī)器檢查庫(kù)中每五分鐘啟動(dòng)一次輪詢,檢查是否存在可糾正的錯(cuò)誤。這些參數(shù)調(diào)整有助于降低通信處理延時(shí)、調(diào)度延時(shí)和發(fā)送接收延時(shí)。

        (3)網(wǎng)絡(luò)優(yōu)化

        在低延時(shí)系統(tǒng)中我們配置Sloarflare 的低延時(shí)網(wǎng)卡,停止中斷分配服務(wù),將網(wǎng)卡口的中斷手工配置至網(wǎng)卡PCI 插槽對(duì)應(yīng)的NUMA 所屬的CPU 核。運(yùn)行如下指令并將命令添加至rc.local,設(shè)置為開機(jī)啟動(dòng)加載,有助于降低傳播延時(shí)。

        網(wǎng)卡中斷親和性優(yōu)化:

        /usr/sbin/sfcaffinity_config-c 1,2,6,7 auto ethX

        網(wǎng)卡吞吐量?jī)?yōu)化:

        /usr/sbin/ethtool-G ethX rx 4096 tx 2048

        /usr/sbin/ethtool-X ethX equal 2

        /usr/sbin/ifconfig ethX mtu 9000 txqueuelen 10000

        (4)交易線程綁核

        期貨交易系統(tǒng)的交易核心是多線程,操作系統(tǒng)調(diào)度算法使線程均勻的分布在CPU 核心上,線程之間需要進(jìn)行通信、共享資源,所以這些資源必須從CPU 的一個(gè)核心被復(fù)制到另外一個(gè)核心,這會(huì)造成額外的開銷。

        為了讓程序擁有更好的性能和更低的延時(shí),將交易核心線程綁定到特定的CPU,這樣可以減少調(diào)度的開銷和保護(hù)關(guān)鍵線程。綁定后交易核心線程就會(huì)一直在綁定的核上運(yùn)行,不會(huì)再被操作系統(tǒng)調(diào)度到其他核上,但綁定的核上還是可能會(huì)被調(diào)度運(yùn)行其他應(yīng)用程序的。因此,需要隔離被交易核心綁定的核。綁核代碼如下:

        bind_ttrade_cpu()

        {

        ttrade_threads=`ps-eLF|grep ttrade|grep-v grep|awk'{print

        $4}'`

        cpucore=(6 7 8 9 10 11)

        index=0

        for i in$ttrade_threads;do

        if![[-z$i]];then

        taskset-pc${cpucore[$index]}$i

        fi

        index=`expr$index+1`

        done

        }

        bind_ttrade_cpu

        3 低延時(shí)期貨交易系統(tǒng)的測(cè)試

        (1)測(cè)試準(zhǔn)備

        試驗(yàn)環(huán)境為萬(wàn)兆以太網(wǎng),交換機(jī)Arista 7140,兩臺(tái)HP DL380 G9 服務(wù)器(12 核3.40GHz,64G 內(nèi)存),配置2 塊Solarflare 8522 萬(wàn)兆網(wǎng)卡和光纖模塊。

        (2)RTT 延時(shí)測(cè)試:

        此外,卷積神經(jīng)網(wǎng)絡(luò)還涉及到多層次的輸出類別以及輸入圖像類別。針對(duì)不同種類的輸出與輸入圖像而言,通常都需將其分成相應(yīng)的隱含層,然后將其連接于整個(gè)卷積網(wǎng)絡(luò)。在這其中,圖像隱含層能夠容納某些中間信息,且可以用來(lái)顯示圖片中的邊緣點(diǎn)以及特征點(diǎn)。由此可見(jiàn),卷積神經(jīng)網(wǎng)絡(luò)具備的核心價(jià)值就在于開展全方位的邏輯判斷,其在本質(zhì)上很近似人腦固有的性能,同時(shí)也涉及到多層次的技術(shù)細(xì)節(jié)。

        兩臺(tái)服務(wù)器使用光纖back-to-back 直連,避免交換機(jī)產(chǎn)生的延時(shí)影響,RTT 測(cè)試結(jié)果如下:

        優(yōu)化前:

        rtt min/avg/max/mdev=0.036/0.084/0.109/0.014 ms

        服務(wù)器優(yōu)化:

        rtt min/avg/max/mdev=0.035/0.041/0.056/0.011 ms

        Linux 系統(tǒng)優(yōu)化:

        rtt min/avg/max/mdev=0.027/0.031/0.049/0.007 ms

        網(wǎng)絡(luò)優(yōu)化:

        rtt min/avg/max/mdev=0.006/0.008/0.017/0.002 ms

        從結(jié)果看出前述調(diào)優(yōu)方法效果非常明顯,但要注意的時(shí),RTT 不可能無(wú)限降低,當(dāng)降到某個(gè)穩(wěn)定值時(shí),我們認(rèn)為此時(shí)調(diào)整的參數(shù)有效,如果無(wú)限制的追求最低,那延時(shí)抖動(dòng)所帶來(lái)的風(fēng)險(xiǎn)對(duì)期貨交易來(lái)說(shuō)是致命的。

        (3)Onload 加速中間件測(cè)試

        測(cè)試主要使用了sfnettest 開源工具來(lái)對(duì)比使用Onload 和Kernel 的差別。pingpong 測(cè)試1/2RTT 平均延時(shí)數(shù)據(jù)(單位:微秒)如圖2。

        圖2 1/2RTT 平均延時(shí)

        從圖2 中可以看出Onload 中間件的加速功能比Kernel 低2/3,對(duì)延時(shí)的提升是巨大的,當(dāng)一個(gè)應(yīng)用程序調(diào)用操作系統(tǒng)內(nèi)核來(lái)發(fā)送和接收數(shù)據(jù),從應(yīng)用程序到內(nèi)核是一項(xiàng)開銷很大的操作,當(dāng)應(yīng)用程序使用Onload 中間件發(fā)送或接收數(shù)據(jù),它利用了kernel bypass 技術(shù),中間件直接訪問(wèn)網(wǎng)卡上的一個(gè)虛擬區(qū)來(lái)達(dá)到與網(wǎng)卡的直接通訊。因此系統(tǒng)的開銷越小,延時(shí)就越低。

        (4)期貨交易實(shí)盤測(cè)試

        期貨公司更多關(guān)注的是交易系統(tǒng)自身內(nèi)部延時(shí),對(duì)系統(tǒng)設(shè)置4 個(gè)采樣點(diǎn)T1,T2,T3,T4[4]。其中T1 為報(bào)單錄入應(yīng)答,當(dāng)客戶端發(fā)出報(bào)單錄入請(qǐng)求指令后,交易系統(tǒng)返回響應(yīng)時(shí);T2 為交易系統(tǒng)接受到報(bào)單錄入請(qǐng)求后向交易所前置發(fā)送報(bào)單錄入請(qǐng)求;T3 為交易系統(tǒng)接受到請(qǐng)求后發(fā)給交易所,交易所收到后返回的請(qǐng)求;T4為返回給終端交易所報(bào)單狀態(tài)。

        圖3 中可知,交易系統(tǒng)內(nèi)部延時(shí)為Inner=(T2-T1)+(T4-T3)。

        圖3 延時(shí)指標(biāo)定義

        使用API 在內(nèi)網(wǎng)用接近市價(jià)報(bào)單并迅速撤單,下單頻率為50 筆/秒,內(nèi)部處理時(shí)間(包含上行和下行的總處理時(shí)間)平均為27us,99%的報(bào)單延時(shí)在35us 以下。報(bào)單延時(shí)分布如圖4。

        圖4 交易系統(tǒng)報(bào)單延時(shí)

        從圖4 看出系統(tǒng)的內(nèi)部延時(shí)較為穩(wěn)定,系統(tǒng)內(nèi)部平均延時(shí)27us,那么每秒能處理的訂單量約為1000000/27=37037。如果以用戶量來(lái)說(shuō)明的話,能處理3 萬(wàn)7 千筆的報(bào)單相當(dāng)于能接受375 個(gè)用戶每秒按100 筆(上期所流控)來(lái)報(bào)單而不會(huì)出現(xiàn)積壓。

        4 結(jié)語(yǔ)

        在系統(tǒng)上減少或消除抖動(dòng)是獲得最佳性能的關(guān)鍵,然而抖動(dòng)的原因從而導(dǎo)致低劣的性能很難定義和很難補(bǔ)救,特別是在當(dāng)前交易環(huán)境中,期貨公司更多關(guān)注于自身環(huán)境的內(nèi)部延時(shí),從交易所線路接入到期貨公司機(jī)房,從服務(wù)器、網(wǎng)卡到操作系統(tǒng)等,要設(shè)計(jì)好每一個(gè)環(huán)節(jié)。

        期貨交易系統(tǒng)是個(gè)多因素相互作用的復(fù)雜系統(tǒng),僅改進(jìn)系統(tǒng)的一部分并不一定會(huì)帶來(lái)總體性能的提高和延時(shí)的下降。因此,構(gòu)建低延時(shí)交易系統(tǒng)必須把握均衡原則,在把握關(guān)鍵因素的同時(shí),必須從系統(tǒng)整體作考慮,認(rèn)真分析各因素之間的相互作用和與周邊系統(tǒng)的相互聯(lián)系,并根據(jù)實(shí)際情況不斷調(diào)整和優(yōu)化。

        猜你喜歡
        優(yōu)化系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        超限高層建筑結(jié)構(gòu)設(shè)計(jì)與優(yōu)化思考
        民用建筑防煙排煙設(shè)計(jì)優(yōu)化探討
        關(guān)于優(yōu)化消防安全告知承諾的一些思考
        一道優(yōu)化題的幾何解法
        WJ-700無(wú)人機(jī)系統(tǒng)
        由“形”啟“數(shù)”優(yōu)化運(yùn)算——以2021年解析幾何高考題為例
        ZC系列無(wú)人機(jī)遙感系統(tǒng)
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        中文字幕乱码人妻无码久久久1| 女人和拘做受全程看视频| 国产精品熟女一区二区| 久久精品免费免费直播| 日韩av在线不卡观看| 狼人伊人影院在线观看国产| 久久人人爽爽爽人久久久| 欧美老妇与zozoz0交| 亚洲av成人在线网站| 隔壁人妻欲求不满中文字幕| 伦伦影院午夜理论片| 亚洲色欲色欲综合网站| 无遮挡十八禁在线视频国产制服网站| av资源吧首页在线观看| 国产剧情一区二区三区在线| 免费人成视频x8x8入口| 在线播放a欧美专区一区| 日本精品人妻在线观看| 在线观看亚洲av每日更新影片| 色综合色狠狠天天综合色| 免费在线亚洲视频| 日韩精品一区二区三区含羞含羞草| 免费在线观看视频播放| 亚洲av无码国产精品色午夜洪| 精品囯产成人国产在线观看| 97久久国产精品成人观看| 国产精品午夜福利视频234区| 国产精品jizz视频| 欧美日韩国产高清| 成人av毛片免费大全| 欧美人牲交| 五月天综合在线| 亚洲av第一区综合激情久久久| 久久久国产精品123| 亚洲精品无码久久久久秋霞| 亚洲 欧美 激情 小说 另类| 亚洲一本二区偷拍精品| 少妇精品无码一区二区三区| 亚洲AV成人无码久久精品老人| 蜜臀av人妻一区二区三区| 久久精品国产av一级二级三级 |