user-mode i/o in oracle 10g with odm and dafs

32

Upload: holleb

Post on 10-Feb-2016

54 views

Category:

Documents


0 download

DESCRIPTION

Session id: 36777. User-mode I/O in Oracle 10g with ODM and DAFS. Jeff Silberman Systems Architect Network Appliance. Margaret Susairaj Server Technologies Oracle Corp . Agenda. The Transportation Revolution Concepts: RDMA, DAT, DAPL, DAFS - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: User-mode I/O in Oracle 10g with ODM and DAFS
Page 2: User-mode I/O in Oracle 10g with ODM and DAFS

User-mode I/O in Oracle 10g with ODM and DAFS

Jeff Silberman Systems Architect Network Appliance

Session id: 36777

Margaret Susairaj Server Technologies Oracle Corp

Page 3: User-mode I/O in Oracle 10g with ODM and DAFS

Agenda

The Transportation Revolution Concepts: RDMA, DAT, DAPL, DAFS RDMA and Oracle 10g The DAFS API: User-mode I/O and OS bypass ODM : The File I/O API for Oracle 10g Oracle 10g RAC and InfiniBand Performance Summary, Q&A

Page 4: User-mode I/O in Oracle 10g with ODM and DAFS

The Transportation Revolution

“dumb” networks vs. reliable data movers Data copies vs. RDMA Ethernet vs. InfiniBand Kernel mode I/O vs. User-mode I/O Unix I/O vs. ODM

Page 5: User-mode I/O in Oracle 10g with ODM and DAFS

Concepts

Remote Direct Memory Access (RDMA) Direct Access Transports (DAT) Direct Access Provider Library (DAPL) Direct Access File System (DAFS)

Page 6: User-mode I/O in Oracle 10g with ODM and DAFS

RDMA

Memory to memory access over a network Requires both intelligent transports and

intelligent network interface cards (NICs) Cannot be done over “standard” Gigabit

Ethernet Operations defined with respect to the server Examples:

– FC/VI, GbE/VI, DAPL/IB

Page 7: User-mode I/O in Oracle 10g with ODM and DAFS

Direct Access Transports (DAT)

Both RDMA read and RDMA write operations supported

Multiple concurrent virtual connections Asynchronous I/O Direct Data Placement Kernel Bypass

DAT is transport agnostic

Page 8: User-mode I/O in Oracle 10g with ODM and DAFS

Direct Access Provider Library (DAPL) Standards-based API for DAT

– DAT Collaborative: Over 40 companies including both Oracle and IBM

Designed to facilitate higher-level RDMA protocols– Examples: DAFS, Oracle RAC

DAPL “providers” are typically the NIC providers A portable API for RDMA transports uDAPL for user-level access kDAPL for kernel-based access

Page 9: User-mode I/O in Oracle 10g with ODM and DAFS

Direct Access File System (DAFS) DAFS is a remote file access protocol DAFS derives heavily from NFSv4 Target is local data-center file sharing Ideal cluster file system for RAC Rich set of Oracle-inspired semantics Will always perform better than TOE’s

– Zero touch, zero data copy

Page 10: User-mode I/O in Oracle 10g with ODM and DAFS

Oracle 10g and RDMA

Oracle Disk Manager

Direct Data Control

SGA Buffer

s

RDMA NIC (RNIC)InfiniBand Adapter

Oracle File I/O API

Buffers DAFS Engine

DAFS File Server

InfiniBand Adapter

10g

Page 11: User-mode I/O in Oracle 10g with ODM and DAFS

Oracle 10g and RDMA

DAFS user-level I/O library

Oracle Disk Manager

DAFS API

Direct Data Control

SGA Buffer

s

RDMA NIC (RNIC)InfiniBand Adapter

Oracle File I/O API

Buffers DAFS Engine

DAFS File Server

InfiniBand Adapter

. . .

10g

Page 12: User-mode I/O in Oracle 10g with ODM and DAFS

Oracle 10g and RDMA

