以文本方式查看主題 - 曙海教育集團論壇 (http://www.hufushizhe.com/bbs/index.asp) -- Linux應(yīng)用開發(fā) (http://www.hufushizhe.com/bbs/list.asp?boardid=32) ---- 可靠性至關(guān)重要 Linux在納斯達克的應(yīng)用 (http://www.hufushizhe.com/bbs/dispbbs.asp?boardid=32&id=1669) |
-- 作者:wangxinxin -- 發(fā)布時間:2010-11-23 10:57:49 -- 可靠性至關(guān)重要 Linux在納斯達克的應(yīng)用 大家知道嗎?聞名于世的納斯達克使用的是Linux操作系統(tǒng)。大多數(shù)人認(rèn)為納斯達克僅僅是美國的一個證券交易所,但實際上納斯達克OMX集團運營著世界各地的交易。Linux在金融行業(yè)中的使用越來越廣泛,值得一提的是,英國倫敦證券交易所也正在向Linux轉(zhuǎn)移,前不久才完成了測試。在美國,納斯達克OMX集團控制著納斯達克股票市場,納斯達克期權(quán)市場和今年10月8日新啟動的納斯達克OMX PSX市場。在新澤西舉辦的Linux基金會高端用戶峰會上,納斯達克OMX集團副總裁Bob Evans就關(guān)鍵業(yè)務(wù)系統(tǒng)使用Linux的情況做了一個簡要的介紹。 納斯達克OMX的交易運行在數(shù)千臺Linux服務(wù)器上,這些服務(wù)器要處理實時事務(wù),監(jiān)控和進展情況,這種環(huán)境最大的挑戰(zhàn)就是性能,實際貨幣的匯率取決于交易是否能跟得上訂單流,延遲和吞吐量變得非常關(guān)鍵,訂單必須在有限的時間內(nèi)響應(yīng)(和執(zhí)行),不用說,可靠性也非常重要,停機幾乎是不被允許的。 為了全面滿足這些要求,納斯達克OMX集團部署了許多大型計算集群,它們每天可以處理數(shù)億筆訂單,在延遲時間為25毫秒的情況下,每秒最快可以處理一百萬筆訂單。 Bob說近年來Linux引入了許多有用的技術(shù),如網(wǎng)絡(luò)驅(qū)動中的NAPI中斷緩解技術(shù),至少給其它工作負(fù)載釋放了近1/3的CPU時間,epoll系統(tǒng)調(diào)用減少了大部分單次調(diào)用開銷,在一次基準(zhǔn)測試中發(fā)現(xiàn),延遲時間至少減少了33毫秒,在用戶空間通過VDSO換頁處理clock_gettime()至少減少了60毫微秒。Bob對Linux的頁面緩存工作效率也很滿意,它消除了異步I/O的需要,大大簡化了代碼。 另一方面,Bob表示Linux也還有需要改進的地方,例如I/O信號,它們讓編程變得很復(fù)雜,如果事務(wù)繁忙,信號隊列可能會溢出,用戶空間的libaio異步I/O(AIO)是基于線程實現(xiàn)的,擴展性不好,和epoll的集成度也不好。相反,基于內(nèi)核的異步I/O缺乏合適的套接字支持,他還提到了recvmsg()系統(tǒng)調(diào)用,每個入站數(shù)據(jù)包都需要一個進入內(nèi)核的調(diào)用。 新的recvmmsg()系統(tǒng)調(diào)用在單次調(diào)用中可以接收多個數(shù)據(jù)包,但它現(xiàn)在是圍繞內(nèi)部recvmsg()實現(xiàn)的一個封裝,還不能跨全部操作持有套接字鎖,但Bob認(rèn)為recvmmsg()是向Linux添加新API的一個很好示例,他也喜歡基于內(nèi)核的AIO和eventfd()結(jié)合使用,使得將基于文件的AIO整合進應(yīng)用程序正常的事件處理循環(huán)成為可能,syslets也仍然有潛力可挖,Bob認(rèn)為它可以作為向用戶空間發(fā)送通知的快捷方法,但現(xiàn)在尚不清楚syslets是否會擴大規(guī)模。 納斯達克OMX現(xiàn)在最想在Linux中看到的是基于套接字的AIO,這樣就可以用更少的系統(tǒng)調(diào)用替換epoll/recvmsg/sendmsg隊列,更妙的是,內(nèi)核可以同時為多個事件提供通知,最好是這個功能的接口完全基于套接字,Bob描繪了一個類似于epoll的內(nèi)核項目,它可以處理內(nèi)核中的網(wǎng)絡(luò)通信,應(yīng)用程序可以向隊列異步發(fā)送和接收請求,當(dāng)它們執(zhí)行完畢時接收通知,他希望看到多個套接字連接到單個對象,和一個適合傳遞給poll()的文件描述符,有了這樣的技術(shù),通過內(nèi)核的網(wǎng)絡(luò)流量就可以更大,并且延遲也會更小。 總之,納斯達克OMX對Linux的表現(xiàn)還是很滿意的,它們也喜歡嘗鮮,前不久交易所的服務(wù)器就升級到了2.6.35.3內(nèi)核,新出現(xiàn)的API對運營的幫助也很大,Bob說很少有系統(tǒng)因性能原因愿意引入新的API,這和Linus Torvalds的觀點卻不一樣,Linus Torvalds認(rèn)為沒有人會使用Linux特殊的API,這一次也許是Linus Torvalds錯了,不是沒有人使用,只是它們藏得很深,一般人不知道。 |