设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 开源资讯 查看内容

深度探秘:Linux在纳斯达克的应用

2010-11-8 11:34| 发布者: joejoe0332| 查看: 5017| 评论: 0|原作者: 黄永兵译|来自: 51CTO.com

摘要:   大多数人认为纳斯达克仅仅是美国的一个证券交易所,但实际上纳斯达克OMX集团运营着世界各地的交易。Linux在金融行业中的使用越来越广泛,值得一提的是,英国伦敦证券交易所也正在向Linux转移,前不久才完成了测 ...

  另一方面,Bob表示Linux也还有需要改进的地方,例如I/O信号,它们让编程变得很复杂,如果事务繁忙,信号队列可能会溢出,用户空间的libaio异步I/O(AIO)是基于线程实现的,扩展性不好,和epoll的集成度也不好。相反,基于内核的异步I/O缺乏合适的套接字支持,他还提到了recvmsg()系统调用,每个入站数据包都需要一个进入内核的调用。

  新的recvmmsg()系统调用在单次调用中可以接收多个数据包,但它现在是围绕内部recvmsg()实现的一个封装,还不能跨全部操作持有套接字锁,但Bob认为recvmmsg()是向Linux添加新API的一个很好示例,他也喜欢基于内核的AIO和eventfd()结合使用,使得将基于文件的AIO整合进应用程序正常的事件处理循环成为可能,syslets也仍然有潜力可挖,Bob认为它可以作为向用户空间发送通知的快捷方法,但现在尚不清楚syslets是否会扩大规模。

  纳斯达克OMX现在最想在Linux中看到的是基于套接字的AIO,这样就可以用更少的系统调用替换epoll/recvmsg/sendmsg队列,更妙的是,内核可以同时为多个事件提供通知,最好是这个功能的接口完全基于套接字,Bob描绘了一个类似于epoll的内核项目,它可以处理内核中的网络通信,应用程序可以向队列异步发送和接收请求,当它们执行完毕时接收通知,他希望看到多个套接字连接到单个对象,和一个适合传递给poll()的文件描述符,有了这样的技术,通过内核的网络流量就可以更大,并且延迟也会更小。

  总之,纳斯达克OMX对Linux的表现还是很满意的,它们也喜欢尝鲜,前不久交易所的服务器就升级到了2.6.35.3内核,新出现的API对运营的帮助也很大,Bob说很少有系统因性能原因愿意引入新的API,这和Linus Torvalds的观点却不一样,Linus Torvalds认为没有人会使用Linux特殊的API,这一次也许是Linus Torvalds错了,不是没有人使用,只是它们藏得很深,一般人不知道。


酷毙

雷人

鲜花

鸡蛋

漂亮

相关阅读

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部