Today is the second anniversary of the Sun and Intel joint agreement to optimize the Solaris operating system for Intel Xeon processors. Like last year, when I wrote this summary of our work, I decided to recap where we are to date.
Like last year’s edition, this is pretty much off the top of my head.
- Solaris and OpenSolaris shipped commercial, supported OS’s with optimizations specifically for Intel’s new Core microarchitecture (formerly known as Nehalem). Our internal measurements show this to be roughly 3 – 15% performance boost on many of the workloads we run in the lab. (Your mileage of course may vary).
- We added support in libc and the kernel to use new Intel instructions for some operations when they are available and when they give a benefit.
- We consulted on changes to the kernel to use ACPI tables to determine the NUMA configuration of the running system.
- We contributed PowerTOP, an application to monitor power use and diagnose watt waste. This is based on the kernel’s DTrace support to collect the data. PowerTOP is now at version 1.1
- We contributed a new framework for deep C-state support, to be integrated into the new Power Aware Dispatcher.
- We contributed support for the IOMMU, an application of our VT-D technology, to strengthen device driver reliability in the system.
- We added support for the X2APIC, new in Core, which allows you to expand system addressability from 256 processors to 4 billion (minus 1)
- We consulted on support for performance counters for the 4-processor Dunnington (Intel Xeon 7400 series processor) system and the new Core microarchitecture.
- We contributed to support in the Fault Management Architecture for the location of failed memory components in our servers, we did fault injection to validate the software, and added support for Core’s new Corrected Machine Check Interrupt.
- We consulted on support for the new SSE4.1 and 4.2 instructions for the tool chain
- We contributed a driver for the Intel 5100 Series Wireless controller, formerly codenamed “Shirley Peak”, which is the foundation component of the new Intel Centrino2 processor-based laptops. We also did a major update to the Intel 4965 wireless driver.
- We contributed graphics drivers for a whole host of controllers including the 845, 915, 965 etc. Pretty much all of the current generation of graphics chips, like on the Centrino2. This includes great 3D support.
- Our friends in the LAN Access Division of Intel contributed drivers for the Zoar and Oplin NICs.
- We consulted on work for I/O Acceleration Technology, and we’re contributing to updates to this.
- We continue to regularly measure changes in performance and root cause issues and address them. We’re starting to up-level our performance work to more sophisticated workloads.
- Our Xen team has contributed to the Sun xVM server project, to support VT-x and VT-x2 technologies. We’re contributing heavily to support device assignment with our VT-D technologies as well.
- Our Threading Building Blocks team added a port of the TBB product to Solaris, bringing help to C++ programmers to add threading to their code.
And, as if all that were not enough, we have tried to promote the overall OpenSolaris open source project, through a series of 5-minute videos on various technology topics with OpenSolaris, done blogging, and participated in the OpenSolaris developers’ summits. We have also spoken at a number of the Sun Tech Days worldwide, to share the good news about our work.
Looking forward to 2009, the team is hard at work in a number of areas: preparing for the next generation of Intel servers, working ahead at enabling features in future roadmap processors, further developing in our key areas of power, virtualization, performance and reliability. And of course, a raft of new device drivers.
I still feel like this project has been some of the most fulfilling work I have done. I work with a great Intel team and great partners at Sun and in the OpenSolaris community. Thanks all to making this a really fun job!