




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、高频交易中是否需要实时操作系统?【董可人的回答(23 票)】 :我没有实际接触过任何一种“实时操作系统”,以下看法可能有失偏颇,欢迎熟悉这方面的同学指正。从维基页面Real-time operating system 上来看,实时操作系统主要做了以下几个方面的工作:专门的进程调度算法。基本思想是说进程进入闲置状态后,重新激活需要排队。所以实时系统的调度算法针对处理实时任务的进程做了优化,保证它们不被非实时任务抢先。为了在多个实时任务之间共享数据和硬件,做一些特殊的处理。比如放权给应用程序使其可以越过操作系统去临时禁止硬件中断,保证实时任务在处理过程中不会受到任何干扰。实时任务可能有一些处理是写
2、在中断处理( Interrupt Handler )中以保证最大程度的独占硬件资源,这导致的问题是如果在这个过程里调用 System Call 而修改了内核中的一些状态,会和非中断的程序调用类似的 System Call 而产生的修改产生冲突。所以做了一些设计来解决这个问题,比如在更新内核状态的时候禁止中断。内存分配上,针对内存碎片做了一些优化设计。仅就这几点而言,以我的个人理解,高频交易没有必要采用实时操作系统。这是因为,现代的通用操作系统和硬件都已经发展到非常成熟和复杂的程度。在多核架构下,完全可以做到分出几个核给应用程序独占,爱怎么用就怎么用,操作系统不会跟你争。中断也可以自己控制( B
3、alancingHardware Interrupts ) 。 至于内存分配, 避免碎片是高水平的程序员可以自己操作的,对系统没什么依赖。我的理解是,实时系统在一些嵌入式硬件上有应用价值。因为硬件资源非常有限,通用系统的很多设计不仅没用反而会增加负担,这种情况下采用专门的实时系统是有必要的。但是一个高频交易系统本身在硬件设计上没有任何限制,想用什么就用什么,硬件资源( CPU ,内存等)非常丰富,甚至超出实际需要,这种情况下,只要对通用操作系统有正确和深入的理解,是完全可以实现实时处理的需求的。【张海州的回答(3 票) 】 :网络延迟是数百毫秒级别的, Win64 的任务切换是微秒级别的, L
4、inux 稍快些。首先,有功夫整操作系统还不如整整网络。譬如,现代的操作系统,不论是Windows 还是 Linux ,其 TCP/IP 栈设计的首要原则是重载 (尤其是 Windows , 自 Windows 2000 起采用了 FreeBSD 的 TCP/IP 栈) ,都是扛造第一速度第二。因此换用速度第一原则的 TCP/IP 栈, 或者调整 TCP/IP 栈的 参数,都会取得立竿见影的效果,至少在你这一侧的网络是为速度优化过了(别指望交易所优化,他们的服务器优先原则是抗造) 。第二,算法非常重要。譬如 FIX 协议的解析,华尔街最优秀的能做到单服务器Java 1000 万指令/秒、C+
5、6000 万指令/秒,我不清楚国内的平均水平,不过自测 Java 超过 300 万指令 /秒不难。第三,优化进程/ 线程的同步。别让订单、策略啥的傻等。【周光宇的回答(1 票) 】 :和 董可人 一样没有上手操作过, 但在选 linux distribution的时候做过一些调研。个人觉得实时系统的主要目的不是降低Average Latency ,而是保证最坏的 Latency 在一定范围内。如果要做对于 data stream 有顺序要求的操作(非常多的time series analysis ) ,可以尝试一下实时系统。窃以为与实时系统相比, zero-copy 或者 kernal-byp
6、ass 之类高大上的技术更值得研究。【陈世锋的回答(0 票) 】 :这个问题 我来回答吧,高频操作,就是 每秒钟 有很多 io和计算,根据目前的 计算机 技术水平来说做到 实时很难, , , qq 等软件 每秒有上亿次的信息传输和计算,但是不是实时操作系统,也没必要实时,只要计算速度和输入输出速度 在一定的可接受范围即可,就算是宇宙飞船火箭等也不是实时的,只是尽可能保证在多少毫秒完成请求即可。还有世界上不存在实时操作系统,你看到的实时操作系统都是 指 反应 更快一点, , io 能力更强一点。 所以呢高频交易一般情况都不一定要实时操作系统,而是通过改进吞吐量和计算 io 分离等措施提高响应速度
7、。 。 。 。 。完毕【Xinwang 的回答 (0 票)】 :Hft 系统一般都尽量绕开os. 比如:把线程绑定到单独的核上绕开调度器;使用 object pool 和预先分配绕开内存管理;使用 kernel bypass 避开 os 的协议栈;我的地盘我做主,实时 os 能提供的东东西,大家并不怎么需要。你能在16 个核上跑 32 个线程,同时保证合理的 latency - 可是你为毛要跑那么多线程啊?【冏冏的回答(0票):实时分硬实时软实时。软实时系统是个概率问题,主流OS都可归为这一类。硬实时系统要求任务执行时间有确定性的上限, 用的也不多 -有这种要求时, 该不该用 OS , 甚至该
8、不该丢掉处理器直接硬件实现,都值得商榷。高频算法交易没可能有这种要求,通用 OS 足以胜任,折腾这些不如优化算法、架构和网络。【寒意的回答(0 票)】 :接触过多个实时操作系统, pSOS , VxWorks , RT Linux ,uCOS , free RTOS 实时操作系统最重要的一点是输入到输出的时间是可预期的。火箭、卫星用的都是实时操作系统。一个液晶电子闹钟也可能用了实时操作系统。没接触过高频交易系统,凭印象它不可能需要使用实时操作系统。1. 基于网络的应用, 大部分时间延迟来自于网络, 即使本地使用了实时系统,时间仍然不可控,网络的延迟是多少还是多少;2. 所有任务处理最终还是处理
9、器一条条指令执行, 一般使用实时系统每个任务会少用成千上万条指令,但这个速度的提高对于目前性能的计算机以及高频交易这样的应用可能毫无必要,因为每个任务处理可能节约了不到 1ms 时间。3. 大部分实时系统又可以称呼为嵌入式实时系统, 用于嵌入式产品。4. 如果在实时系统上开发高频交易系统, 出品公司可能要指定某一种计算机硬件。5. 在大部分实时系统上开发一个含大量图形界面的应用软件,会令很多工程师吐血。【知乎用户的回答(0 票)】 :不需要实时系统。实时系统通常是对时间的精确度要求很高的时候才需要,或者是要求必须在规定的时间内做出有效响应。主要应用在工业控制领域。例如,飞机的飞控系统,必须在若干 ms 内完成一次闭环计算,火箭也是如此,否则就可能导致飞行姿态不稳定,影响飞行轨迹的控制精度。而响应时间的限制也是如此,假如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 作品著作权公证考核试卷
- 胶合板产品的物流配送网络优化考核试卷
- 船舶导航与通信技术考核试卷
- 绿化管理的发展趋势与展望考核试卷
- 电子元器件封装技术考核试卷
- 山东省烟台市重点名校2025届初三下第一次五校联考综合试题含答案
- 四川省南充市2024-2025学年数学四下期末综合测试试题含解析
- 兰州石化职业技术大学《现代生物仪器分析》2023-2024学年第二学期期末试卷
- 宁夏石嘴山市第十五中学2024-2025学年中考物理试题模拟题及解析(天津卷)含解析
- 西藏职业技术学院《GIS开发实践》2023-2024学年第二学期期末试卷
- 2025年上半年福建福州广播电视台招聘易考易错模拟试题(共500题)试卷后附参考答案
- 2025年北师大版物理中考一轮备考复习:光现象、透镜作图专题(一)(含解析)
- 辽宁协作校2024-2025学年度下学期高三第二次模拟考试语文试卷(含答案解析)
- 2025-2030汽车扬声器市场发展现状分析及行业投资战略研究报告
- 期中考试考后分析总结主题班会《全员出动寻找消失的分数》
- 成都树德中学2025年高三第四次联考物理试题文试卷
- 软件项目团队管理制度
- 2025-2030中国数据安全服务行业市场深度分析及前景趋势与投资研究报告
- 山东省天一大联考·齐鲁名校教研体2024-2025学年(下)高三年级第六次联考(物理试题及答案)
- 2024年秦皇岛市市属事业单位考试真题
- 中海油考试试题及答案
评论
0/150
提交评论