How to Increase Applicaon Security & Reliability with Soware in Silicon Technology

Angelo Rajuderai, SPARC Technology Lead, Oracle Systems Partners Ikroop Dhillon, Principal Product Manager, Studio July, 2014

Please Stand By. This session will begin promptly at the me indicated on the agenda. Thank You.

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

1 Safe Harbor Statement The following is intended to outline our general product direcon. It is intended for informaon purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or funconality, and should not be relied upon in making purchasing decisions. The development, release, and ming of any features or funconality described for Oracle’s products remains at the sole discreon of Oracle.

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 2 Agenda

1 Hardware and Soware Engineered to work together

2 Soware in Silicon Overview

3 Security with Applicaon Data Integrity

4 Oracle Solaris Studio Development Tools

5 Q + A

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 3 The Unique Oracle Advantage Hardware and Software Engineered to Work Together

One Engineering Team

vs

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Application Accelerators In SPARC T5 The Integrated Stack Advantage

One Engineering Team

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Partners Benefit from Innovaon & Integraon All Software Benefit

System Software

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle SPARC No Change in ABI

Your exisng apps just run beer ..

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | The M7 Chip

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | • 32 SPARC Cores M7 • Fourth Generaon CMT Core (S4) • Dynamically Threaded, 1 to 8 Threads Per Core • New Cache Organizaons • Shared Level 2 Data and Instrucon Caches COREExtreme CORE CORE CORE CLUSTER CLUSTER CLUSTER CLUSTER • 64MB Shared & Paroned Level 3 Cache Performance • DDR4 DRAM • Up to 2TB Physical Memory per Processor

INTERCONNECT INTERCONNECT • 2X-3X Memory Bandwidth over Prior Generaons MEMORY CONTROL ACCELERATORS COHERENCE, SMP & I/O I/O & COHERENCE,SMP • PCIe Gen3 Support L3$ & ON-CHIP

ACCELERATORS ACCELERATORS NETWORK • MEMORY CONTROL CONTROL MEMORY Applicaon Acceleraon • Real-me Applicaon Data Integrity • Concurrent Memory Migraon and VA Masking

CORE CORE CORE CORE • DB Query Offload Engines CLUSTER CLUSTER CLUSTER CLUSTER

INTERCONNECT INTERCONNECT • SMP Scalability from 1 to 32 Processors COHERENCE, SMP & I/O I/O & COHERENCE,SMP • Coherent Memory Clusters • Technology: 20nm, 13ML

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 5 M7 Processor Performance

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 12 “… the Ulmate Soware Opmizaon is Hardware…

John Fowler

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Soware Acceleraon Integrated into Hardware Over all Strategy to move Soware features into Hardware

Database Query Application DB 12c Acceleration JVM Opmizaon Acceleration Hardware • In Memory •Completely in Opmizaon moved to •Move Soware opmizaon to •Large Memory hardware hardware •Soware systems opmizaon only

HW SW Current • Work on • Comp DB tesng Oracle Compress • Memor Tradional Studio Hardware based ed data res- tools Tools sion y • low • Wire Bandwi • 200X • Reduced overhead Real time • Perf overhead overhead Data speed dth Application Uncompr Data Integrity Decompression Penalt Limited ess y

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidenal Hardware Soware & Silicon Engineered to Work Together Soware in Silicon

Performance Reliability/Security DB In-Memory Applicaon Data Acceleraon Engines Integrity

Capacity Revoluon, Compression Engines Not Evoluon!

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | List of Soware in Silicon Features • Applicaon Data Integrity

• Virtual Address (VA) Masking

• Database Query Accelerator Engine

• Fine Grain Memory Migraon

• On-Chip Uncompression

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidenal Soware in Silicon Cloud Third Party developers can benefit from the Soware in Silicon • Soware in Silicon Cloud available TODAY! • Access to M7 Hardware • Secure environment to develop, build and test your applicaon with Soware in Silicon features • Open to ISV Partners and Customer • Developer tools and IPS pkg repository included • “How to” Guides and technical support included • Need to sign Beta Legal Agreement

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidenal – Restricted 20 Safe Harbor Statement The following is intended to outline our general product direcon. It is intended for informaon purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or funconality, and should not be relied upon in making purchasing decisions. The development, release, and ming of any features or funconality described for Oracle’s products remains at the sole discreon of Oracle.

