Tuesday Mar 31, 2009

Intelligent Performance - Solaris optimized for Nehalem

Nehalem_Solaris.pngOver the last two years, Sun and Intel have been working together - from design and architecture through implementation - to ensure that Solaris is optimized to unleash the power and capabilities of current and future Intel Xeon processors. The compelling results include:
  • Increased performance as the Solaris OS takes advantage of Intel multi-core processor capabilities and Intel Turbo Boost Technology
  • Optimized power efficiency and utilization by enabling Solaris to take advantage of Intel Xeon processor 5500 (aka Nehalem) series performance-enhanced dynamic power management capabilities.
  • Extending Predictive capabilities to improve reliability by incorporating Nehalem features into the Solaris Fault Management Architecture (FMA).
Now, lets talk more in-depth about the innovations within Solaris in combination with Intels Nehalem Architecture.

Intelligent Performance

We have optimized the performance of Solaris for individual cores and the overall multi-core microarchitecture, which increases both single- or multi-threaded performance. Intel Turbo Boost Technology uses any available power headroom to deliver higher clock rates. In those situations where the application requires maximum processing power, the Intel Xeon processor 5500 series increases the frequency in the active core when conditions such as load, power consumption and temperature permit it.

The Solaris threading model provides a sophisticated performance with specific optimizations for the new Nehalem Architecture. Solaris also takes advantage of the capabilities of the new Intel QuickPath Interconnect QPI with capabilities such as an optimized scheduler and memory placement optimization (MPO) capability that has proven performance benefits with non-uniform memory access (NUMA). This reduces the memory latency. The Solaris NUMA implementation takes information from the Advance Configuration and Power Interface (ACPI) System Resource Affinity Table (SRAT) and the System Locality Information Table (SLIT).

Modern processors provide the ability to observer performance characteristics of applications using performance counters. Solaris provides the libcpc (\*LIB) API to access these performance counters. These interfaces can be used to observe the performance characteristics of applications. Following utilities provide you information from libcpc:
  • cpustat -h provides a listing of all the different events that are available on a give processor.
  • cputrack is used to analyze performance charateristics on a per-process or per-LWP basis
  • Performance Analyzer tools like collect, analyzer and er_print.
The DTrace CPU Performance Counter provider (cpc provider) makes available probes associated with processor performance counter events.

Automated Energy Efficiency

Solaris takes advantage of many power efficiency features in the Nehalem architecture. For example, an innovative Power Aware Dispatcher (PAD) has been integrated into OpenSolaris, enabling granularity in power management (P-states). We have seen a substantial reduction in idle power consumption, lower power cunsumption at maximum cpu utilization, and improved performance when switching between power states.

The kernel dispatcher - the part of the kernel that decides where threads should run - is integrated with the power management subsystem of the Nehalem cpu. Therefore the kernel now has the ability to utilize those parts of the processor that are active, and continue to avoid doing work on those parts that are powered down.

PowerTOP is a new command line tool that shows how effectively a system is taking advantage of the processor's power management features. The application observes the system on an interval basis and displays a summery of how long the processor is spending (on average) at each different state.

Reliability and Availability

Sun and Intel are working together to extend the capabilities of the Solaris Fault Manager by also supporting the Machine Check Architecture (MCA). The Fault Manager automatically diagnoses the underlying problems and responds by off-lining faulty components.

The ability to fast reboot a system drastically reduces downtime and improves efficiency. Fast Reboot is a command-line feature that enables you to reboot an Intel Xeon processor 5500 series system quickly, bypassing the BIOS, power on self test, and the GRUB Bootloader. Fast Reboot (reboot -f) implements an in-kernel boot loader that loads the kernel into memory and then switches to that kernel, so that the reboot process occurs within seconds.

The ability to work around processor errata in the operating system by applying microcode updates is available in Solaris. This support alleviates the need to upgrade a system's BIOS every time a new microcode update is required.


We have made optimizations to the compiler tools and runtime libraries including full support for Streaming SIMD Extensions (SSE 4.2). To enable the automatic usage for SSE instructions, specify -xvector=simd in your compiler options.

To speed up serial application performance on multithreaded chips like the Intel Xeon 5500 Series, you can use the compiler option -xautopar. The compiler will then generate codes which, when executed at runtime, will have more than one thread to execute the loop body.

OpenMP is the de-facto standard for writing multi-threaded applications to run on multi-threaded machines. OpenMP specification version 3.0 defines a rich set of directives, runtime routines, and environment variable that allow the programmer to write multi-threaded applications in C, C++, and Fortran. The Sun Studio software facilitates OpenMP development. The main motivations for using OpenMP are performance, scalability, portability, and standardization. With a relatively small amount of coding effort, a programmer can write multi-threaded applications to run on multi-threaded machines.


This video from David Steward (Intel) also provides some insights about the improvements in Solaris for the Nehalem architecture:

