32
OpenSolaris* on OpenSolaris* on Intel: Innovation Intel: Innovation Unleashed Unleashed CommunityOne 2009 CommunityOne 2009 June 1, 2009 June 1, 2009 Bob Kasten Bob Kasten Intel Corporation Intel Corporation

What are we doing to optimize OpenSolaris?

Embed Size (px)

Citation preview

Page 1: What are we doing to optimize OpenSolaris?

OpenSolaris* on Intel: OpenSolaris* on Intel: Innovation UnleashedInnovation Unleashed

CommunityOne CommunityOne 20092009

June 1, 2009June 1, 2009

Bob KastenBob Kasten

Intel CorporationIntel Corporation

Page 2: What are we doing to optimize OpenSolaris?

Agenda

–Intel Processor Advances

–Intel and Sun Collaboration

–Intel’s Involvement in OpenSolaris

–Summary / Call to Action

Page 3: What are we doing to optimize OpenSolaris?

Executive Summary

• Great match between Intel technology innovations and Sun Solaris OS innovations

• Solaris and OpenSolaris optimized for Intel-based systems

– Many results in performance, energy efficiency, virtualization, fault management, and device support

• Huge benefit for customers using Intel based hardware and Sun software

– OpenSolaris certified on over 1000 Intel-based systems

Page 4: What are we doing to optimize OpenSolaris?

Intel Processor Advances

Page 5: What are we doing to optimize OpenSolaris?

2 Y

EA

RS

2 Y

EA

RS

45nm

32nm

Shrink/DerivativeWestmere

New MicroarchitectureSandy Bridge

65nm

2 Y

EA

RS Shrink/Derivative

Presler · Yonah · Dempsey

New MicroarchitectureIntel® Core™ Microarchitecture

Shrink/Derivative Penryn Family

New MicroarchitectureNehalem

“Tick Tock” (Shrink) (Innovate) “Tick Tock” (Shrink) (Innovate)

Intel’s Sustained Architecture Leadership Stable roadmap for continued software innovation

Intel’s Sustained Architecture Leadership Stable roadmap for continued software innovation

Source: Intel. All future products, computer systems, dates, and figures specified are preliminary based on current expectations, and are subject to change without notice.

Relentless advances in technology

See “Intel Architecture and Silicon Cadence” whitepaper:http://download.intel.com/technology/eep/cadence-paper.pdf

Page 6: What are we doing to optimize OpenSolaris?

Scalable Cores

Common feature setCommon feature setSame core forSame core forall segmentsall segments

Common softwareCommon softwareoptimizationoptimization

45nm45nm

Servers/WorkstationsEnergy Efficiency, Performance, Virtualization, Reliability, Capacity, Scalability

Intel® CoreTM Microarchitecture (Intel ® Xeon ® processor 7xxx series)

DesktopPerformance, Graphics, Energy Efficiency, Idle Power, Security

MobileBattery Life, Performance, Energy Efficiency, Graphics, WiFi

Optimized cores to meet all market segments

Page 7: What are we doing to optimize OpenSolaris?

Exciting new architecture for the future

Core 3Core 3Core 2Core 2Core 1Core 1Core 0Core 0

Shared L3 CacheShared L3 Cache

Integrated Memory Controller – 3 Ch DDR3Integrated Memory Controller – 3 Ch DDR3

QQPPII

- 2-way simultaneous multi-threading

- Scalable from 2 to 8 cores

- Integrated memory controller

- Dynamic power management

- Microarchitecture enhancements

- Intel® QuickPath Interconnect

- Shared and inclusive level-3 cache

The multi-core processor era brings new opportunities for software developers

Nehalem Microarchitecture: Dynamically Scalable and Innovative New Design

Page 8: What are we doing to optimize OpenSolaris?

Sun and Intel Collaboration

Page 9: What are we doing to optimize OpenSolaris?

Sun-Intel Solaris Collaboration is Significant

Get the best software and hardware for mission-critical applications

• Broad multi-year strategic alliance

• Sun roadmap commitment to Intel® Xeon® processors

• Intel endorsement of Solaris* as a mainstream OS for Intel Xeon processors

• Joint investment in engineering, design, and marketing alliance for Solaris and Java*

Page 10: What are we doing to optimize OpenSolaris?

Results of Intel / Sun collaboration

• Intel and Sun engineers working together since January 2007

• Key areas of kernel, performance, power, virtualization, and drivers

• Sun and Intel focusing on OpenSolaris development

• Sun back-ports select OpenSolaris enhancements to Solaris 10 updates

Boot time Microcode update

