Yet another entry in the Linux vs. Solaris scalability debate. This time it comes in Garrett D'Amore's blog Scalability FUD, where he argues that, at least in the HPC arena, most operations involve "user" rather than "sys" time and, therefore, the calls to inter-thread synchronization are relatively few.
D'Amore suggests, too, that such HPC systems call for the use of custom software that can deal with highly parallel architectures. Further, he continues, these systems are based on systems that don't actually run a single system image. He stresses that there is not a single universal addressable memory space visible to all processors -- at least not without high NUMA costs requiring special programming to deliver good performance, and frequently not at all.
In many ways, he continues, these systems can be considered "clusters" of compute nodes around a highly optimized network. Certainly, programming systems like the XT5 is likely to be similar in many respects to programming software for clusters using more traditional network interconnects. An extreme example of this kind of software is SETI@home, where the interconnect (the global Internet) can be extremely slow compared to compute power.
What, then, are the implications of the above observations? Most of the traditional software used in databases, web servers, and business logic systems spend a much larger percentage of their time in the kernel, either performing some fashion of I/O or inter-thread communication (including synchronization like mutex locks and such), D'Amore writes.
He then points out that, with a massive non-clustered database, there will be some kind of central coordinator for locking and table access, and such, plus a vast number of I/O operations to storage, and a vast number of hits against common memory. These kinds of systems spend a lot more time doing work in the operating system kernel, which means that, this situation is going to exercise the kernel a lot more fully, and give a much truer picture of "kernel scalability" -- at least as the arguments are made by those arguing for or against Solaris or Linux superiority.
This leads D'Amore to note that Solaris aficionados claim it is more scalable in handling workloads of this nature -- that a single SMP system image supporting traditional programming approaches (e.g. a single monolithic process made up of many threads for example) will experience better scalability on a Solaris system than on a Linux system.
While he concedes that he has not performed confirming measurements but has worked in both kernels, D'Amore contends that the visual evidence from reading the code is that Solaris seems like it ought to scale better in this respect than any of the other commonly available free operating systems.
It won't do, D'Amore advises Linux champions, to cite the Top500 as evidence for the superior scalability of Linux. Proof has to be sought in more traditional commercial kinds of single-system deployments, he insists.
More Information
Scalability FUD - D'Amore's blog
Why Consider Solaris?
[...read more...]
Other articles in the Solaris section of Volume 144, Issue 3:
In the Linux vs. Solaris Debate, Watch out for Scalability FUD
(this article)
See all archived articles in the Solaris section.
|
|
Top 10 Most Popular Articles in Current Issue (Vol 168, Issue 1)
|
|
|
|
|