hps://SWiSDev.Oracle.COM/

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidenal – Internal/Restricted/Highly Restricted 16 Memory Corrupon – The Problem

• Applicaons vulnerable to memory corrupon caused by soware error. • Major source of database and OS corrupons and crashes • Databases and OS(s) have tens of millions of lines of code, developed by distributed teams of thousands of developers, so errors introduced by a subsystem could adversely affect one or more subsystems. • Buffer overflows are a major source of security exploits • In-memory database increases exposure – terabytes of crical data in-memory • Memory corrupon bugs are extremely hard to find • Vicm thread finds corrupted data long aer corrupon happens.

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidenal

“… this is the most important thing we have done in Silicon in may be ever…” … because even smart programmers make mistakes”

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Applicaon Data Integrity • Near Real-me Data Integrity M7 M7 Core Pipeline Execuon Memory & Caches Checking in Dev, Test & Producon version 64Bytes ld … • Version Metadata Associated with version 64Bytes st … version address version 64Bytes 64Byte Aligned Memory Data version 64Bytes • Metadata Stored in Memory, Maintained version 64Bytes Version Miscompare Throughout the Cache Hierarchy and All version 64Bytes Interconnects version 64Bytes version 64Bytes ld … • Memory Version Metadata Checked st … version address Version Memory Against Reference Version by Core Load/ Metadata Data Reference Store Units Versions • HW Implementaon, Very Low Overhead Safeguards Against Invalid/Stale References and • Enables Applicaons to Inspect Buffer Overruns for Solaris and DB Clients Faulng References, Diagnose and Take Appropriate Recovery Acons

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidenal 13 Dramac Reducon in over head with ADI

Test Case: gcc compile

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidenal 20 Safe Harbor Statement The following is intended to outline our general product direcon. It is intended for informaon purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or funconality, and should not be relied upon in making purchasing decisions. The development, release, and ming of any features or funconality described for Oracle’s products remains at the sole discreon of Oracle.

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidenal – Internal/Restricted/Highly Restricted 21 Heartbleed - Impacted Websites using OpenSSL

Heartbeat request sent Vicm responds with to vicm requested payload size (64K bytes) Type Payload_size Payload Type Payload_size Payload HB_REQUEST 65535 Hello HB_RESPONSE 65535 Hello ………. ………………….

Payload_size does not match Payload Unauthorized data returned to requestor

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 22 How can you use the ADI APIs

• Oracle’s Soware enhanced with ADI – Ex. Oracle DB uses ADI in SGA. • Solaris malloc() enhanced with ADI - libadimalloc – LD_PRELOAD able with no applicaon change • Solaris ADI API – Add ADI to applicaons – Libraries in libc in Solaris 11.2 • Studio Discover tool with ADI – Find and fix bugs during development – Available on Studio 12.4 All of the above available on the SWiSDev cloud

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidenal Oracle Solaris Studio Ikroop Dhillon, Principal Product Manager

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

24 Oracle Solaris Studio

Security

Producvity Performance

Integraon

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidenal – Internal/Restricted/Highly Restricted 25 Mul-language Applicaon IDE Development Analycs

COMPLETE TOOLSUITE

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 26 Complete & Comprehensive Toolsuite

Mul-language Development Applicaon Analycs

C, C++ Compilers Code Analyzer

Fortran Compiler Performance Analyzer Debugger Thread Analyzer Performance Library

IDE

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 27 Secure Soware – Made Simple With Applicaon Data Integrity and Oracle Solaris Studio Integrated + = Simple Complete

Applicaon Data Integrity Oracle Solaris Studio Memory aack protecon Comprehensive soware analysis Near-zero overhead ADI integraon Easy and embedded Simple, fast, easy to use

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 28 ADI in Development and Deployment Memory Error Checking in Silicon

ADI in Development ADI in Deployment Increase Applicaon Reliability Ensure Data Integrity

Applicaon

Oracle Solaris Studio Code Analyzer Find and fix memory corrupon Real-me data protecon errors

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 29 Code Analyzer Increase Applicaon Security & Reliability • Simple, intuive, easy to use • Rapid idenficaon of memory corrupon errors, including ADI support • Advanced error filtering and sorng • Comprehensive stac, dynamic and code coverage analysis