DAT library vectorDAFS user-level I/O library

Oracle Disk Manager

DAFS API

DAT

Direct Data Control

SGA Buffer

s

RDMA NIC (RNIC)InfiniBand Adapter

Oracle File I/O API

Buffers DAFS Engine

DAFS File Server

InfiniBand Adapter

10g

Page 13: User-mode I/O in Oracle 10g with ODM and DAFS

Oracle 10g and RDMA

DAT library vectorDAFS user-level I/O library

Direct Access Provider Libraries

Oracle Disk Manager

DAFS API

DAT

Direct Data Control

DAPL Provider

SGA Buffer

s

DAPL Provider

RDMA NIC (RNIC)InfiniBand Adapter

Oracle File I/O API

Buffers DAFS Engine

DAFS File Server

InfiniBand Adapter

DAPL Provider

. . .

10g

Page 14: User-mode I/O in Oracle 10g with ODM and DAFS

Oracle 10g and RDMA

Transport-specificDevice Drivers

DAT library vectorDAFS user-level I/O library

Direct Access Provider Libraries

Oracle Disk Manager

HCA Driver

DAFS API

DAT

Direct Data Control

DAPL Provider

SGA Buffer

s

HCA Driver

DAPL Provider

RDMA NIC (RNIC)InfiniBand Adapter

Oracle File I/O API

Buffers DAFS Engine

DAFS File Server

InfiniBand Adapter

HCA Driver

DAPL Provider

. . .

10g

Page 15: User-mode I/O in Oracle 10g with ODM and DAFS

Oracle 10g and RDMA

Low latency High Bandwidth Memory to memory transfer Minimal CPU intervention User-mode I/O

Storage I/O requests

Data block transfers for cache fusion

Lock request messages

Parallel Query internode messages

Page 16: User-mode I/O in Oracle 10g with ODM and DAFS

DAFS API: User-Mode I/O

Memory Registration Asynchronous I/O Security / Authentication I/O Fencing I/O Completion Groups Multi-path I/O

Page 17: User-mode I/O in Oracle 10g with ODM and DAFS

DAFS Implementation Models

UserSpace

OS Kernel

Kernel File System

File I/OSyscalls

Application(unchanged)

Buffers

File System

DAFS Layer

DA Provider Library

Adapter Driver

HBA/HCA

Raw Device Driver

Disk I/OSyscalls

Application(unchanged)

Buffers

Device Driver

DAFS Layer

DA Provider Library

Adapter Driver

HBA/HCA

User Library

Application(modified)

HBA/HCA

uDAFS LibraryDA Provider Library

Adapter Driver

Buffers

Application Transparency

Performance

Page 18: User-mode I/O in Oracle 10g with ODM and DAFS

Oracle 10g

Grid-based computing– Easily scale the number of servers– Easily scale the storage– Easily share all resources

Ease of Manageability Improved Performance Capability Support for new technologies

Page 19: User-mode I/O in Oracle 10g with ODM and DAFS

Oracle Disk Manager (ODM)

The File I/O API for Oracle

Performance of Raw Disk with the Manageability of Files

Page 20: User-mode I/O in Oracle 10g with ODM and DAFS

Oracle Disk Manager (ODM)

Problem Solution

No consistent standard I/O interfaces. I/O interfaces vary with each operating system variant.

The ODM API semantics are invariant across all OS platforms including Windows

No standard asynchronous I/O model for regular files. Asynchronous I/O, if it was provided, relied on special kernel-based device drivers.

ODM supports both synchronous and asynchronous I/O for any regular files in an ODM file system

No standard for batching I/O requests within a single I/O call.

The odm_io() function provides batch I/O capability, which minimizes the number of system calls and kernel traps

Excess system resources consumed when each process in an Oracle instance must open each datafile in the instance

ODM provides shared file identifiers. A given file-id can be used by any process in the instance, thereby reducing the number of opens, instance wide.

Page 21: User-mode I/O in Oracle 10g with ODM and DAFS

