| One of the topic areas I cover is CoolThreads servers, that is servers that use the UltraSPARC T1 chip, such as the Sun Fire T1000 and Sun Fire T2000. Though my interest is in software and tuning aspects, these systems really interest me, more so than other SPARC and Intel systems, you will understand why after reading this. Needless to say I am pretty entusiastic about these CoolThreads servers. The UltraSPARC T1 processor, a SPARC V9 implementation, which gives you up to eight processing cores with four threads per core. It is very much like a rack of servers on one chip. With up to 32 simultaneous threads and Solaris utilities like pbind, psradm, etc all act accordingly. It is a monster performer especially for enterprise Java apps. Sun has been holding a contest asking for the community to evaluate this system against their existing servers publicly. Unlike some other vendors that will sue you for public benchmark disclosure - Sun has encouraged it with this contest. You would think that is pretty gutsy - but when you |  | |
see the performance of these systems - you begin to understand why Sun is so confident. Check out the winners page which has accounts from various efforts. I was reading the Parallel Metrics Project from an assistant professor at the University of Illinois at Chicago who after running tests concludes that : | - | T2000 has a performance comparable to an entry-level supercomputer. | | - | In using a SWaP performance assessment it assesses the value of T2000 at 130 times better than their existing IBM supercomputer (in terms of Space, Watts and Performance). | | - | The T2000 in a cluster would not only be a very powerful supercomputer but would be a big win in power usage and space. | I wrote here (also here) about how this applies to Java earlier - you can also take a look at David Dagastine's blog entry on T1 here. In preparing for a talk on these CoolThreads servers I have been reading account after account where these systems prove to be a winner in all sorts of areas - enterprise Java settings being a recurrent topic. As you can see from reading some of the accounts - CoolThreads servers are very hot in terms of performance and very cool in terms of power. The servers operate very efficiently on modern apps (the more threads the better and faster). Though CoolThreads servers are 100% binary compatible with the previous SPARC generation, some apps that do HPC floating point intensive operations won't leverage the architecture and Galaxy systems make better sense for FP apps. However, single threaded apps that can be used as multiple processes and communicated via shared memory will leverage the advantages of the underlying architecture. One account, provides a nice view of tuning MySQL, early on, before CoolTuner and optimized binaries (Cool Stack & Cool Tools) for gcc, MySQL and an open source stack. Another account recounts MySQL & Apache optimization and tuning of T2000s (prior to Cool Tools, Cool Stack and Cool Tuner) - and it shows 2 T2000s replacing 14 HP DL 145's. You may think this is unusual - but it is not, in talking to one engineer he talked to me about how busy he was re-architecting an environment where a single T2000 was replacing 7 competing systems and they were expanding the T2000's memory to increase that number. These systems were running app servers in Solaris Zones (7 zones, each with an app server). Many of the contest winners' writings were early - upon the introduction of CoolThreads servers- today there are many tools including optimized binaries such as Cool Tools which offer optimized gcc and number of useful optimization tools. There are also Cool Stack packages with optimized binaries such as CSQamp (optimized Apache HTTP Server), CSQmysl (optimized MySQL), CSQperl (optimized Perl), CSQphp (optimized PHP), CSQsquid (squid proxy) and CSQtomcat (which includes Tomcat). These binaries are compiled to take advantage of the CoolThreads' architecture. Also some nice ways of looking at different workloads (Consolidation Tool), corestat (monitoring core utilization of CoolThreads servers) and cooltst (workload evaluation). Finally, another tool which is auto-tuning the CoolThreads servers (at a system level) is the CoolTuner. One excellent resource that shows how to get optimized results for various enterprise software can be found here and shows tuning guidelines for Apache, BEA Weblogic, BLAST, DB2, IBM Websphere, IBM WebSphere MQ Series, Java SE 5.0, JBoss, LDAP, MySQL, NFS, Oracle, PeopleSoft, PostgreSQL, SAP, Sun App Server (Glassfish), Sun Web Server, Sybase, Sybase IQ, Symantec Brightmail Anti-SPAM and Tomcat - to name a few. Another place to get lots of information is the CoolThreads Servers FAQ which you can find here. As you can see the CoolThreads servers aim at key enterprise applications.
It isn't just the performance that is turning heads - CoolThreads servers are increasingly viewed as "eco-responsible server" in that it runs cool and uses much less power than many competing systems, not to mention it has a small form factor - this is all re-inforced by the accounts above. You can see some energy utilities are already offering rebates on CoolThreads servers to encourage use - such as PG&E - you can read it about it here. Another useful metric to assess (Space, Watts and Performance in) servers is SWaP which you can read about here and where there is also a SWaP calculator. So, architectually, how do you perform this consolidation of a web server farm ? There are some nice whitepapers which can help by providing some initial readings, such as , Web Consolidation on the Sun Fire (I have been calling them CoolThreads servers but their product names are actually "Sun Fire T1000 and Sun Fire T2000), Consolidating the Sun Store Onto Sun Fire T2000 and Consolidating Applications with Solaris Containers. You can read more here (T2000) and here (T1000). |