Always reading bits...


Its the shadows and reflections cast from the future that interest me.

Who : Charles Ditzel
Email: charles.ditzel@sun.com
Email: cld9731@yahoo.com



Go get NetBeans
««Aug 2008»»
SMTWTFS
      12
345678
9
101112
13
1415
16
171819
20
21
2223
24252627282930
31

Search Blog

 


Go to Swing Pointers site

Mailing List

Library Thing

Restaurant Reviews

Flickr - Latest Photos

 Use OpenOffice.org
Wikio - Top Blogs - Technology
cld
       cld.blog-city.com

CoolThreads, Cool Tools and Architecting Futures

posted Tuesday, 29 August 2006
I'm kind of doing a refresh on CoolThreads technology and things kind of seem to happen in threes.  I started looking at the CoolThreads servers and then I bumped into Cool Tools and then I ran back into tuning Java.  I began looking into the new CoolThreads servers (developers like them because they eat very little power, have small footprint size and have lots of power) and Sun's x64 systems which are powerful and have a slew of features.  Don't believe me ? You don't have to - market share numbers are out and guess what ? Sun's total server revenue grew at an astounding 15.5% growth in a flat market while at the same time surpassing Dell as the number three server vendor.  Meanwhile Gartner confirmed Sun's gains citing Sun revenue growth of 13.7%. Within the Unix space - Sun dominated with a 56.9% share of the Unix server shipments.  So I have dug into some great white papers that are available,  Deploying Sun Java Enterprise System on the T2000 Server Using Solaris Containers and Developing and Tuning Applications on UltraSPARC T1 Chip Multi-Threading Systems.  Another great white paper is  basically a Java and CoolThreads architecture case study, Consolidating the Sun Store on Sun Fire T2000 Servers, How Sun IT Uses The UltraSPARC T1 Processors with CoolThreads Technology and Solaris Containers .  Another great whitepaper on consolidation is
Aerith Mapping Component Sample
 Web Consolidation on the SunFire T1000 Server Using Solaris Containers. So all of this is very cool news.  What I have been looking at is the CoolThreads technology and the Cool Tools. Of course, there is plenty of cool Solaris technologies like DTrace, Zones, etc - but Cool Tools aims to provide highly optimized support tools for CoolThreads servers.  There is a nice presentation on it here.  I've tried to summarize it all here. Basically Cool Tools for Software Development are the following highly optimized tools :
  GCC for Sparc Systems : C/C++ compiler that dramatically improves the performance of applications that are normally compiled with gcc on SPARC systems.  GCC for SPARC Systems extends GCC to be able to use the optimizing Sun Code Generator for SPARC systems.  More info here.
  ATS : Automatic Tuning and Troubleshooting System (ATS) is a binary reoptimization and recompilation tool that can be used for tuning and troubleshooting applications.  More info here.
  BIT : Binary Improvement Tool, is a tool containing various resources for working with SPARC binaries. It can instrument and analyze binaries, providing exact count runtime information for purposes of performance or coverage analysis. It can also optimize binaries to improve runtime performance, particularly with respect to instruction cache usage. BIT works on binaries which have been compiled with the Sun Studio 11 or GCC for SPARC Systems compilers, using the ‑xbinopt=prepare option.  More info here.
  SPOT.  The tool SPOT produces a report on the performance of an application. The spot report contains detailed information about various common conditions that impact performance. For example, it will report on the amount of time lost because the data that the application needs was not resident in the processor's cache.  More info here.
  Fabian.  Faban is practically the consolidation of Sun's benchmark development and management knowledge and experience. It is a facility for developing and running benchmarks. It has two major components, the Faban harness and the Faban driver framework. The Faban harness is a harness to automate running of server benchmarks as well as a container to host benchmarks allowing new benchmarks to be deployed in a rapid manner. Faban provides a web interface to launch & queue runs, and extensive functionality to view, compare and graph run outputs. For workload developers creating new benchmarks, Faban also provides a driver framework and component model for rapidly implementing high quality benchmark drivers. The Faban driver framework controls the run lifecycle as well as the stochastic model used to simulate users for the benchmark implemented using this framework. It provides built-in support for all of the major components in Java Enterprise System as well as the Oracle DBMS. It is the harness of choice for all future benchmarks.  More info here.

