About me. Copyright 2015, Oracle and/or its affiliates. All rights reserved.



Similar documents
Binary search tree with SIMD bandwidth optimization using SSE

FAQs. This material is built based on. Lambda Architecture. Scaling with a queue. 8/27/2015 Sangmi Pallickara

Physical Data Organization

Reach 4 million Unity developers

Optimizing the Performance of Your Longview Application

PERFORMANCE TUNING ORACLE RAC ON LINUX

ORACLE IaaS SERVICE DESCRIPTIONS

An Oracle White Paper July Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide

Exadata Database Machine

Big Data. Without a Big Database. Kate Matsudaira

Lecture 10: Dynamic Memory Allocation 1: Into the jaws of malloc()

Oracle Hyperion Financial Management Virtualization Whitepaper

Effective Java Programming. measurement as the basis

Accelerating Enterprise Applications and Reducing TCO with SanDisk ZetaScale Software

ORACLE COHERENCE 12CR2

WebSphere Architect (Performance and Monitoring) 2011 IBM Corporation

An Oracle White Paper December Advanced Network Compression

Network Infrastructure Services CS848 Project

In-Memory Computing for Iterative CPU-intensive Calculations in Financial Industry In-Memory Computing Summit 2015

Consolidate Your Middleware to the #1 Application Server: Oracle WebLogic Suite Chuk Munn Lee Oracle

Data Backup and Archiving with Enterprise Storage Systems

Summer Student Project Report

Practical Performance Understanding the Performance of Your Application

Quantifind s story: Building custom interactive data analytics infrastructure

Ground up Introduction to In-Memory Data (Grids)

BMC Recovery Manager for Databases: Benchmark Study Performed at Sun Laboratories

Using Oracle Real Application Clusters (RAC)

Performance with the Oracle Database Cloud

Hadoop: Embracing future hardware

Running Oracle s PeopleSoft Human Capital Management on Oracle SuperCluster T5-8 O R A C L E W H I T E P A P E R L A S T U P D A T E D J U N E

Accelerating Microsoft Exchange Servers with I/O Caching

Services. Relational. Databases & JDBC. Today. Relational. Databases SQL JDBC. Next Time. Services. Relational. Databases & JDBC. Today.

Boost SQL Server Performance Buffer Pool Extensions & Delayed Durability

BENCHMARKING CLOUD DATABASES CASE STUDY on HBASE, HADOOP and CASSANDRA USING YCSB

Copyright 2013, Oracle and/or its affiliates. All rights reserved.

Performance And Scalability In Oracle9i And SQL Server 2000

SDFS Overview. By Sam Silverberg

Benchmarking Couchbase Server for Interactive Applications. By Alexey Diomin and Kirill Grigorchuk

Xiaoming Gao Hui Li Thilina Gunarathne

Eight Considerations for Evaluating Disk-Based Backup Solutions

Oracle Real-Time Scheduler Benchmark

Fact Sheet In-Memory Analysis

Java Universal Binding: Storing Java Objects in Relational and Object-Oriented Databases

Preview of Oracle Database 12c In-Memory Option. Copyright 2013, Oracle and/or its affiliates. All rights reserved.

An Oracle White Paper March Load Testing Best Practices for Oracle E- Business Suite using Oracle Application Testing Suite

Architecting Distributed Databases for Failure A Case Study with Druid

JBoss Data Grid Performance Study Comparing Java HotSpot to Azul Zing

Minimum Hardware Configurations for EMC Documentum Archive Services for SAP Practical Sizing Guide

Oracle BI EE Implementation on Netezza. Prepared by SureShot Strategies, Inc.

Facebook: Cassandra. Smruti R. Sarangi. Department of Computer Science Indian Institute of Technology New Delhi, India. Overview Design Evaluation

RAID. RAID 0 No redundancy ( AID?) Just stripe data over multiple disks But it does improve performance. Chapter 6 Storage and Other I/O Topics 29

Virtuoso and Database Scalability

CS 464/564 Introduction to Database Management System Instructor: Abdullah Mueen

Data Warehousing und Data Mining

<Insert Picture Here> Oracle In-Memory Database Cache Overview

Delivering Quality in Software Performance and Scalability Testing

