GPU ACCELERATED DATABASES Database Driven OpenCL Programming. Tim Child 3DMashUp CEO



Similar documents
Introducing PgOpenCL A New PostgreSQL Procedural Language Unlocking the Power of the GPU! By Tim Child

A Vision for Tomorrow s Hosting Data Center

HETEROGENEOUS SYSTEM COHERENCE FOR INTEGRATED CPU-GPU SYSTEMS

AMD Product and Technology Roadmaps

ATI Radeon 4800 series Graphics. Michael Doggett Graphics Architecture Group Graphics Product Group

"JAGUAR AMD s Next Generation Low Power x86 Core. Jeff Rupley, AMD Fellow Chief Architect / Jaguar Core August 28, 2012

FLOATING-POINT ARITHMETIC IN AMD PROCESSORS MICHAEL SCHULTE AMD RESEARCH JUNE 2015

Optimizing SQL Server AlwaysOn Implementations with OCZ s ZD-XL SQL Accelerator

Accelerating Database Applications on Linux Servers

Accelerating MS SQL Server 2012

Answering the Requirements of Flash-Based SSDs in the Virtualized Data Center

Radeon GPU Architecture and the Radeon 4800 series. Michael Doggett Graphics Architecture Group June 27, 2008

Delivering Accelerated SQL Server Performance with OCZ s ZD-XL SQL Accelerator

Supreme Court of Italy Improves Oracle Database Performance and I/O Access to Court Proceedings with OCZ s PCIe-based Virtualized Solution

MS Exchange Server Acceleration

Compatibility Matrix BES12. September 16, 2015

Virtualization and the U2 Databases

Compatibility Matrix BES10. April 27, Version 10.2 and later

An Oracle White Paper June High Performance Connectors for Load and Access of Data from Hadoop to Oracle Database

AMD Processor Performance. AMD Phenom II Processors Discrete Platform Benchmarks December 2008

Big Data and Big Data Modeling

Oracle Fusion Accounting Hub Reporting Cloud Service

Rebasoft Auditor Quick Start Guide

Performance Best Practices Guide for SAP NetWeaver Portal 7.3

BlackBerry Professional Software For Microsoft Exchange Compatibility Matrix January 30, 2009

PHYSICAL CORES V. ENHANCED THREADING SOFTWARE: PERFORMANCE EVALUATION WHITEPAPER

New!! - Higher performance for Windows and UNIX environments

BlackBerry Enterprise Server Resource Kit BlackBerry Analysis, Monitoring, and Troubleshooting Tools Version: 5.0 Service Pack: 2.

Enriched customer experience at airports

Contents Firewall Monitor Overview Getting Started Setting Up Firewall Monitor Attack Alerts Viewing Firewall Monitor Attack Alerts

Compatibility Matrix BES12. June 30, 2016

PeopleSoft Mobile Inventory Management for Healthcare

Doing More with Less: The Economics of Open Source Database Adoption

EUCIP IT Administrator - Module 1 PC Hardware Syllabus Version 3.0

Migrating Non-Oracle Databases and their Applications to Oracle Database 12c O R A C L E W H I T E P A P E R D E C E M B E R

SUN ORACLE EXADATA STORAGE SERVER

G Cloud 7 Pricing Document

BlackBerry Enterprise Server Express for IBM Domino. October 7, 2014 Version: 5.0 Service Pack: 4. Compatibility Matrix

QNAP in vsphere Environment

Compatibility Matrix March 05, 2010

Secure Held Print Jobs. Administrator's Guide

An Oracle White Paper September Oracle Database and the Oracle Database Cloud

Driving Down the High Cost of Storage. Pillar Axiom 600

SUSE Linux Enterprise 10 SP2: Virtualization Technology Support

An Oracle White Paper May Oracle Database Cloud Service

UEFI on Dell BizClient Platforms

GitLab.com Terms GITLAB.COM TERMS

White Paper AMD PROJECT FREESYNC

