|
The third item on our list is arguably the best known Solaris innovation across the whole software development industry. Solaris Dynamic Tracing (better known as DTrace) is a popular feature of Solaris, garnering much attention from both developers and administrators since its introduction in 2003. DTrace lets developers and administrators safely monitor and tune the performance of applications - and it goes where no analyzer has gone before. Every aspect of your application is monitored and accessible, including your source code, shared libraries, device drivers, the kernel. Everything.
The beauty of DTrace is that you can use it safely in a production environment. If an application is running slowly, turn on DTrace, and you're instantly gathering reams of diagnostic info with virtually no impact on system run time. That's critically important when you have multiple applications that run just fine in a test-bed environment, but slow down on production systems because of resource contention.
Sun developers Bryan Cantrill, Mike Shapiro, and Adam Leventhal invented DTrace and have released it to the open-source community. Today, you can find DTrace in other operating systems, but the most mature implementation of DTrace is in Solaris - and in my opinion, that's one of the operating system's secret weapons.
Hurray for NUMA, or Non-Uniform Memory Architecture! AMD has included NUMA technology in its processors for years, so when you work with systems with multiple AMD Opteron processors, you're using a mature technology. When you run Solaris on a server with two or more AMD Opteron processors, the operating system implements Memory Placement Optimization for excellent multi-processor performance. That ensures that, whenever possible, each core will access the physically nearest memory for superior performance.
In AMD's Direct Connect Architecture with HyperTransport™ technology, the integrated memory controller and I/O links can communicate at full speed with the CPU. Solaris was designed to support these architectural features, and the operating system helps optimize memory allocations to the processor that a particular thread is running on. This helps reduce congestion, latencies, and wait states during memory read/write operations.
The more AMD Opteron processors you have in your Solaris system, the better the system scales, and available memory bandwidth is used as effectively as possible.
ZFS, Sun's advanced file system, is self-managing and able to detect and correct errors introduced by faulty components in the system, including phantom and misdirected data reads and writes. All data is protected with 256-bit checksums, which are stored separately from the data.
ZFS offers exceptional scalability, delivers superior accuracy and performance, and even lets you take disks from a SPARC server, move them to your AMD processor-based server, and back again.
Sun has invested heavily in innovative, efficient, open, and eco-friendly server and storage systems that leverage industry-standard components such as AMD Opteron processors and SAS and SATA disk drives. Sun's hardware differentiation lies in design innovation. For example, the Sun Fire X4500 server combines a powerful, four-way AMD Opteron processor-based server with 48 TB of SATA disk in a 4U rack space. This helps you accomplish more in less space while consuming little power.
When you consider the tremendous amount of electricity used to power and cool today's data centers, it's clear that every watt saved is significant. That's why AMD processor and platform chips sip electricity, drawing low power in all power states, whether full throttle or idle mode, to help keep your utility bills under control.
For example, support for AMD PowerNow!™ technology, AMD's technology for enabling clock frequency scaling on both mobile and server processors, has been incorporated in Solaris and OpenSolaris releases starting with Solaris 10 5/08 and OpenSolaris 2008.05.
Independent Dynamic Core Technology allows each core to vary its frequency, based on the specific needs of the application. This allows for superior power management to help reduce data center energy consumption and thereby help reduce total cost of ownership.
Dual Dynamic Power Management™ allows each processor to maximize the power-saving benefits of Enhanced AMD PowerNow! technology without compromising performance. Dual Dynamic Power Management can reduce idle processor power consumption and allow for per-processor power management in multi-socket systems to help decrease power consumption.
For developing and debugging multi-thread applications, Solaris and Sun Studio 12 provide the advanced graphical tools needed to develop high performance applications for deployment on AMD processor-based architectures. Add to that the availability of Sun's developer tools for Linux®, and it's easy to move your applications from Linux onto Solaris and benefit from the advanced features of Solaris 10.
The advanced graphical debugger in Sun Studio 12 provides quick identification of bugs in multi-threaded, multi-process applications. Plus, you can identify performance bottlenecks, and rapidly develop GUIs in the C, C++, and Java programming languages using X-Designer GUI builder. And there's an intuitive IDE - built on the NetBeans open tools platform and tuned for the needs of the C and C++ developer.
Through Sun's relationship with AMD, a lot of work has been done by the compiler team to deliver specific optimizations for the AMD64 architecture. You can take advantage of the AMD64 architecture immediately. You can run your old binaries as-is, or recompile to take advantage of the latest processor features.
You can write applications that leverage these new features, so that your existing application makes use of Solaris 10's new functionality, manageability, security, and other enhancements, and run fast on AMD processors.
If you invest today in building applications on Solaris, you can secure a path to scalable solutions as CPU and core counts grow in future servers.
Solaris contains fault management features and architecture that deliver high level error and fault detection, analysis, and remedies to help keep your software or systems from crashing.
On an AMD Opteron processor-based server, Solaris’s Predictive Self Healing features automatically monitor processor telemetry and error-correction codes from the system's memory, CPUs, and I/O subsystem looking for potential signs of failure. The operating system's knowledge and control of the hardware is precise: If the system sees signs of impending failure within a CPU, Solaris can move the application and processes running on that CPU onto other processors and CPUs, and then take the problematic CPU offline without shutting down the other processors. Similarly, the system can detect problems with DIMM memory chips, and take them offline as well.
That type of responsiveness is possible because of the tight collaboration between AMD and Sun engineers. The collaboration has allowed us to integrate knowledge of AMD fault conditions and the Solaris fault management network to help maximize uptime. For more information about Fault Management visit http://opensolaris.org/os/community/fm/ where there is an active community with plenty of additional specifics.
Solaris has rules for monitoring, diagnosing, and responding to different error telemetry. An intelligent machine-check exception handler collects error data, determines the type of error that has occurred, logs the errors, and takes appropriate action if required. A memory-controller kernel driver module analyzes pertinent data about the memory configuration of a node. An enhanced platform-topology library describes the inter-relationship of the hardware components of a platform and provides a repository for hardware component properties to help with managing and handling system errors.
The OpenSolaris community gives you a low-risk option for evaluating new features designed to enhance your development efforts that may not be currently available in the latest release of the commercial version of the Solaris operating system. OpenSolaris is more than just an open source community. It is also a Web site for community collaboration that gives you access to Solaris source code, as well as additional downloads, developer tools, mailing lists, user groups, and events. You can find more information at opensolaris.org.
For example, Sun's Solaris and server engineers have worked closely with AMD's microprocessor gurus for years. That's why you'll find new builds of OpenSolaris being among the first operating systems to leverage and optimize their performance on new AMD Opteron processors. Consider the newest generation of AMD Opteron processors, sometimes referred to by their codename, "Shanghai."
The "Shanghai" processors use the same Socket F (1207) and chipset as the previous "Barcelona" version of the AMD Opteron processors, making it easy for systems builders to incorporate the latest chips into their newest servers, and also offering a cost-effective path for upgrading the performance of existing "Barcelona" servers — helping to ensure that Solaris servers always have the latest and greatest processor technology.
But wait, there's more!
We've barely scratched the surface of the advantages of the Solaris operating system, and of the AMD Opteron processors. There's the superior network throughput delivered by the unified TCP/IP stack in Solaris. There's the Process Rights Management system in Solaris, which allows very fine-grained control over resource and object access on a process-by-process basis. There's the Solaris Cryptographic Framework, which lets developers access the same hardware-based encryption acceleration devices as the operating system kernel. There's the ability to create Service Manifests, which detects, stops and restarts hung applications and Solaris services. Find out more at the Solaris Learning Centers.
You can learn more about Solaris and OpenSolaris - they might be just what you're looking for, especially paired with servers powered by AMD Opteron processors.
Also visit the AMD Developer Central Solaris Zone for tips on optimizing your applications using Sun Studio with Solaris on AMD processor-based platforms.
* SPEC and SPECjbb are registered trademarks of the Standard Performance Evaluation Corporation. Based on results published as of 08/04/2008. For latest results see http://spec.org/. |