Just thinking about processors, threads, performance, and scalability
Before I read John’s blog post for today I was thinking about multiprocessor machines. Probably because I was talking about threading in my last post. I was thinking about the maximum number of processors the Windows Server 2003 operating system can support. The 32-bit version of Windows Server 2003 supports up to 32 processors in one box. While the 64-bit version of Windows Server 2003 can support more than 32. link So...how much would one of these machines cost?
I went to Dell’s site and the box with the most number of sockets was the PowerEdge 6800 with four dual cores. By selecting the default configuration and only switching from a dual to a quad, the price was $19,107. Ouch.
I then went to HP’s site and found a couple offerings:
HP ProLiant ML570 G3 Server series which has four sockets and starts at $4599.
HP ProLiant DL500 Server series which has four sockets and starts at $6199.
HP Integrity Server series which supports 2-64 processors with no listed base price. Hmmmm.... This reminds me of eating at a fancy restaurant that doesn’t list the prices...if you have to ask...you can’t afford it.
I think that the numbers are interesting. There is absolutely no doubt in my mind that there are applications that must use threads to support performance issues. But considering how difficult it can be to write multithreaded applications, coupled with the price of machines capable of scaling via threads, it just doesn’t make sense to me from a cost/benefit perspective to use threading for scaling problems. I think that scalability is better served by using grid objects on a compute grid running on cheap single or dual core machines.