Apache Ignite TM (Incubating) - In- Memory Data Fabric Fast Data Meets Open Source

FAWN - a Fast Array of Wimpy Nodes

Effective Java Programming. efficient software development

Protect Data... in the Cloud

How swift is your Swift? Ning Zhang, OpenStack Engineer at Zmanda Chander Kant, CEO at Zmanda

Search Big Data with MySQL and Sphinx. Mindaugas Žukas

DataStax Enterprise, powered by Apache Cassandra (TM)

Semester Thesis Traffic Monitoring in Sensor Networks

In Memory Accelerator for MongoDB

Postgres Plus Advanced Server

How To Store Data On An Ocora Nosql Database On A Flash Memory Device On A Microsoft Flash Memory 2 (Iomemory)

Big Data Technology Map-Reduce Motivation: Indexing in Search Engines

WHITE PAPER Optimizing Virtual Platform Disk Performance

Oracle TimesTen In-Memory Database on Oracle Exalogic Elastic Cloud

SQL Server 2005 Features Comparison

Mission-Critical Java. An Oracle White Paper Updated October 2008

Maximizing Hadoop Performance and Storage Capacity with AltraHD TM

Optimizing Performance. Training Division New Delhi

Pemrograman Dasar. Basic Elements Of Java

Hadoop: A Framework for Data- Intensive Distributed Computing. CS561-Spring 2012 WPI, Mohamed Y. Eltabakh

Query Acceleration of Oracle Database 12c In-Memory using Software on Chip Technology with Fujitsu M10 SPARC Servers

DIABLO TECHNOLOGIES MEMORY CHANNEL STORAGE AND VMWARE VIRTUAL SAN : VDI ACCELERATION

Practical Cassandra. Vitalii

STORAGE. Buying Guide: TARGET DATA DEDUPLICATION BACKUP SYSTEMS. inside

Garbage Collection in the Java HotSpot Virtual Machine

HP ProLiant BL660c Gen9 and Microsoft SQL Server 2014 technical brief

Performance Management for Cloudbased STC 2012

The Database is Slow

SOLUTION BRIEF: SLCM R12.7 PERFORMANCE TEST RESULTS JANUARY, Load Test Results for Submit and Approval Phases of Request Life Cycle

An Oracle White Paper July Accelerating Database Infrastructure Using Oracle Real Application Clusters 11g R2 and QLogic FabricCache Adapters

WHITE PAPER. Data Center Fabrics. Why the Right Choice is so Important to Your Business

Whitepaper: performance of SqlBulkCopy

Application-Tier In-Memory Analytics Best Practices and Use Cases

High Frequency Trading and NoSQL. Peter Lawrey CEO, Principal Consultant Higher Frequency Trading

Developing Scalable Java Applications with Cacheonix

Cloud Computing For Bioinformatics

NoSQL - What we ve learned with mongodb. Paul Pedersen, Deputy CTO paul@10gen.com DAMA SF December 15, 2011

Next Generation GPU Architecture Code-named Fermi

<Insert Picture Here> Infrastructure as a Service (IaaS) Cloud Computing for Enterprises

Transcription:

GOTO Chicago RETURN Cameron Purdy Senior Vice President Oracle

About me The last time I spoke at a non-oracle event was QConin June 2012 I used to have fun making up Top 10 lists that would poke fun at awful technology Like C++ and bad programming practices I had hair It wasn t all going grey I ve become a very, very, sad old man That s all I got 2

Future of Java It s been done before: http://medianetwork.oracle.com/video/player/1113279726001 (Or: http://tinyurl.com/prm2yt4) It would require a legal disclaimer George Saab is already speaking at this conference 3

Introduction It was a dark and stormy night (last night) 4

Title (Take 1) The Top 10 Top 10 Presentations I ever did Present 5

Title (Take 2) There must be Top 10 ways to leave your employer (Slip out the back, Jack ) 6

Title (Take 3) Top 10 PowerPoint Tricks 7

Title (Final) Top 10 Stories from my Illustrious Career TM 8

#10 Begin with the End in Mind (see what I did there?) 9

#9 Manage To Your Pain (M2YP) 10

#8 Random is Awesome (stochastic is fantastic) 11