Fusion iomemory iodrive PCIe Application Accelerator Performance Testing

Session 3119 Mobilizing Your Dashboards Best Tips for the Mobile Market. Scott Leaver, SAP and Matt Lloyd, SAP

An Oracle White Paper June RESTful Web Services for the Oracle Database Cloud - Multitenant Edition

SAP Service Tools for Performance Analysis

EMC VFCACHE ACCELERATES ORACLE

Greenplum Database (software-only environments): Greenplum Database (4.0 and higher supported, or higher recommended)

System Architecture. In-Memory Database

BlackBerry Business Cloud Services. Version: Release Notes

March Oracle Business Intelligence Discoverer Statement of Direction

An Oracle Technical White Paper June Oracle VM Windows Paravirtual (PV) Drivers 2.0: New Features

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

Teradata Business Intelligence Optimizer. Release Definition

HOW MANY USERS CAN I GET ON A SERVER? This is a typical conversation we have with customers considering NVIDIA GRID vgpu:

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

Oracle TimesTen In-Memory Database on Oracle Exalogic Elastic Cloud

SAP HANA SAP s In-Memory Database. Dr. Martin Kittel, SAP HANA Development January 16, 2013

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

Contents Introduction... 5 Deployment Considerations... 9 Deployment Architectures... 11

OData in a Nutshell. August 2011 INTERNAL

BlackBerry Enterprise Server for Microsoft Exchange. Compatibility Matrix January 31, 2011


QLIKVIEW SERVER MEMORY MANAGEMENT AND CPU UTILIZATION

An Oracle Benchmarking Study February Oracle Insurance Insbridge Enterprise Rating: Performance Assessment

Google Cloud Print. Administrator's Guide

Parallel Programming Survey

INCREASING EFFICIENCY WITH EASY AND COMPREHENSIVE STORAGE MANAGEMENT

ORACLE BUSINESS INTELLIGENCE, ORACLE DATABASE, AND EXADATA INTEGRATION

ORACLE OLAP. Oracle OLAP is embedded in the Oracle Database kernel and runs in the same database process

Best Practices for Installing and Configuring the Hyper-V Role on the LSI CTS2600 Storage System for Windows 2008

Google Drive. Administrator's Guide

The Methodology Behind the Dell SQL Server Advisor Tool

An Oracle White Paper July Introducing the Oracle Home User in Oracle Database 12c for Microsoft Windows

Synchronization Server SDK Version Release Notes and Known Issues List

June, 2015 Oracle s Siebel CRM Statement of Direction Client Platform Support

An Oracle White Paper February Oracle Data Integrator Performance Guide

Dell Microsoft Business Intelligence and Data Warehousing Reference Configuration Performance Results Phase III

ORACLE DATA INTEGRATOR ENTERPRISE EDITION

Manage Address Book. Administrator's Guide

Redefining Flash Storage Solution

What's New in BlackBerry Enterprise Server 5.0 SP4 for Novell GroupWise

Big Data Analytics with IBM Cognos BI Dynamic Query IBM Redbooks Solution Guide

NVIDIA GeForce Experience

Asynchronous data change notification between database server and accelerator control systems

