Imported from previous forum
Hello,
We are trying to build a case for this. If anyone has an article/information please circulate it.
Information so far we have got :
90 of the market use UNIX to run their FIX engine. There have been concerns around Windows locking up and not being able to log onto a box and diagnose the problem. Also, the multi-threading in UNIX is key for performance and tuning reasons.
At same time windows based solution is cost effective.
Thanks for your help
Deepak
[ original email was from Toby Corballis - toby.corballis@rapidaddition.co.uk ]
> Hello,
We are trying to build a case for this. If anyone has an
article/information please circulate it.Information so far we have got : 90 of the market use UNIX to run their
FIX engine. There have been concerns around Windows locking up and not
being able to log onto a box and diagnose the problem. Also, the multi-
threading in UNIX is key for performance and tuning reasons. At same
time windows based solution is cost effective.Thanks for your help Deepak
This is the sort of question that can get people fired up - “We prefer UNIX because…” / “We prefer Windows because…” - with many valid points being put on each side.
A key question, though, has to be “what, if anything, is the rest of your architecture”? There’s no point, IMHO, in having a Unix box with a FIX engine on if the rest of your architecture is Windows, and vice versa, especially if performance is a key consideration.
BTW - I’ve yet to encounter anyone having locaking up issues in Windows.
Deepak
You can create a successful implementation of FIX on either LINUX or Windows. Windows 2008 R2 Server is a robust platform that makes selection of Linux vs. Windows a non-technical one.
The issues on choice of platform as Toby says is more an issue of technology management instead of pure technology issues.
These questions are the relevant ones:
Which platform are you able to support for your application? The issues of system administration and operations management are much larger than any development issues.
Which platform does your staff have expertise in using?
What is the platform you are trying to integrate with your FIX application? Although you can successfully mix platforms if you so choose.
The platform costs (in terms of operating systems) are no longer a major cost item when compared with the cost of custom development, integration work, and application software licensing/rental fees.
C# and Java - the primary languages on each platform are both excellent. C++ is supported extremely well on both platforms.
There are a number of high quality FIX implementations available for Windows and Linux. Interestingly at least one of the highest performance implementations of FIX is actually implemented in C# and runs on the Windows platform.
In conclusion, look at what platform is the most compatible with your existing infrastructure, your developers expertise, and the strategic direction of your business. Fortunately, technical differences are now minor and will not prevent you from having a successful FIX implementation on either Windows or Linux.
And to any platform bigots out there… COEXIST
(like the bumper sticker)
Hello,
We are trying to build a case for this. If anyone has an
article/information please circulate it.Information so far we have got : 90 of the market use UNIX to run their
FIX engine. There have been concerns around Windows locking up and not
being able to log onto a box and diagnose the problem. Also, the multi-
threading in UNIX is key for performance and tuning reasons. At same
time windows based solution is cost effective.Thanks for your help Deepak
Hi Deepak,
Talk about a loaded question
In terms of Windows vs Unix for electronic trading application, it’s just a question of horses for courses - both are extremely capable general purpose operating systems, and if you stay close to the iron you can great solutions on either system.
The problem on the Windows side is that there is an awful lot of bleeding-edge junk you can drag into developing applications, and that, in turn, can lead to some serious reliability issues - if you have a bunch of “Magazine Developers” (as a friend of mine likes to call them) who insist on running to the latest and greatest stuff touted in this month’s issue of MSDN magazine, then you’re definitely going to find yourself in a lot of trouble. If you do the same thing on Windows that most people do on Unix - stick with a set of more established, albeit legacy, technologies, then you won’t find yourself in as much trouble.
Obviously, the quality of your development staff has a lot to do with the quality of your project’s output as well, but the reality is that on the Windows platform there are just so many different ways to get yourself into trouble by over-engineering/complicating things with bleeding-edge technologies - and when the project ultimately crashes and burns, the developers then turn around and blame the platform rather than their own poor engineering choices.
Having spent about 18 years writing software on PCs, I honestly think that NT 4 was about the last time I had to deal with a problematic operating system from Redmond - and much of that had to do with driver issues and other peripheral problems.
The term “economy of mechanism” which is thrown about quite a bit in the secure computing world, is the key here - the more complicated you make something, the harder it is to assure it and the more likely it is that it will do something unexpected.
Hi Deepak,
I would recommend strongly that you base your decision on :
- the language you want to use.
- the strengths of your development team.
The performance of your application would be affected more by the programming techniques and policies you follow than by the platform you choose.
In my opinion, C# would be an excellent choice to develop a FIX engine on Windows and C++ for a Unix variant.
Kind Regards,
Prateek
Information so far we have got : 90 of the market use UNIX to run their
FIX engine.
Deepak,
I’m curious where you found this statistic?
Thanks!
Hello,
We are trying to build a case for this. If anyone has an article/information please circulate it.
Information so far we have got :
90 of the market use UNIX to run their FIX engine. There have been concerns around Windows locking up and not being able to log onto a box and diagnose the problem. Also, the multi-threading in UNIX is key for performance and tuning reasons.
At same time windows based solution is cost effective.Thanks for your help
Deepak
I run a FIX client (FixExpress), Web-based OMS Services (Apache), and Oracle in a same linux box. With web browser running in different PC boxes, user can share the single FIX connection with sell side brokerage connection.
Integration multi-thread processes in Linux and front GUI in windows, you will get a best solution for your business.
Good luck,
Changpeng Yu
Running OMS & FIX in linux at A Person to Person Business Site
Hello,
We are trying to build a case for this. If anyone has an article/information please circulate it.
Information so far we have got :
90 of the market use UNIX to run their FIX engine. There have been concerns around Windows locking up and not being able to log onto a box and diagnose the problem. Also, the multi-threading in UNIX is key for performance and tuning reasons.
At same time windows based solution is cost effective.Thanks for your help
Deepak
Its not always that you run your FIX Engine in Unix I have seen Cameron FIX engine running on Windows but yes give the advantage of Unix as server over windows most of FIX engines e.g NYFIX appia runs on unix. some of FIX engines I have seen discussed here Basics of FIX protocol and FIX Engine - Examples