CPUID for Core2 and Nehalem Microarchitecture

Libc /kernel optimizations for Core2 and Nehalem Microarchitecture

ACPI NUMA support

IOMMU for Xeon

Extended xAPIC

Performance counter support for Core2 and Nehalem Microarchitecture

FMA/RAS support for Xeon

SSE 2, 3, Supplemental SSE3, SSE 4.1, 4.2

Deep C-state support

PowerTOP

Intel WiFi support

Zoar and Oplin NIC support

Graphics drivers for Desktop, Laptop

Active Management Technology

Virtualization Technology in xVM

Contributions or consulting:

Strong contributions across OS

Page 11: What are we doing to optimize OpenSolaris?

Areas of Development

• Performance and scalability• Observability tools• Compiler vectorization and tools• Energy-efficient performance• Driver support• Virtualization technology• Reliability• Predictive self-healing

Join us: http://opensolaris.org

Joint work touches many significant areas of the OS

Page 12: What are we doing to optimize OpenSolaris?

Optimizing Xeon Performance

OpenSolaris great fit for Intel Xeon technologies

Intel Nehalem Intel Nehalem Microarchitecture Microarchitecture

InnovationInnovation

OpenSolaris EnablerOpenSolaris Enabler

- Quick Path Interconnect Architecture (QPI)- Integrated Memory Controller- ACPI SRAT/SLIT

- Scalable NUMA optimized thread scheduler - Memory Placement Optimization (MPO)

- Architectural Performance Monitoring- Performance counters

- Advanced development and observability tools

-DTrace- libcpc, cpustat, cputrack- Sun Studio Performance Analyzer

- Scalable from 2 to 8 cores- 2-way Simultaneous Multi-threading (HT)- Intel Turbo Boost Technology

- Optimized Solaris threading model- Scalable software thread scheduler

Page 13: What are we doing to optimize OpenSolaris?

Performance Enhancements

• Use new Intel instructions where helpful in kernel and libc

– Specific to 64-bit binaries

– Libc optimizations• memcpy(), memmove(), and

memset()– SSE2 and/or SSSE3 instructions– Micro-benchmarks show big speed up

• Str(n)cpy(), str(n)cmp() and strlen()– SSE2 and/or SSSE3 instructions– Micro-benchmarks show big speed up

– Kernel optimizations– bzero(), bcopy(), kcopy(), etc.Accelerate memory operations

Page 14: What are we doing to optimize OpenSolaris?

Power Management Introduction

• P-states - Active Power Management– Change frequency and voltage to match load

– Turbo Boost support

• C-states – Idle Power Management– C0 - Normal running state

– C1 - HALT instruction, no instructions get executed

– C2 - Like C1, no code executed. Clock stopped

– C3 - FSB shut down. No snooping and caches can be shut off

• T-state – Thermal throttling – like an emergency brake

• Parts of ACPI– Static tables that the BIOS creates

– Captures the platform power capabilities (how many P/C-states, power, switch latency, etc.)

Stay in deeper C-states as long as you can

Page 15: What are we doing to optimize OpenSolaris?

Core

2

C

ore

3

Core

0

C

ore

1

Core

2C

ore

3

Core

0C

ore

115

Fre

quency

(F)

No Turbo

Workload Lightly Threadedor

Current Workload < TDP

Fre

quency

(F)

Active cores running workloads < TDP

Core

0C

ore

1

Core

2

Core

3

Intel® Turbo Boost Technology

Turbo Mode

In response to workload demand adds additional performance bins within headroom

Page 16: What are we doing to optimize OpenSolaris?

16

Core

0C

ore

1

Core

2

Core

3

Fre

quency

(F)

No Turbo

Fre

quency

(F)

Turbo Mode

In response to workload demand adds additional performance bins within headroom

Workload Lightly Threaded < TDP

Core

2C

ore

3

Core

1

Core

0

Intel® Turbo Boost Technology

Power Gating

Zero power for inactive cores

Dynamically delivering optimal performance and energy efficiency

Page 17: What are we doing to optimize OpenSolaris?

Power Management Development Areas• PowerTOP is available for OpenSolaris

– Shows what wakes up your system from power saving states

– Uses DTraceC-stateresidency

ACPI info

Top causesfor wakeup

P-stateresidency

PowerTop v1.1 in OpenSolaris 2008.11

Page 18: What are we doing to optimize OpenSolaris?

Advanced Power Management

Join us at http://opensolaris.org/os/project/tesla/

• Lab setups look for improvement areas

• Power-aware dispatching (PAD) in OpenSolaris 2009.06