There are also Cool Tools for Deployment which provide deployment-centric optimized tools :
  Cool Stack.  Cool Stack is a collection of some of the most commonly used open source applications optimized for the Sun Solaris OS / UltraSPARC platform. By using these binaries you will enjoy the best levels of performance from your system, while also reducing your time-to-service.  Cool Stack includes several Sun Solaris OS packages, so you can install just the ones you need. Some of the applications in Cool Stack already ship with Sun Solaris OS 10, but these are either older versions and/or not built with full optimization. Cool Stack is built using Sun Studio 11 Compiler using the -xO4 option for high levels of optimization. This results in anywhere between 30-200% performance improvement (depending on workload/application) over standard compilations performed using gcc.  More info on the stack can be found here. The stack includes :
  CSQamp. This package includes Apache HTTP Server 2.0.58, MySQL 5.0.22 and PHP 5.1.4 built to work together. Apache httpd is built with MPM pre-fork and modules to support PHP, SSL and Perl. PHP has support for MySQL.
  CSQmysql. This package includes a 64bit version of MySQL 5.0.22 and is built with innodb.
  CSQperl. This package includes Perl 5.8.8. Note that Solaris 10 ships with the same version of Perl. However, CSQperl is compiled with optimization and the Sun Studio compiler and will provide better performance.
  CSQphp. This package provides a stand-alone installation of PHP 5.1.4 and installs in /usr/local/php_fastcgi. This PHP can also be used via FastCGI from any other web server.
  CSQsquid. This package includes Squid 2.5.STABLE14 Web Proxy Cache. Squid is a single-threaded application and as such does not scale well on SMP platforms. You may need to run multiple instances to achieve scalability.
  CSQtomcat. This package includes Apache Tomcat 5.5.17 which is a pure Java application. It is provided for convenience as it is no different from the one on tomcat.apache.org.
  cooltst. cooltst applies simple heuristics to determine whether a workload from one platform is a reasonable candidate for Sun Fire T2000/T1000 servers.  It screen workloads that are candidates for migration to Sun Fire T2000/T1000 servers. cooltst suggests when migrating the system's workload may be inappropriate or requires caution.  See here.
  Consolidation Tool for Sun Fire Servers V1.0, Sun Fire T1000 and T2000 Edition, is a software tool designed to simplify the task of consolidating multiple applications onto the Sun Fire T1000/T2000 platform. In particular, the tool will allow the easy definition and creation of Solaris Containers. It will deploy applications into processor sets where appropriate, allocate "CPUs" into processor sets in a way that optimizes performance, and take full advantage of Solaris Containers (including Solaris Zones, pools, psets, and scheduling classes), making intelligent choices between full-root and sparse Solaris Zones.  More here.
  corestat.  Online monitoring of core utilization for Sun Fire T1000/T2000 servers. Core utilization is reported for all the available cores by aggregating the instructions executed by all the threads in that core. Its a perl script which forks cpustat command at run time and then aggregates the instruction count to derive the core utilization. More here.

Cool Tools also includes a number of important other tools :
  Sun Studio 11 Compilers and Tools.  Sun Studio 11 software is the latest release of record-setting, optimizing compilers and tools for the C, C++ and Fortran developer. This release delivers the highest optimizations and the best performance in the development of scalable 32-bit and 64-bit applications on Sun's newest hardware platforms including the latest multi-core UltraSPARC, x64 and x86 platforms. And Sun Studio 11 software now removes the price barrier and is available for free!  More info here.
  Java Platform Software Development Tools. From Java runtime, software development kit to development environment.  Free software development tools such as NetBeans development environment, Sun Java Studio Creator and other tools provide a strong set of advanced tools for building Java applications.
  mediaLib Libraries.  A collection of tuned libraries for data intensive imaging, video, audio, algebra, graphics, and signal processing. mediaLib version 2.4 adds: improved performance for UltraSPARC T1 and a multi- threaded layer taking advantage of multi-core (CMT) systems.
   

I started wondering how to optimize or tune for Java on these servers and bumped again into my favorite whitepaper, Java Tuning White Paper

 

links: digg this    del.icio.us    technorati