Sunday, December 30, 2007

Solaris Application Programming by Darryl Gove

Darryl Gove, a senior engineer in Sun's Compiler Performance Engineering group, has written a new book called. "Solaris Application Programming".

The publisher describes the book as ...

... a comprehensive guide to optimizing the performance of applications running in your Solaris environment. From the fundamentals of system performance to using analysis and optimization tools to their fullest, this wide-ranging resource shows developers and software architects how to get the most from Solaris systems and applications.


Whether you’re new to performance analysis and optimization or an experienced developer searching for the most efficient ways to solve performance issues, this practical guide gives you the background information, tips, and techniques for developing, optimizing, and debugging applications on Solaris.

Table of contents for this 496 page book:
  • Part I: Overview of the Processor 1
    • Chapter 1: The Generic Processor
    • Chapter 2: The SPARC Family
    • Chapter 3: The x64 Family of Processors
  • Part II: Developer Tools
    • Chapter 4: Informational Tools
    • Chapter 5: Using the Compiler
    • Chapter 6: Floating-Point Optimization
    • Chapter 7: Libraries and Linking
    • Chapter 8: Performance Profiling Tools
    • Chapter 9: Correctness and Debug
  • Part III: Optimization
    • Chapter 10: Performance Counter Metrics
    • Chapter 11: Source Code Optimizations
  • Part IV: Threading and Throughput
    • Chapter 12: Multicore, Multiprocess, Multithread
  • Part V: Concluding Remarks
    • Chapter 13: Performance Analysis

Thursday, December 20, 2007

News on NetApp/Sun ZFS Lawsuit

Sun has issued an update on the NetApp/Sun ZFS Lawsuit:
As of Friday, December 14, Sun has filed reexamination requests for three Network Appliance patents as part of its response to a lawsuit initially filed by Network Appliance against Sun on September 5, 2007. This follows the agreement last month with Network Appliance to transfer Network Appliance's lawsuit from Texas and litigate it along with the case Sun filed in California. The motion to transfer was filed on November 21 and the cases are now assigned to a mutually agreed upon judge. With each company being headquartered in northern California and the majority of inventors and innovation in dispute originating in California, it makes sense for this case to be litigated in this jurisdiction. We are pleased that Network Appliance agreed to Sun's request and retracted its imprudent choice of venue for this litigation.

Reexams have been filed on the NetApp WAFL patents that purportedly cover concepts such as copy on write, snapshot and writable snapshot. There is a significant amount of prior art describing this technology that was not in front of the US patent office when it first examined these patents. In just one example, the early innovation by Mendel Rosenblum and John Ousterhout on Log Structured File Systems, applauded in a NetApp blog as being inspirational to the founders, was not considered by the patent office in the examination of the NetApp patents.

Sun is committed to protecting innovation and the open source community against this attack. The reexamination of three Network Appliance patents seeks to ensure the open source community continues to have access to technology that Network Appliance did not invent. Sun is also in the process of identifying other Network Appliance patents to be reexamined. We continue to receive support from the open source community in terms of prior art and appreciate the community response to protect innovation. We would like to thank those who have sent in relevant art that has been used in connection with the reexamination requests.

Sun's actions are in response to the suit Network Appliance brought against the company to forestall competition from the free ZFS technology. Sun's earlier filings include patent counterclaims against the entirety of Network Appliance's product line, including the entire NetApp Enterprise Fabric Attached Storage (FAS) products, V-series products using Data ONTAP software, and NearStore products, seeking both injunction and monetary damages.

Sun is confident in our patents and claims against Network Appliance, and pleased with the direction of our case.
Sun's web page on the lawsuit details the request for re-examination and provides supporting material:

Sunday, December 16, 2007

Five strategies for deployment of high density enclosures and blade servers