Oracle Business Intelligence Publisher. 1 Oracle Business Intelligence Publisher Certification. Certification Information 10g Release 3 (

An Oracle White Paper May Exadata Smart Flash Cache and the Oracle Exadata Database Machine

Oracle Products on SUSE Linux Enterprise Server 11

Transcription:

GPU ACCELERATED DATABASES Database Driven OpenCL Programming Tim Child 3DMashUp CEO

SPEAKERS BIO Tim Child 35 years experience of software development Formerly VP Engineering, Oracle Corporation VP Engineering, BEA Systems Inc. VP Engineering, Informix Leader at Illustra, Autodesk, Navteq, Intuit, 30+ years experience in 3D, CAD, GIS and DBMS 4 GPU Accelerated Databses June 6, 2011

OUTLINE Speakers Biography Outline Solution Goals OpenCL Programming Challenge Review of GPU Accelerated Databases Swiss Army Knife of Data OpenCL Bindings to PostgreSQL Challenges Example Use Cases Benefits of the Approach Q&A 5 GPU Accelerated Databses June 6, 2011

GOALS Develop New Applications Develop new GPU Accelerated Database Applications that are computationally intensive. Ease of Use Make use GPU accelerated code easier to use Make GPU accelerated code more mainstream to Information Technology Data Scalability Scale GPU application data size Enhance existing database internal operations 6 GPU Accelerated Databses June 6, 2011

OPENCL PROGRAMMING CHALLENGE Write an OpenCL Application that :- Reads data from DBMS or File Publishes Results as Web Pages Handles Frequent Data Updates Data Size >> System RAM >> GPU RAM Possible Solutions C/C++ Binding using Web CGI Java/Perl/Python Bindings in App Server Other Choices?? or Database Driven GPU Programming 7 GPU Accelerated Databses June 6, 2011

REVIEW OF GPU ACCELERATED DATABASE ARCHITECTURES 8 GPU Accelerated Databses June 6, 2011

GPU CO-PROCESS DBMS Client TCP/IP DBMS Server IPC / RPC GPU Language Co-Process PCI Bus GPGPU DRAM Examples 2004 Bandi, Sun, et al Many others Data Tables GPGPU 9 GPU Accelerated Databses June 6, 2011

GPU HOSTED DATA ARCHITECTURE DBMS Client TCP/IP DBMS Sever + GPU Host PCI Bus GPGPU DRAM Data Tables Copy Data Indices Copy GPGPU Examples 2008 Bakkum, Skardon 2010 Palo OLAP 2010 ParStream 2011 Kaczmarski Data Tables 10 GPU Accelerated Databses June 6, 2011

PROCEDURAL LANGUAGE ARCHITECTURE DBMS Client TCP/IP DBMS Server GPGPU Host PCI Bus GPGPU DRAM Results Queries 10G B RAM Cache GPGPU Examples 1995 Illustra/Intel 2010 3DMashUp Data Tables 10T B 11 GPU Accelerated Databses June 6, 2011

SWISS ARMY KNIFE OF DATA 12 GPU Accelerated Databses June 6, 2011

SQL OPENCL TYPES Vector Types cl_charx cl_ucharx cl_shortx cl_ushortx cl_floatx cl_doublex Images Types image2d_t Image3d_t Create table opencltypes ( id serial, matrix cl_double4[4], image image2d ); Insert into opencltypes ( matrix) values ( { 1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1 } ); 13 GPU Accelerated Databses June 6, 2011

DATABASE DRIVEN OPENCL Web Browser HTTP Web Server PostgreSQL Sever SQL Statement PgOpenCL PgOpenCL SQL Procedure PCIe x2 Bus App Server TCP/IP PostgreSQL GPGPU PostgreSQL Client TCP/IP Disk I/O Data Tables 14 GPU Accelerated Databses June 6, 2011

OPENCL BINDINGS TO POSTGRESQL CREATE or REPLACE FUNCTION VectorAdd(IN Id int[], IN a real[], IN B real[], OUT C real[] ) AS $BODY$ kernel void VectorAdd( global int * id, global float *a, global float *b, global float *c) { int i = get_global_id(0); /* Query OpenCL for the Array Subscript **/ } c[i] = a[i] + b[i]; $BODY$ Language PgOpenCL; Select VectorAadd(Id, a, c) from Vectors; 15 GPU Accelerated Databses June 6, 2011

COMPARISON TABLE 16 GPU Accelerated Databses June 6, 2011

DATABASE DRIVEN OPENCL Table A B Select Table to Array 100 s - 1000 s of Threads (Kernels) PU VectorAdd(A, B) + Returns C = A B C Copy Copy Unnest Array To Table Table C C C C C C C C C C C C C 17 GPU Accelerated Databses June 6, 2011

OPENCL TIME SERIES TYPE CL_UNSIGNED_INT, CL_INTENSITY CL_FLOAT, CL_INTENSITY 18 GPU Accelerated Databses June 6, 2011

TIME SERIES DATA 34 Years IBM data in 3NF = 8734 records As Time Series = 34 Records, 6 Series Columns (~250 Values/Series) 19 GPU Accelerated Databses June 6, 2011

EXAMPLE USE CASES GPU Accelerated Time Series 3D Content Management / GIS Spatial Selections Coordinate Transformations Image Processing Bioinformatics DNA & Protein Sequence Matching Database Internal Operations Joins Sorting Query Planning Demo 20 GPU Accelerated Databses June 6, 2011

DEMO SCREEN 1 21 GPU Accelerated Databses June 6, 2011

DEMO SCREEN 2 22 GPU Accelerated Databses June 6, 2011

DEMO SCREEN 3 23 GPU Accelerated Databses June 6, 2011

DEMO SCREEN 24 GPU Accelerated Databses June 6, 2011

DEMO SCREEN 5 25 GPU Accelerated Databses June 6, 2011

CHALLENGES Type Mapping Extend SQL Types with OpenCL Vectors Types OpenCL Image Types Setup > Runtime Caching kernel info Data Transfer CPU GPU Still present SQL Queries + Overhead ( < 4µs ) Map Array Bulk Data Loaders New Task Problem Size DBMS Table Size >> GPU RAM # Work Groups / # Work Items Runtime Partitioning Device Management CPU vs. GPU Runtime Selection Concurrency No Pre-emptive Multi-Tasking Time-out Long Queries Partitioning / Scheduling 26 GPU Accelerated Databses June 6, 2011

BENEFITS OF THE APPROACH PostgreSQL OpenCL Open Source Release Database Internal Operations 27 GPU Accelerated Databses June 6, 2011

Q&A PgOpenCL Twitter @3DMashUp Blog www.scribd.com/3dmashup OpenCL www.khronos.org/opencl/ www.amd.com/us/products/technologies/stream-technology/opencl/ http://software.intel.com/en-us/articles/intel-opencl-sdk http://www.nvidia.com/object/cuda_opencl_new.html 28 GPU Accelerated Databses June 6, 2011

Disclaimer & Attribution The information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions and typographical errors. The information contained herein is subject to change and may be rendered inaccurate for many reasons, including but not limited to product and roadmap changes, component and motherboard version changes, new model and/or product releases, product differences between differing manufacturers, software changes, BIOS flashes, firmware upgrades, or the like. There is no obligation to update or otherwise correct or revise this information. However, we reserve the right to revise this information and to make changes from time to time to the content hereof without obligation to notify any person of such revisions or changes. NO REPRESENTATIONS OR WARRANTIES ARE MADE WITH RESPECT TO THE CONTENTS HEREOF AND NO RESPONSIBILITY IS ASSUMED FOR ANY INACCURACIES, ERRORS OR OMISSIONS THAT MAY APPEAR IN THIS INFORMATION. ALL IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE ARE EXPRESSLY DISCLAIMED. IN NO EVENT WILL ANY LIABILITY TO ANY PERSON BE INCURRED FOR ANY DIRECT, INDIRECT, SPECIAL OR OTHER CONSEQUENTIAL DAMAGES ARISING FROM THE USE OF ANY INFORMATION CONTAINED HEREIN, EVEN IF EXPRESSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. AMD, the AMD arrow logo, and combinations thereof are trademarks of Advanced Micro Devices, Inc. All other names used in this presentation are for informational purposes only and may be trademarks of their respective owners. The contents of this presentation were provided by individual(s) and/or company listed on the title page. The information and opinions presented in this presentation may not represent AMD s positions, strategies or opinions. Unless explicitly stated, AMD is not responsible for the content herein and no endorsements are implied. 31 GPU Accelerated Databses June 6, 2011