ODM Advanced File Semantics

Open with ‘share’ key Files not visible until file is initialized Files cannot be deleted if open references

exist

Page 22: User-mode I/O in Oracle 10g with ODM and DAFS

ODM version 2

Zero data copy– Zero touch of data, from storage to SGA

Memory registration User-mode I/O : Reduced context switches NIC provisioning I/O hints and priorities Non-shared file ids

– Same semantics as with Unix file descriptors Portability

– Advanced semantics are invariant across platforms

Page 23: User-mode I/O in Oracle 10g with ODM and DAFS

Oracle 10g RAC

File Storage

InfiniBand Switches

Oracle 10g RAC

Servers

Data Center

Application Servers

Internet

Redundant paths for high availability or load balancing

Page 24: User-mode I/O in Oracle 10g with ODM and DAFS

Performance Thanks to Ariel Cohen from Topspin*

Communications One client / one server

– 1.8 GHz Xeon CPU– 133 MHz PCI-X bus– 4x IB HCA (10 Gbs)– Gigabit Ethernet w/ checksum offload support

Jumbo frame size of 9000– RedHat Linux 7.3

*Ariel Cohen. “A Performance Analysis of 4X InfiniBand Data Transfer Operations”. Proceedings of the International Parallel and Distributed Processing Symposium – Workshop on Communication Architecture for Clusters, April 2003

Page 25: User-mode I/O in Oracle 10g with ODM and DAFS

Performance

Page 26: User-mode I/O in Oracle 10g with ODM and DAFS

Performance

Page 27: User-mode I/O in Oracle 10g with ODM and DAFS

NFS and RDMA

Page 28: User-mode I/O in Oracle 10g with ODM and DAFS

Evolution and Revolution

Hungry apps and database must look elsewhere for extra CPU power

– OS bypass for I/O High performance transports are here today

– InfiniBand offers 10Gbs w/ 10 usec latency Unix and Windows do not provide user-level I/O

– The DAFS API does Oracle 10g RAC w/ a single pipe

– Both RAC/IPC and user-level file I/O over one IB pipe

“Please keep your seatbelts fastened … “

Page 29: User-mode I/O in Oracle 10g with ODM and DAFS

Next StepsHigh Availability Sessions from Oracle

11:00 AMHow Oracle Database 10g

Revolutionizes Availability and Enables the Grid

3:30 PM

Oracle Recovery Manager (RMAN) 10g: Reloaded

5:00 PMProven Techniques for Maximizing

Availability

8:30 AMOracle Database 10g - RMAN and ATA

Storage in Action  

11:00 AMOracle Data Guard: Maximum Data

Protection at Minimum Cost 

1:00 PMOracle Database 10g Time Navigation:

Human-Error Correction 

4:30 PMData Guard SQL Apply: Back to the

Future

Wednesday in Moscone Room 304Tuesday in Moscone Room 304

For More Info On Oracle HA Go To http://otn.oracle.com/deploy/availability/

Page 30: User-mode I/O in Oracle 10g with ODM and DAFS

Next StepsHigh Availability Sessions from Oracle

8:30 AM in Moscone Room 304Oracle Database 10g Data

Warehouse Backup and Recovery: Automatic, Simple, Reliable

8:30 AM in Moscone Room 104Building RAC Clusters over

InfiniBand

Thursday

For More Info On Oracle HA Go To http://otn.oracle.com/deploy/availability/

Real Application Clusters

Data Guard

Database Backup & Recovery

Flashback Recovery

LogMiner, Online Redefinition, and Cross Platform Transportable

Tablespaces

Database HA Demos All Four DaysIn The Oracle Demo Campground

Page 31: User-mode I/O in Oracle 10g with ODM and DAFS

Reminder – please complete the OracleWorld online session survey

Thank you.

Page 32: User-mode I/O in Oracle 10g with ODM and DAFS

AQ&Q U E S T I O N SQ U E S T I O N SA N S W E R SA N S W E R S