Deploying blade servers in a data center is a great way to decrease the amount of space required for a given number of servers. Many Sun customers are looking at Sun's CMT technology-based server blades as a way to consolidate legacy servers, improve performance, reduce space, lower cooling requirements and lower costs overall.

The blade servers, such at the Sun Blade Server 6000, 6048, 8000 and 8000P, can increase the density to the point that managing the heat output can be a challenge. APC’s InfraStruXure Hot-Aisle Containment Systems, which Sun has deployed in its new data centers, can be used to address that challenge.

A white paper, "Cooling Strategies for Ultra-High Density Racks and Blade Servers", by Neil Rasmusse, the founder and Chief Technical Officer of American Power Conversion (APC). reviews the challenges of deploying data center racks that require 10 kW+ that can easily happen with high density blade servers. (NOTE: Registration required to access the APC white paper)

The paper reviews Five strategies for deployment of high density enclosures and blade servers
  1. Load spreading. Provide the room with the capability to power and cool to an average value below the peak enclosure value, and spread out the load of any proposed enclosures whose load exceeds the design average value by splitting the equipment among multiple rack enclosures.

  2. Rules-based borrowed cooling. Provide the room with the capability to power and cool to an average value below the peak enclosure value, and use rules to allow high density racks to borrow adjacent underutilized cooling capacity.

  3. Supplemental cooling. Provide the room with the capability to power and cool to an average value below the peak enclosure value, and use supplemental cooling equipment as needed to cool racks with a density greater than the design average value

  4. Dedicated high-density areas. Provide the room with the capability to power and cool to an average value below the peak enclosure value, provide a special limited area within the room that has high cooling capacity, and limit the location of high density enclosures to that area.

  5. Whole-room cooling. Provide the room with the capability to power and cool any and every rack to the peak expected enclosure density Each of these approaches is discussed in turn along with its advantages and disadvantages.

Installing Microsoft Windows Server 2008 on Sun x64 Servers

Sun is now a serious vendor of x64 hardware. As a major element of its strategy, Sun supports Microsoft Windows in addition to Solaris and Linux. A new blueprint, "Installing Microsoft Windows Server 2008 on Sun x64 Servers", demonstrates that Sun is serious about this strategy. The blueprint show how to install Microsoft Windows Server 2008 (get evaluation copy here) on these Sun servers:
  • Sun Fire X4100 and X4200 Servers
  • Sun Fire X4100 M2 and X4200 M2 Servers
  • Sun Fire X4500 Server
  • Sun Fire X4600 Server
  • Sun Fire X4600 M2 Server
  • Sun Blade X6220 Server Module
The blueprint summary:
Microsoft's next generation Windows Server operating system — Microsoft Windows Server 2008 – is scheduled for release in early 2008. Many organizations are currently running tests on pre-release versions of the software. This blueprint details the workarounds needed to install pre-release versions of Windows Server 2008 on Sun Fire and Sun Blade servers, including step-by-step details on where to get additional required software from Sun. This article is provided to assist in the evaluation of the pre-release version. Note that pre-release versions of software should not be deployed in production environments.
"This is a big deal for us," Schwartz declares, "and extends Sun's reach beyond Linux and Solaris into the Windows domain. Secondly, we'll reciprocate - and support Solaris via Windows virtualization."

Recent articles:

Sunday, December 9, 2007

System Performance as an Aspect of CPUs and Architecture

Todd Jobson Offers a Guide to Making the Right Choice for Your Workload

Todd Jobson's blog on Processors and Performance : Chips, MIPS, and Sizing blips, also appeared as an article that ran in nearly the same format in the November 2007 Sun Technocrat. Jobson examines CPUs and system architecture, as they relate to performance and capacity planning as a whole.

Among the many aspects of the subject that Jobson covers are CISC vs. RISC, a glance at Moore's Law, multi-threading and scalability, CPUs and memory (including chip multi-threading, and cache size), choosing the best CPU for a particular workload, the Niagara 2 processor, Solaris OS kernel metrics and CPU-related performance, an explanation of benchmarks, and some concluding remarks on Sun benchmarks and comparative methodology.