Error Type Memory Error Locaon allocaon

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 30 “We used the Oracle Solaris Studio Code Analyzer for memory leak protecon and it helped us be more proacve and improve our efficiency by 50%. Our developers were impressed with ease of use and depth of data provided by the Oracle Solaris Studio analysis tool suite.” – Mr. Fu Tingsheng, Director of Engineering, AsiaInfo

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 31 Performance Analyzer Opmize Applicaon Performance • Enable development teams to easily increase app performance • Quick idenficaon of bolenecks with intuive UI • Rich set of performance metrics • Remote and cross-plaorm analysis • Supports Java, C, C++, Fortran, and OpenMP

Data organized by a Visualize me spent Call stack for variety of Views across mulple threads selected event

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 32 Overview Screen View a summary of performance metrics

Experiment Overview

Summary of important metrics

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidenal – Internal/Restricted/Highly Restricted 33 Funcons View Understand which funcons are taking the most me

Funcons View

Time spent across different funcons Caller and callees of selected funcon

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidenal – Internal/Restricted/Highly Restricted 34 Source View Drill to source and idenfy hotspots

Source View

Drill down to the source line

Hotspots highlighted

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidenal – Internal/Restricted/Highly Restricted 35 Timeline View Visualize me spent

Timeline View

Timeline of events

Call stack for selected event

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidenal – Internal/Restricted/Highly Restricted 36 “The Oracle Solaris Studio development tools are world class; we use the Performance Analyzer on Oracle Solaris to tune and opmize our applicaons which also typically yields performance benefits across all of our plaorms.” – Bub Huemmer, Soware Development Manager, SAS

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 37 Thread Analyzer Simplify Mulcore Programming • Quickly idenfy race and deadlock condions • Improve developer efficiency • Supports Solaris threads, P-threads, OpenMP 4.0

Data organized by a variety of Views, Quickly idenfy including Dual Source race condions

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 38 Oracle Solaris Studio IDE Maximize Producvity • Specifically tailored for C/C++ developers, includes C++11 support • Remotely build, debug, run and analyze • Small IDE memory footprint and fast response mes simplify development of large apps • Custom extensions for Oracle DB and Oracle development • Extend with NetBeans Plug-ins Monitor CPU, Memory Feature-rich language- and Thread usage aware code editor

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 39 Remote Development Increase Efficiency

• Develop applicaons from virtually any desktop environment • IDE can remotely build, debug, analyze • Performance Analyzer can remotely collect app performance data and analyze results

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 40

Remote Development Flavors

Systems Technology Communicaons Forum Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidenal – Internal 41 Oracle Solaris Studio IDE Memory Footprint

7K files 16K files 13M LOC 6M LOC

1.5 GB 0.8 GB

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 42 Oracle Solaris Studio IDE Parse Time

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 43 Fastest SPARC Applicaon Performance

Oracle Solaris Studio Speed Oracle Solaris Studio Throughput Performance Performance

* System used: Oracle SPARC M7, Esmated results from SPEC CPU2006 benchmarks, see disclosure statement

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidenal – Internal/Restricted/Highly Restricted 44 Fastest x86 Applicaon Performance

Oracle Solaris Studio on Oracle x86 Oracle Solaris Studio on Oracle x86 Haswell (untuned results) Ivy Bridge/EP/EX Est. Speedup Est. Speedup

* Esmated results from SPEC CPU2006 benchmarks, see disclosure statement

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 45 C++ 2011 Standard

• Rvalue references! § Universal character name literals! • Non-static data member initializers! § Standard Layout Types! • Variadic templates! § Defaulted functions! • Extending variadic template template parameters! § Deleted functions! • Static assertions! § Extended friend declarations! • auto-typed variables! § Extended sizeof! • Multi-declarator auto! § Inline namespaces! • Leading C++11 implementaon • New function declarator syntax! § Unrestricted unions! • Declared type of an expression § Local and unnamed types as template with best performance (decltype)! arguments! • Right angle brackets for templates! § Range-based for! • Default template arguments for function • All features implemented, templates! § Explicit virtual overrides! • Template aliases! § Allowing move constructors to throw! except: • Extern templates! § Defining move special member functions! • Null pointer constant! § Type Traits! – User-defined literals • Strongly-typed enums! § Noexcept! • Forward declarations for enums (opaque)! § Constexpr! – C++11 concurrency, atomic • Generalized constant expressions! • Thread-local storage! • Alignment support! • Full support for Lambda expressions! operaons, and memory model § Explicit conversion operators! • Full support for Initializer lists! § New character types! • Delegating constructors! § Unicode string literals! • Inheriting constructors! § Raw string literals!

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 46 Oracle Solaris Studio Complete & Comprehensive Toolsuite Mul-language Development Applicaon Analycs

