在我的高频交易软件中,我计划使用一个内核来计算股指。这将是while(true)
一个没有任何延迟的简单循环,它会尽可能频繁地计算(求和和乘法)组件(每秒数百万次),我计划每天这样做 8 小时。
我从来没有每天定期将我的计算机加载到 100% 全时间。会不会有危险?处理器是否有某种“资源”(当然很大),之后它可以停止工作?
在我的高频交易软件中,我计划使用一个内核来计算股指。这将是while(true)
一个没有任何延迟的简单循环,它会尽可能频繁地计算(求和和乘法)组件(每秒数百万次),我计划每天这样做 8 小时。
我从来没有每天定期将我的计算机加载到 100% 全时间。会不会有危险?处理器是否有某种“资源”(当然很大),之后它可以停止工作?
没有危险(使用服务器级硬件时)。
我已经运行了数百个 HFT 系统,我们会指定一个 CPU 核心来运行自旋锁线程(以减少中断),或者在交易日期间将策略与特定 CPU 核心挂钩。这就是 CPU 的设计目的。我可以说在这种情况下我从未遇到过处理器故障。
在您的情况下,您使用的是合适的服务器吗?其他需要考虑的因素是冷却、冗余风扇、电源等。但这些都是任何生产系统的标准项目。
一般来说,不,虽然你应该看的是负载,但温度。您可能想要模拟负载(可能在 windows上使用superpi ,在 linux 和 windows 上使用prime95或其他一些压力测试应用程序,或您的实际应用程序)并运行该过程直到温度稳定 - 类似于超频者所做的。
您希望此温度低于该处理器的最大额定温度 - 请查看数据表。然后查看您的冷却解决方案是否足够,并可能根据需要进行调整。不幸的是,我不建议使用监控软件,因为我不知道操作系统——nagios 等常见软件可能会起作用,但对于最初的“老化”,lmsensors或pcwizard 之类的软件可能会对单个系统起作用。
大多数现代处理器在过热时会简单地降低速度——英特尔对此有专门的介绍。如果性能至关重要,这对您的应用程序来说将是可怕的,但系统更有可能关闭或表现异常而不是自行耗尽。这表明处理器负担过重,并且正在发生坏事 - 在这种情况下检查您的冷却选择。
当有内核未达到 100% CPU 负载时,全球数以千计的科学集群认为这是次优(或糟糕)的情况。具有适当服务器级硬件的真实服务器就是为此而设计的。