Saturday, December 8, 2007

xVM white paper (blueprint) and presentation slides

Chien-Hua Yen has produced a 120-page Sun BluePrint called "Solaris Operating System Hardware Virtualization Product Architecture". Is now available as a PDF document. The abstract says that the paper ...
... provides a comprehensive examination of hardware virtualization, particularly as it applies to Sun platforms. It explores the underlying hardware architecture and software implementation. Great emphasis has been placed on the CPU hardware architecture limitations for virtualizing CPU services and their software workarounds, with details on the software architecture for implementing three types of virtualization: CPU virtualization, Memory virtualization, and I/O virtualization. It examines three important implementations in detail: Sun xVM Server, Logical Domains, and VMware's relevant products, culminating in a comprehensive comparison of these important solution.

Marc Hamilton's blog provides links to an vXM presentation by Steve Wilson. The presentation, "Building a Dynamic Virtualized Datacenter", is available in PDF and OpenOffice formats.

Performance Troubing Shooting with DTrace and cpustat

A new SDN article, "Achieving Near-Linear Scalability Using Solaris OS on NUMA Architectures", demonstrates how tools like Dtrace and cpustat along with an understanding of computer and application architecture can be used to identify performance issues. In the example, an application's performance bottleneck is identified then improved from 60k transactions per second (tps) to 90k tps.

One of the tools used in the investigation phase was cpustat, which was described in "Using Performance Counters on UltraSPARC T1 and T2 Processors."

Another useful tool is Corestat for UltraSPARC T2. It has been enhanced to understand the
UltraSPARC T2 (it can be obtained from here) . The main enhancements are :
  1. It now reports the utilization of each pipeline separately. By default only the integer pipe utilization is reported.
  2. There is a new command line option "-g" added to report the FPU utilization along with integer utilization.
  3. Corestat detects frequency of the target system at run time.

Wednesday, December 5, 2007

How Much is that Power in the Cabinet?

The new Sun Blade 6048 is an appealing platform to those people who need about 48 blade servers. With LDoms on the UltraSPARC T1 and T2 blades and multiple O/S choices for the AMD and Intel powered blades (Windows, Linux, Solaris and VMware), the 6048 makes a great consolidation platform.

The new Sun xVM Ops Center software will make managing a single cabinet with a large number mixed blades with mixed O/S environments feasible.

However, loading up the Sun Blade 6048 with blades, memory, disks and I/O options can expand the power required to "interesting" levels. The 6048 supports N+N redundant 5,600W or 8,400W AC Power Supply configurations (2 per shelf / 8 per rack).

Will it really consume that much power? One way to find out is to use the blade power calculator on Sun's blade web site. The calculator allows you to choose blades and their configurations of disk, memory and i/o.

Adding 48 UltraSPARC T1 blades will require about 10Kw to 15Kw.

With quad-core Xeons and 64GB per blade, the power requires will be in the 20 Kw to 24Kw range.

DTrace documentation/Wikis

Sun has updated the wikis.sun.com section for DTrace to include very detailed documentation. The wikis micro-community at sun.com is still in beta. You can login and make changes. Once logged in, there are different permissions for Sun employee and non-employees.

There is also a DTrace section on the "Solaris Internals" site, solarisinternals.com and of course there is a "DTrace Users Guide" on docs.sun.com.

Sunday, December 2, 2007

Top Ten Articles for last Issue of "System News"

Each SNI determine which articles have been most frequently referenced by logged-in subscribers to "System News for Sun Users". Here is a list of the most popular articles for each of the last 3 or 4 issues.