• Tickless kernel

• P-state improvement

• C-state support

• Interrupt binding

Page 19: What are we doing to optimize OpenSolaris?

Intel® Virtualization TechnologyA Comprehensive Platform Approach to Virtualization

Intel® Virtualization Technology (Intel® VT)Intel VT refers to all the hardware assists for virtualization that Intel offers across its platform (CPU, Chipset, I/O)

Intel VT for IA-32 and Intel® 64 (Intel VT-x, VT-x2) Intel VT-x refers to all the hardware assists for virtualization in Intel® Xeon® processors

Intel VT For Directed I/O(Intel VT-d, VT-d2)Intel VT-d refers to all the hardware assists for virtualization in Intel chipset

Intel VT For Connectivity (Intel VT-c)Intel VT-c refers to all the hardware assists for virtualization in Intel networking and I/O devices

Processor Chipset Network- Interrupt acceleration- Flexibility in live

migration- Extended page tables

- I/O performance through direct assignment

- Memory protection

- Over 2x throughput gains on 10GbE

- Offload routine I/O tasks

We are adding vt-d, vt-d2, vt-x, and vt-x2 into OpenSolaris

Page 20: What are we doing to optimize OpenSolaris?

Unlocking Virtualization on Xeon

•Intel Virtualization Technology

•Interoperability•Performance optimizations

Intel: #2 contributor to Xen project

Intel Virtualization Technology

InteroperabilityPerformance optimizations

Manageability at scale Availability Security and

compliance

•Manageability at scale

•Availability•Security and compliance

Intel: #2 contributor to OpenSolaris project

Page 21: What are we doing to optimize OpenSolaris?

Fault Management Architecture

• Fault – a defect that may produce errors

• Diagnosis software automates the steps

• Error – an incorrect signal, datum, result

• Diagnosis left to humans

FMA reduces cost of fault diagnosis/repair

Without FMA: With FMA:

Page 22: What are we doing to optimize OpenSolaris?

FMA and Intel® Xeon® Processors

• Possible action:

– Retire Memory Page

• Corrected Machine Check Interrupts (CMCI)

PC

I-X-100 Z

CR

PW

R

NorthBridge

ESB2

PXH-Vx8

SCSI

SC

SI

LANZoarx4

SATA x6FLPYIDE-MIDE-S

CPU2 CPU1

PC

I-X-133/100

DDR2 FBD 16GB

PC

I-X-133/100

PC

I-e x16

PC

I-33

PC

I-e x8 in x16

LP IP

MI

PW

R

SCSI VRM 4+4

Location of failed DIMMs

Error injection

Intel platform

FMA model

Great RAS support for Intel based servers

Intel platform support –

Bensley, Caneland and Stoutland platforms

Error injection: ensures that FMA code paths work correctly

Reporting of physical location of failed DIMMs

Page 23: What are we doing to optimize OpenSolaris?

Desktop/Mobile Driver Support - Wireless

• You need to develop code for OpenSolaris on a laptop (don’t try to carry a server on an airplane!)

• So you need good wireless support:– Current Centrino and Centrino Pro

• 802.11 b/g supported on Intel 4965

• WEP security

– Current Centrino 2• 802.11 b/g support for Intel

5100, 5300

– Coming Soon: 802.11 e/n

Join us at http://www.opensolaris.org/os/project/sierra/

Page 24: What are we doing to optimize OpenSolaris?

Desktop/Mobile Driver Support – 3D Desktop• Graphics

– Desktop and mobile platform graphics are supported

– Intel® vPro™, Intel® Centrino®, and Intel® Centrino® 2 platforms – OpenSolaris 2008.11

– X server (compiz 3D desktop) and OpenGL

• OpenSolaris makes Compiz enabling easy, on supported video cards

OpenSolaris rocks on Intel laptop and desktops

Page 25: What are we doing to optimize OpenSolaris?

Developer Tools

• Sun Studio 12 Compiler and Sun Studio Express 3/09 with Xeon-specific optimizations

• Sun Studio Performance Analyzer: latest Intel Architecture performance counters

• gcc – easiest port of open source to OpenSolaris

• Threading Building Blocks for Solaris –

– http://threadingbuildingblocks.org

Wide spectrum of tool choices for developers

Page 26: What are we doing to optimize OpenSolaris?

Results

Page 27: What are we doing to optimize OpenSolaris?

Solaris Leadership: Xeon 5500

• Solaris 10 update 09/08 – First commercial OS release optimized for Intel Nehalem Microarchitecture

