Windows for Automated trading systems. What are the difficulties in tuning the system to obtain better near real time results?
Please note that in this case windows is not a choice.
I could run some parts of the application on different servers datafeed on win and algo/db on linux but it would be time consuming and complex to optimise.
Any help or resources appreciated.
I am assuming you mean, “I don’t have a choice, I have to develop this to run on Windows.” Otherwise your question is a contradiction 🙂
Like ANY general purpose OS, limit what else you’re doing on the computer and that can impact the performance of your service or application. Really it’s all the “normal stuff” that will make your application faster and more reliable.
Run your application at higher priority; run your threads at the correct priority for the job they are doing. Use thread affinities to force parallelism on multiple cores, so that you don’t over-saturate your cores. Make your application configurable so you can adjust these at load- or run-time.
Windows 2008/R2 has many opportunities to “tune” the OS to a particular role. Turn off those roles you don’t need. Set the option so that your application, or service, will receive a higher priority (ie, foreground programs or services). Turn off the Windows policy that restricts CPU-bound applications.
Turn off everything you don’t need for the functioning of the computer itself; you probably don’t need Firewall, Virus scanning on a restricted-access server. Investigate and turn off those services you don’t need.
Use Performance Monitor and Resource Monitor to see how your system is doing under normal and stress conditions.
And when running it, run it with enough head-room to take into account large market surges, so it will keep on ticking in the tough times.
Windows is not real time in the sense of deterministic. We have seen plenty of tests of Windows versus Unix systems and RTOSs. If a low number is good then RTOSs are less that 10, Linux is mid teens, the high end Unixes are around 20, and Windows is a 27.
Linux is a safe choice and worth the effort. All it takes is one element in the chain to be an issue and the whole system suffers.NOTE I now post my TRADING ALERTS into my personal FACEBOOK ACCOUNT and TWITTER. Don't worry as I don't post stupid cat videos or what I eat!