C, C++ Compilers Code Analyzer Deliver record-seng app Increases applicaon reliability performance and security Fortran Compiler Performance Analyzer Opmizes compute intensive app Maximizes applicaon performance performance by orders of Debugger magnitude Ensures app correctness Thread Analyzer Simplifies complex parallel Performance Library programming errors Advanced numerical solver libraries

IDE specifically geared for C/C++ developers

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 47 Hardware and Soware Engineered to Work Together

Oracle Applicaons

Custom Oracle SPARC Developer systems Extensions A Beer Development Development Plaorm Plaorm Oracle x86 Oracle systems

Oracle Solaris

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 48 “The combinaon of Oracle Solaris and Oracle Solaris Studio delivers a robust and reliable plaorm with high performance, high efficiency and high value.” – Jerry Chen, Senior Manager of Telecom Soware Product Department, Capitek

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 49 Oracle Solaris Studio 12.4

Highlights: • Applicaon security with Soware in Silicon ADI Security • Memory leak protecon with Code Analyzer • Rapid idenficaon of performance bolenecks • Performance opmizaons for latest systems: Producvity Performance Oracle SPARC, Intel x86, Fujitsu • C++ 2011 and validaon with BOOST • Efficient code eding of large apps with IDE

Integraon

* Oracle Solaris Studio 12.4, 4/15 PSE required for SPARC M7 performance and ADI support – Available through MOS

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle Confidenal – Internal/Restricted/Highly Restricted 50 “Oracle Solaris Studio 12.4 will certainly help Murex to connue to enhance the MX.3 code producon tool-chain in a safe and integrated manner towards higher quality and producvity.” – Marwan Khalil, Global Head of Core Technologies, Murex

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 51 Availability and Support

• Availability – OTN download • License – Perpetual no-cost license, allows for producon use • Oracle Solaris Development Tools Support: – Oracle Premier Support Offering – Unlimited 24x7 service requests and access to MOS for patches, fixes, PSEs – $1200 per year per user – Oracle Lifeme Support

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 52 Q+A Learn More; Stay Connected

• oracle.com/goto/solarisstudio

• @SolarisStudio

• facebook.com/oraclesolarisstudio

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 53 Keep Learning with Training from Oracle University

• Hands-on training delivered in-class or online by tenured instructors around the world • New subscripon-based learning services to give you any-me access to training • Cerficaon programs to validate your skills

educaon.oracle.com

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 54 Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 55 Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 56 Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 57 Mul-language Development

Mul-language Development Applicaon Analycs

C, C++ Compilers Code Analyzer

Fortran Compiler Performance Analyzer Debugger Thread Analyzer Performance Library

IDE

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 58 Debugger Increase Applicaon Stability & Quality • Most stable debugger in the industry • Quick debugging of both GCC and Oracle Solaris Studio binaries • Interacve, source-level, real-me and postmortem debugging • Available through graphical debugging soluon or command line interface

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 59 Performance Library Highly Opmized Mathemacal Subrounes • Highly tuned for Oracle SPARC and x86 systems • Includes enhanced and newly added mathemacal subrounes • Used by leading financial instuons for maximizing compute-intensive applicaon performance • Leverage parallelizaon features of the Oracle Solaris Studio C, C++, and Fortran Compilers

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 60 Applicaon Analycs

Mul-language Development Applicaon Analycs

C, C++ Compilers Code Analyzer

Fortran Compiler Performance Analyzer Debugger Thread Analyzer Performance Library

IDE

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 61 Solaris Binary Compability Guarantee Unmatched Compability Preserves Investment • Ensures binaries created on older versions of Solaris will connue to run on newer versions • 20+ year track record of delivering unmatched binary compability • Allows developers to intermix object files created with different compiler versions

Guaranteed + = Compability

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 62 Q+A

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |

63