Top Ten Articles for Vol 117 Issue 3

  • Two New OpenSolaris Projects: CIFS Server and CIFS Client for Solaris [18957]
  • Sun Datacenter Switch 3456 - The World's Largest InfiniBand Core Switch [19003]
  • New ZFS Packages Offer Snapshots 0.9 and Backups 0.2 [18936]
  • The New Sun Management Center 4.0 [18932]
  • Jim Laurent on Solaris Swap Space [18990]
  • CoolTuner 1.0.6 for UltraSPARC T1 and T2-based Systems Tuning [19023]
  • OpenSolaris Project Runs Solaris as an SCSI Target [19011]
  • Sun Net Talk to Host Live Web Chat on Sun/Microsoft Interoperability [19018]
  • Hack-Fu? Gesundheit, Glenn Brunette, and Watch Your Back [19001]
  • Updated Version of Solaris Package Companion, v0.7 [18954]

Top Article for Vol 117 Issue 2

  • Sun's Q1 Report Seen from Jonathan Schwartz's Perspective [18975]

Top Article for Vol 117 Issue 1

Using OpenMP: Portable Shared Memory Parallel Programming

New Book Considered Most Comprehensive on OpenMP API's Parallel Programming

The MIT Press publication "Using OpenMP: Portable Shared Memory Parallel Programming" by Barbara Chapman, Gabriele Jost and Ruud van der Pas is "the first really comprehensive book on parallel programming using the OpenMP API," writes Richard Friedman on the Solaris Developer blog.

"...I can say that it packs a lot of very useful information in one place," Friedman writes. "Most useful is a discussion of how cache lines can interfere with OpenMP parallelization and cause performance and scaling degradation if you are not aware of what's going on."

The book covers:

  • Individual features of the portable programming interface for shared memory parallel computers
  • Hardware developments, describing where OpenMP is applicable
  • How OpenMP compares to other programming interfaces for shared and distributed memory parallel architectures
  • The use and functionality of the language constructs through source code examples
  • How to write an efficient OpenMP program
  • How to use OpenMP in full-scale applications to achieve high performance on large-scale architectures though the use of several case studies
  • How OpenMP is translated into explicitly multithreaded code
  • In-depth troubleshooting advice
  • Trends the authors believe are likely to influence OpenMP development

The publisher notes, "'Using OpenMP' provides an essential reference not only for students at both undergraduate and graduate levels but also for professionals who intend to parallelize existing codes or develop new parallel programs for shared memory computer architectures."

Friedman also has posted an invite for public comment on the OpenMP 3.0 specification, which is the first update since 2005. Find out more about the new features, where to access the draft specification, etc. from the Solaris Developer blog.

Sun's VMworld 2007 Sessions on-line

Sun delivered two presentations at VMworld 2007. They are now available on-line as high-quality MP3s and PDFs. Note that a free registration is required. The presentations are
  • Sun Virtual Desktop Solutions in Theory and in Real World Deployments

  • Proven Virtualization Scalability with VMware Infrastructure 3
Here are the outlines of the two Sun Presentations:

Sun Virtual Desktop Solutions in Theory and in Real World Deployments
Join desktop virtualization product manager Chris Kawalek as he discusses strategies for securely accessing Windows XP Pro instances hosted on VMware Virtual Infrastructure 3 from a variety of client devices. Leveraging a combination of Sun Virtual Desktop Solutions, including Sun Ray technology and Sun Secure Global Desktop Software, Chris will describe Sun's unique solutions for solving the security issues that arise when deploying Virtual Desktop Infrastructure (VDI) style architectures. In addition, real-world case studies, including a global deployment by Reuters, will be explored to show how customers use Sun Virtual Desktop Solutions and VMware Infrastructure 3 in demanding corporate environments.
Proven Virtualization Scalability with VMware Infrastructure 3
This session provides an overview of running VMmark and testing the scalability of 2-socket, 4-socket, and 8-socket systems with a detailed look into the systems, storage setup and configuration. We'll also look at how many virtual machine migrations took place from CPU to CPU and how the local and remote memory is utilized on AMD architecture.