ops DSL op1 op2 param, param op3 param rnd() control test op2 0, hello op1 op2-1, xyz op3 q op3 x op1 op3 255 op3 13 op1 op2 0, pdq op3 a op2-128, null op3 z op1 op2 418, afj op1 op3 f 12

test op2 0, fia op1 op2-1, xyz op3 q op3 x op1 op3 255 op3 13 op1 op2 0, pdq op3 a op2-128, null op3 z op1 op2 418, afj op1 op3 f control subject @Test public void test() { String stest = "" + "op2 0 fia\n" + "op1\n" + "op2-1 xyz"; new TestPlan(sTest).run(); } 13

#7 Never give in. ( We have only to persevere to conquer. ) 14

Elastic Charging Engine Only 16 CPUs required for charging the 2011 worldwide SMS traffic Coherence Provides: Elastic scalability Handle customer growth dynamically Handle higher load Built-in security Built-in secure query with CohQL High Throughput and Performance Fast Recovery from Hardware or Software Failure Very High Availability Online Upgrades and Configuration Elastic Charging Engine Performance Benchmark Summary Servers Used Exalogic 2-2 3/4 rack Number of Cores/CPUs 288/48 Busy Hour Events Processed 3 Billion Throughput for Busy Hour (operations/sec/core) 2,894 99 Percentile Latency 5 ms Number of Customers in the Grid 400 Million

#6 Embrace Criticism, but Require a Better Option ( critic is only a job on tv) 16

#5 Does it support recursion? (the new litmus test) 17

#4 Inelegant Designs are Almost Always Wrong (complexity is the enemy) 18

#3 People and Relationships are Always a Good Investment (sometimes the investment is you) 19

#2 The Bark is Worse than the Bite (imagination is often worse than reality) 20

#1 Always do what you know to be right (even when it hurts) 21

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

Value Types Working around an evil design flaw in Java: Object Identity Requires immutability Think of it as a feature, and not a trade-off! Codes like a class; works like an int. Provides native language support for tuples Might finally get a real decimal type IEEE754-2008 standard! No pun intended Perf: eliminates de-refs; smaller footprint; fewer objects=faster GC @see http://cr.openjdk.java.net/~jrose/values/values-0.html 23

Example: Point final ByValue class Point { public final int x; public final int y; public Point(int x, int y) { } this.x = x; this.y = y; public boolean equals(point that) { } return this.x == that.x && this.y == that.y; } 24

Non-JDK Example: long values HashSet uses almost 600MB of RAM and 7 seconds: RAM=3977272 elapsed=6940ms RAM=628839608 xxxhashset uses just over 40MB of RAM and 2.5 seconds: RAM=3976960 elapsed=2533ms RAM=81787480 Summary: 15x denser and 3x faster. 25

Example: String values Can be implemented in combination with Arrays 2.0 capabilities Fused (1-node) implementation of java.lang.string header length hash body header2 char[] Single allocation Single cache line (for short enough String values) 26

Non-JDK Example: String values 10 million Strings: elapsed=19191ms, RAM=140953408 bytes elapsed=12459ms, RAM=941366016 bytes Intrinsified used less than 20 seconds and 140MB Non-intrinsified used 12.5 seconds and 940MB 50% additional time :-( 85% less memory :-) 27

Arrays 2.0 Support for 64-bit array indexes Current array length limit: 2.1 billion elements interface Array<E> { value E getarrayelement(long x) {... } ref E getarrayelement(long x) {... } } Alignment with Value Types Arrays of Value Types can be as efficient as C arrays of structs Cache line optimizations, e.g. B-Tree data structures Multi-dimensional arrays, e.g. for vector- and matrix-based calculations @see http://cr.openjdk.java.net/~jrose/pres/201207-arrays-2.pdf 28

Arrays 2.0 related: GC specialization Java GC is optimized for many small Java objects There is basically only one large Java class: Array Until now, extremely large allocations have had to optimize via NIO/Unsafe NIO/Unsafe optimizations for primitives are replaced by Value Types NIO/Unsafe optimizations for large arrays can be replaced by Arrays 2.0 Arrays can be split into several parts: A header on the heap One or morestorage segments in a separately managed memory area Compaction-based GC (like G1-GC) no longer have to copy the array contents! 29

We Are the Borg. You Will be Assimilated. Resistance is Futile. TM