Sun provides everything necessary to get the best out of the latest Intel Xeon 5500 series CPU. Starting at the Hardware with our innovative X-Series Servers, the Solaris operating system with all its enhancements, and ending with the complete compiler environment that leverages all features for your application.

You can find more information on the following links:

Thursday Jan 15, 2009

OpenSolaris 2008.11, Closing the cap or leapfrogging Linux?

opensolaris.png When Solaris 2008.05 was released in May 2008 the feedback from several communities and magazines was in general positive but with several hints that OpenSolaris still has to go a long way to close some gaps to Linux. Often they have mentioned the amount of pre-compiled (packaged) applications available, the package management and lack of drivers for certain devices.

With the release of OpenSolaris 2008.11 we can say that we have addressed many of the mentioned topics. We have also improved other areas that we believe are simply unique in the Linux/UNIX world! Very often people just talk about the front-end and applications that run on your desktop by ignoring that OpenSolaris is not just an other Linux, in fact it is a UNIX!

Since the release of OpenSolaris 2008.05 the installed base has doubled and more than 80 OpenSolairs user groups today spreading around the world.

Let me now introduce some new features and key differentiators we have compared to any other Linux/UNIX:

If you look what made OpenSolaris more and more popular, it is certainly ZFS and DTrace.
  • Now DTrace is probably not the feature that you would use as a standard computer user, but it is essential for every developer to help him improve the quality of his application and discover bugs. DTrace allows you to debug your application on the fly while it is running in OpenSolaris without special debugging code (binaries). There is no Operating System that is capable of doing this, except FreeBSD and Mac OS X. The guys at FreeBSD are adopting and implementing a lot of cool features introduced first in Solaris and OpenSolaris, like ZFS.

  • Many people are switching to OpenSolaris because of ZFS. The very simple interface and the tremendous functionality of ZFS make this file system the best file system ever. This leads me to the new added feature called Time Slider. Time Slider is a combination of features built on top of ZFS, integrated into the GNOME file browser. It basically allows you to slide the time of your file system back and recover files that you have for example accidentally deleted or modified. You can compare this feature with Time Machine on Mac with the exception that you don't need an external disk to do this!
This video shows how Time Slider looks and works:

We have tremendously improved the application stack including:
  • updated GNOME to release 2.2.4
  • latest version of Firefox including DTrace probes for debuging web applications and behaviour
  • integration of Songbird which is built on the Mozilla Framework and is simply a great music player with a touch/look-and-feel from iTunes ;-)
  • new fully featured AMP stack including Ruby and Dtrace probes for easier trouble shooting
  • integration of OpenOffice 3.0
Further cool enhancements are:
  • more Open Source Software Support than ever before
  • tunings of OpenSolaris core components
  • support and performance optimizations for Intel Core Micro Architecture (upcoming Intel CPUs, Codename Nehalem)
  • introducing power efficiency optimizations into datacenters and not only notebooks
  • virtualization optimizations to optimize runtime environments
  • improved package management software
  • proper and clean sleep and resume functions for notebooks
See what Intel Says about their new Core Micro Architecture and the relationship with OpenSolaris!

Intel and AMD are also helping in optimizing the IOMMU which manages DMA. Wan't to know what DMA and IOMMU is? Check this Video for more information.

One great and unique feature of OpenSolaris is the simple and easy distribution upgrade. No reason to worry if you are not satisfied with the new release of the operating system. When upgrading to a next release, the system creates automatically a bootable ZFS snapshot of your old release, allowing you to boot your old environment whenever you want. Which Linux does this? There are also not many Linuxes that allow easy major release upgrades. As far as I know only the ones that are based on the Debian package manager.

Further news are that Sun & Toshiba announced pre-configured OpenSolaris notebooks that will be available soon, as well as the certification of Zamandas backup solutions for OpenSolaris.

The combination of Zmanda’s robust backup solutions (Amanda) with Sun’s innovative OpenSolaris operating system, including the advanced ZFS file system, creates one of the most advanced backup-to-disk offerings available on the market today. Specifically, the snapshot capability of ZFS enables fast and scalable backups of today’s most demanding workloads. With the new features and record-breaking performance introduced in OpenSolaris 2008.11, we demonstrate our commitment to rapidly innovating on the open source ecosystem.

Amanda Enterprise is an enterprise-grade network backup solution based on Amanda, the world’s most popular open source data backup and recovery software. It is a powerful, low-cost, open source solution that protects OpenSolaris, Solaris, Linux, Windows, and Mac OS X environments using a single management console.

Did you know, our Sun Storage 7000 Series is also certified for Amanda Enterprise Backup.


Well we might not have closed the gaps in the desktop area completely to the Linux community, but OpenSolaris is clearly leapfrogging Linux on the backend by using ZFS as the most flexible, scalabale and innovative file system ever and providing unique DTrace functionality to our open source developers. Today OpenSolaris is my personal choice for a Web 2.0 based environment!

In this blog you can find interesting content about solutions and technologies that SUN is developing.

The blog is customer oriented and provides information for architects, chief technologists as well as engineers.


« July 2016