Hardware, Costs and Companies

Here's an interesting thing I've run into again at work. No matter where I come across it I'm amazed. Here's the story:

We have a Java process that is large - both in memory usage and in the processor speed that's required to get the job done on time. It's a real-time datafeed system so if it's not fast enough, they simply won't use it and will dub the project a failure. So we need speed and we need a good bit of memory.

The benchmark is that if this process is run on a good WinNT machine (900MHz+ and 512MB+) then the machine is fully loaded, but it runs the app and things are reasonably good. Yet they don't want to load each of the user's machines, so they want a thinner client.

So I try to run the middle tier of this application on a Sun Ultra 2 with a 300MHz UltraSPARC and 256MB RAM. This is a good test and it yields bad results. The report that loaded in about 10 sec. now takes in excess of an hour and the trashing on the Ultra 2 shows that the 256MB is too small and the 300MHz too slow. So now the question is What to try next?

Here comes the problem...

You can buy a Sun Blade 1000 with a 750MHz UltraSPARC processor and 2GB of RAM for about $14,000.00. You can get a dual Athlon 1.2GHz with 1GB RAM for $2,200.00 and run Linux/Java 1.3.1 on it. There's no comparison in the price/performance - Intel hardware wins by a wide margin. Yet you don't want to run NT on it - you need something like Linux/OpenBSD or even Solaris x86. Yet none of those combinations are allowed. Only Windows NT on Intel hardware or Sun hardware and Solaris.

So the problem becomes how do you justify the cost within these arbitrary rules? Well... it's hard. Most of the time you just give up and the users have to suffer. For no good reason other than ignorance. Linux can be made just as secure as Solaris... it can be just as reliable - given solid, reliable hardware... and yet it's banned more than it's used. I'm constantly amazed.


Other than the hardware issue, things are going well at work. We're making progress on the app, and if this middle tier proves itself, it'll be a very nice tool indeed. I enjoy the server-side processes because that means that I don't have to deal with the GUI stuff, but that also means that my ability to interact with the user is only within the context of what the existing infrastructure will allow. Good and bad...