– Intel features supported:• NUMA support driven by ACPI• Scheduler / cache tuning using CPUID• Up to 256 CPUs • New instructions: SSE 4.2• DTrace support for PowerTOP

• OpenSolaris 2008.11

– Additional Nehalem features include:• PowerTop• FMA support for MCA extensions

• OpenSolaris 2009.06

– Power-Aware Dispatching (PAD) and Nehalem deep C-state support

Page 28: What are we doing to optimize OpenSolaris?

Top Enterprise Performance Records – Xeon Top Enterprise Performance Records – Xeon 55005500

SPECjbb*2005 503,675 bops

Top 2-Socket, Single JVMOpenSolaris 2008.11

SPECjvm*2008 317.13 Base ops/mOverall Performance Record

OpenSolaris 2008.11

TPC-H 1000 GB23,365 QphH, $2.41/QphH

Top 2-Socket, Best Price/Perf

Solaris 10 U6

SPECint_rate478 peak, 410 base

Top Dual-node Blade,OpenSolaris 2008.11

SPECfp_speed50.4 peak, 45.0 baseOverall Performance Record

OpenSolaris 2008.11

SPECint_speed36.9 peak, 30.0 baseOverall Performance Record

OpenSolaris 2008.11

SAP – SD 2-Tier (Unicode)3700 SD; avg resp time 0.94s;SAPs 20300; Oracle 10gTop 2-Socket, Solaris 10 U6

SPECfp_rate355 peak, 332 base

Top Dual-node Blade,OpenSolaris 2008.11

Page 29: What are we doing to optimize OpenSolaris?

Summary

• Intel platform and OpenSolaris/Solaris bring the best technology to the end user

– Intel’s QPI technology and Solaris’s MPO, SRAT enabled

– Intel’s Hyperthreading Technology and Solaris’s OS’s sophisticated process scheduler

– OpenSolaris’ Power Aware Dispatcher and Intel’s power states and Intel Turbo Boost Technology

– OpenSolaris’ FMA and Intel’s Xeon RAS features

– Intel’s new instruction set SSE 4.2 enabled in Solaris

– Developer tools: Solaris’s DTrace and Intel’s monitoring mechanisms for power and performance counters

Page 30: What are we doing to optimize OpenSolaris?

Call to Action

• Try OpenSolaris or Solaris 10 on the latest Intel platforms

• Join us at: www.opensolaris.org

For more information visit:

• www.opensolaris.com

• www.intel.com/sunalliance

Page 31: What are we doing to optimize OpenSolaris?

Legal Disclaimers

INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS.  EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY RELATING TO SALE AND/OR USE OF INTEL PRODUCTS, INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT, OR OTHER INTELLECTUAL PROPERTY RIGHT.

Performance tests and ratings are measured using specific computer systems and/or components and reflect the approximate performance of Intel products as measured by those tests. Any difference in system hardware or software design or configuration may affect actual performance. Buyers should consult other sources of information to evaluate the performance of systems or components they are considering purchasing. For more information on performance tests and on the performance of Intel products, visit http://www.intel.com/performance/resources/limits.htm or call (U.S.) 1-800-628-8686 or 1-916-356-3104.

Intel may make changes to specifications, product descriptions, and plans at any time, without notice. All dates provided are subject to change without notice.

Relative performance is calculated by assigning a baseline value of 1.0 to one benchmark result, and then dividing the actual benchmark result for the baseline platform into each of the specific benchmark results of each of the other platforms, and assigning them a relative performance number that correlates with the performance improvements reported.

SPEC, SPECint2000, SPECfp2000, SPECint2006, SPECfp2006, SPECjbb, SPECWeb are trademarks of the Standard Performance Evaluation Corporation. See http://www.spec.org for more information.

Intel® Virtualization Technology requires a computer system with an enabled Intel® processor, BIOS, virtual machine monitor (VMM) and, for some uses, certain platform software enabled for it. Functionality, performance or other benefits will vary depending on hardware and software configurations and may require a BIOS update. Software applications may not be compatible with all operating systems. Please check with your application vendor.

Intel processor numbers are not a measure of performance. Processor numbers differentiate features within each processor series, not across different processor sequences. See http://www.intel.com/products/processor_number for details.

* Other names and brands may be claimed as the property of others.

Copyright © 2009 Intel Corporation. All rights are protected. Intel, the Intel logo, Centrino, Centrino 2, Intel Core, vPro, and Xeon are trademarks of Intel Corporation in the U.S. and other countries.

Page 32: What are we doing to optimize OpenSolaris?

Thank you!