The Oracle Disk Manager API: A Study of the VERITAS Implementation

Similar documents
Oracle Storage Management: New Techniques and Choices

VERITAS Storage Foundation 4.0 TM for Databases

VERITAS Storage Foundation 4.0 for Oracle

VERITAS Storage Foundation 4.0 for Oracle

VERITAS Database Edition for Sybase. Technical White Paper

Doubling Performance in Amazon Web Services Cloud Using InfoScale Enterprise

PolyServe MxS Oracle Database Solution Pack Advanced I/O Monitoring User s Guide

IMPROVING THE PERFORMANCE, INTEGRITY, AND MANAGEABILITY OF PHYSICAL STORAGE IN DB2 DATABASES

The VERITAS VERTEX Initiative. The Future of Data Protection

EMC XTREMCACHE ACCELERATES MICROSOFT SQL SERVER

Managing Oracle Real Application Clusters. An Oracle White Paper January 2002

Was ist dran an einer spezialisierten Data Warehousing platform?

An Oracle White Paper June Exadata Hybrid Columnar Compression (EHCC)

Oracle E-Business Availability Options. Solution Series for Oracle: 2 of 5

Chapter 8: Virtual Memory. Operating System Concepts

INTRODUCING VERITAS BACKUP EXEC SUITE

Extreme Storage Performance with exflash DIMM and AMPS

VERITAS Volume Replicator. Successful Replication and Disaster Recovery

CHAPTER 11: IMPLEMENTING FILE SYSTEMS (COMPACT) By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

Veritas InfoScale Enterprise for Oracle Real Application Clusters (RAC)

Optimizing Fusion iomemory on Red Hat Enterprise Linux 6 for Database Performance Acceleration. Sanjay Rao, Principal Software Engineer

Evaluation Report: Improving SQL Server Database Performance with Dot Hill AssuredSAN 4824 Flash Upgrades

The Google File System

EMC XTREMCACHE ACCELERATES ORACLE

Oracle Database 12c: JMS Sharded Queues

WHITE PAPER. VERITAS Database Edition 1.0 for DB2 PERFORMANCE BRIEF OLTP COMPARISON AIX 5L. September

Best Practices. Deploying Optim Performance Manager in large scale environments. IBM Optim Performance Manager Extended Edition V4.1.0.

OPS-23: OpenEdge Performance Basics

Simplified Storage Migration for Microsoft Cluster Server

Storage Optimization with Oracle Database 11g

Maximizing VMware ESX Performance Through Defragmentation of Guest Systems

Four-Socket Server Consolidation Using SQL Server 2008

Veritas Storage Foundation and. Sun Solaris ZFS. A performance study based on commercial workloads. August 02, 2007

EMC XTREMCACHE ACCELERATES VIRTUALIZED ORACLE

VERITAS Foundation Suite for HP-UX

Operating System Performance and Large Servers 1

VERITAS Volume Manager for Windows 2000

The Google File System

Oracle Database 10g The Self-Managing Database

PowerVault MD3 SSD Cache Overview

OPERATING SYSTEM. Chapter 9: Virtual Memory

Veritas Storage Foundation from Symantec


OPERATING SYSTEM. Chapter 12: File System Implementation

STORAGE EFFICIENCY: MISSION ACCOMPLISHED WITH EMC ISILON

Aerospike Scales with Google Cloud Platform

Table Compression in Oracle9i Release2. An Oracle White Paper May 2002

Symantec NetBackup 7 for VMware

Stellar performance for a virtualized world

Chapter 11: Implementing File Systems

Future File System: An Evaluation

Using Oracle STATSPACK to assist with Application Performance Tuning

Comparison: Microsoft Logical Disk Manager (LDM) and VERITAS Volume Manager

CS 147: Computer Systems Performance Analysis

Let s Tune Oracle8 for NT

Contents Overview of the Performance and Sizing Guide... 5 Architecture Overview... 7 Performance and Scalability Considerations...

PRESERVE DATABASE PERFORMANCE WHEN RUNNING MIXED WORKLOADS

Database Performance Analysis Techniques Using Metric Extensions and SPA

Grand Central Dispatch

Chapter 12: File System Implementation

Oracle Architectural Components

Introduction. Assessment Test. Chapter 1 Introduction to Performance Tuning 1. Chapter 2 Sources of Tuning Information 33

Designing Data Protection Strategies for Oracle Databases

VERITAS Volume Replicator Successful Replication and Disaster Recovery

The Role of Database Aware Flash Technologies in Accelerating Mission- Critical Databases

HANA Performance. Efficient Speed and Scale-out for Real-time BI

Performance of relational database management

Chapter 12: File System Implementation

Understanding Virtual System Data Protection

CS3600 SYSTEMS AND NETWORKS

Assessing performance in HP LeftHand SANs

B.H.GARDI COLLEGE OF ENGINEERING & TECHNOLOGY (MCA Dept.) Parallel Database Database Management System - 2

Fusion iomemory PCIe Solutions from SanDisk and Sqrll make Accumulo Hypersonic

Jyotheswar Kuricheti

Oracle Rdb Hot Standby Performance Test Results

Optimizing Database I/O

Chapter 10: File System Implementation

Storage Designed to Support an Oracle Database. White Paper

Data Sheet: Storage Management Veritas Storage Foundation for Oracle RAC from Symantec Manageability and availability for Oracle RAC databases

WHITE PAPER: ENTERPRISE SOLUTIONS

Data Protection and Synchronization for Desktop and Laptop Users VERITAS BACKUP EXEC 9.1 FOR WINDOWS SERVERS DESKTOP AND LAPTOP OPTION

Oracle on HP Storage

Veritas Cluster Server from Symantec

CS307: Operating Systems

The Oracle DBMS Architecture: A Technical Introduction

Impact of Dell FlexMem Bridge on Microsoft SQL Server Database Performance

VERITAS SANPoint Storage Appliance Overview of an Open Platform for the Implementation of Intelligent Storage Server

An Oracle White Paper October Advanced Compression with Oracle Database 11g

Lotus Sametime 3.x for iseries. Performance and Scaling

WHITE PAPER. Optimizing Virtual Platform Disk Performance

Chapter 12: File System Implementation

VERITAS Storage Foundation for Windows FlashSnap Option

Building a 24x7 Database. By Eyal Aronoff

Designing Data Protection Strategies for Oracle Databases

Rapid Provisioning. Cutting Deployment Times with INFINIDAT s Host PowerTools. Abstract STORING THE FUTURE

Exadata X3 in action: Measuring Smart Scan efficiency with AWR. Franck Pachot Senior Consultant

Comparison of Storage Protocol Performance ESX Server 3.5

Chapter 11: Implementing File

VERITAS Backup Exec 9.1 for Windows Servers. Advanced Open File Option

Chapter 18: Database System Architectures.! Centralized Systems! Client--Server Systems! Parallel Systems! Distributed Systems!

Transcription:

The Oracle Disk Manager API: A Study of the VERITAS Implementation V E R I T A S W H I T E P A P E R

Table of Contents Overview...................................................................................1 Background: I/O Complexity......................................................................2 Oracle Disk Manager Features....................................................................3 Advanced Support for File System I/O.............................................................3 File Management Features.....................................................................3 Atomic File Creation.........................................................................4 Oracle Managed File Support...................................................................4 File Identification............................................................................5 Oracle Disk Manager Performance.................................................................6 Performance Testing Background................................................................6 Performance Observations.....................................................................7 Oracle Parallel Server..........................................................................13 Summary..................................................................................14

Overview One of the design goals behind Oracle9i is reducing complexity. Oracle Disk Manager (ODM) is an essential part of Oracle s strategy for simplifying database configuration and management. Database administrators face constant challenges managing database storage, such as tuning input/output (I/O) performance and managing disk space. Configuring and tuning databases for optimal performance requires a good deal of platformspecific expertise. Database administrators must be familiar with the different supported I/O types on the platforms they manage. This is particularly challenging for administrators who are managing databases on multiple platforms. Oracle Disk Manager offers a simpler environment for managing and tuning Oracle databases. Using Oracle Disk Manager, all platform-specific, I/O-related calls and settings are unnecessary. Oracle automatically detects if Oracle Disk Manager is present and uses it. All I/O operations are supported on file system files and raw partitions even asynchronous I/O. Using Oracle Disk Manager, administrators can have the manageability of file system storage without sacrificing performance. Oracle Disk Manager is an application programming interface (API) for I/O and file management system which Oracle Corp. designed. Oracle9i is the first release to use it. The first commercial software built to support the Oracle Disk Manager API is VERITAS Database Edition 3.0 for Oracle an integrated file system/volume management solution optimized to support Oracle databases. The performance metrics in this paper reflect the implementation of Oracle Disk Manager using Database Edition for Oracle. This paper first describes the Oracle Disk Manager features, then provides a benchmark performance analysis comparing complex Oracle9i workloads on file systems and raw partitions with and without it. Our testing confirms the claim that Oracle Disk Manager offers equivalent throughput for raw partitions and file systems and demonstrates other efficiencies leading to better processor utilization. www.veritas.com The Oracle Disk Manager API: A Study Of The VERITAS Implementation Page 1

Background: I/O Complexity Oracle databases operate in increasingly complex environments. Oracle instances routinely service a large number of concurrent requests involving table and index scans, single block and scattered reads, as well as temporary segment reads. At the same time, background database processes also are operating. The Database Writer processes, for example, conduct large, asynchronous batch writes. Add to this the need for occasional tablespace auto-extension and temporary tablespace creation, and you have an extremely complex disk I/O profile. To support this wide variety of functions, each platform-specific port of the Oracle server uses a collection of routines from the standard C library, POSIX libraries, and, on most platforms, proprietary interfaces crafted specifically for database servers. Database administrators must worry about which init.ora parameters to use and whether specific I/O features, such as asynchronous I/O, are supported on various platforms. The technotes and newsgroups are riddled with questions about interfaces such as read(), write(), lio_listio(), kaio(), pread(), pwrite(), aio_read() and aio_write(). Ideally, database administrators should not have to be concerned with these low-level I/O details. The problem of complexity is particularly acute in heterogeneous environments, where port-specific differences are evident. A database administrator responsible for multiple platforms needs a good deal of platform-specific expertise to tune an Oracle instance for optimal I/O performance. Additional server functionality, such as Parallel Server and Parallel Query, only make the low-level file I/O details more significant. Oracle Corp. designed the Oracle Disk Manager interface to address these challenges. Oracle Disk Manager reduces complexity for database administrators by allowing all datafile I/O types on file systems and raw partitions, using a single system call. Oracle Disk Manager supports raw partitions and file systems. Because file system files are easier to manage, they are expected to be the natural choice for Oracle9i databases. Oracle Disk Manager supports raw partition, file system and mixed file types, which benefits existing databases and supports migration from raw partitions to file system files. Oracle Disk Manager includes an advanced file management infrastructure that enables the Oracle server to create and initialize a file in an atomic operation, automating a common administrative task. It also eliminates the use of file descriptors, which further reduces operating system-specific configuration issues. Page 2 The Oracle Disk Manager API: A Study Of The VERITAS Implementation www.veritas.com

Oracle Disk Manager Features Oracle Disk Manager features are implemented through a combination of operating system kernel functionality and a set of library modules conforming to the API which Oracle specified. The Oracle Disk Manager features can be categorized as follows: Advanced support for file system I/O File management features File identification features Each of these feature sets is described below. Advanced Support for File System I/O Oracle Disk Manager puts to rest the debate about whether to store datafiles in file systems or raw partitions. Historically, database administrators choose between file system files and raw partition storage by selecting the lesser of two evils. File system files are easier to manage, but raw partitions provide better I/O performance. An application that doesn t have substantial I/O requirements when initially deployed may change over time. In many cases, this forces administrators to migrate datafiles from file systems to raw partitions. Other solutions, such as UNIX file system mount options, have mitigated many of the performance considerations for file systems. None has completely silenced the discussion. On most platforms, advanced functions such as true asynchronous Database Writer and Log Writer flushing have been available only for raw partitions. This changes with Oracle Disk Manager. Oracle Disk Manager I/O uses a single call: odm_io(). The odm_io() call supports all Oracle file I/O types, including sequential reads, sequential writes, direct reads, direct writes, scattered reads, Database Writer batch writes, Log Writer Redo Log buffer flushing and archiving of Redo Logs by the Archiver process. All of these I/O types are enhanced on file system files and raw partitions. Oracle9i still supports datafiles on file systems that do not support Oracle Disk Manager, using non-oracle Disk Manager internals. This minimizes disruption while migrating datafiles into a compliant file system. Oracle Disk Manager simplifies configuration because it requires no init.ora parameters or system-tunable parameters. It also allows administrators to store datafiles in file system files without sacrificing performance or advanced I/O capabilities. File Management Features Managing space for large, complex databases is a time-consuming and difficult job. Routine tasks such as adding and naming datafiles are prone to mistakes. Databases with unpredictable growth pose capacity planning challenges. Oracle9i with Oracle Disk Manager simplifies these tasks with atomic file creation and Oracle Managed File support. www.veritas.com The Oracle Disk Manager API: A Study Of The VERITAS Implementation Page 3

Atomic File Creation When the Oracle server is initializing a new datafile, any number of things can go wrong. The database administrator must clean up from the point of failure, which may entail removing a file from a file system that was too small for the data being added. On large systems with many existing datafiles, these cleanup operations can be dangerous. Oracle Disk Manager reduces the failures that can occur when adding a datafile to a database. With this product, Oracle no longer uses C library routines such as open(2), read(2) and write(2) to create and initialize datafiles. Instead, Oracle uses the following disk manager routines: odm_create() odm_commit() odm_abort() Oracle Disk Manager treats these routines as an atomic file operation; an Oracle datafile is not a file in the file system until Oracle has initialized it fully and called odm_commit(). If an Oracle failure occurs during the operation, before odm_commit(), the file never even appears in the file system. Contiguous file system space allocation is the other essential benefit of the disk manager file creation functionality. In traditional file system files, the disk space allocated to a file is not contiguous. The potential degradation of table scan throughput for noncontiguous datafiles is one of the factors that drives database administrators to choose raw partitions for datafile storage. Datafiles created with Oracle Disk Manager consist of contiguous file system blocks. Oracle Disk Manager files look and feel like any file system file, without special naming extensions or file system mount options. Oracle Managed File Support As part of its effort to reduce administrative complexity, Oracle9i offers a feature called Oracle Managed Files (OMF). Oracle Managed Files manages datafile attributes such as file names, file locations, storage attributes and whether the file is used in a database. For a comprehensive overview of the feature set, see the Oracle9i Administrator s Guide. Oracle Managed Files requires file system storage. It eliminates the mundane task of providing unique file names and offers dynamic space management using the auto-extend functionality of Oracle9i. Oracle Managed Files should be used only in file systems residing in striped/raid-configured logical volumes that can support dynamic file system growth. File systems intended for Oracle Managed Files use should support large (greater than 2 GB), extensible files to enable tablespace autoextension. Managing a large database traditionally means tracking a large number of files. Choosing the Oracle Managed File infrastructure allows database administrators to think of tablespaces, online redo log files and control files as database objects rather than collections of datafiles simplifying database administration. Oracle Managed Files are created with the auto-extend capability by default. Using this feature significantly reduces the capacity planning associated with maintaining existing applications and deploying new databases. In the past, database administrators have been cautious about using auto-extend because of concerns about file system fragmentation. Oracle Disk Manager eliminates this concern through the introduction of the odm_resize() routine, which allocates contiguous file system blocks to files. Eliminating potential fragmentation assures that table and index scan throughput does not degrade as the tablespace grows. Page 4 The Oracle Disk Manager API: A Study Of The VERITAS Implementation www.veritas.com

File Identification Traditionally, the Oracle server uses the standard C library open(2) system call to obtain a file descriptor from the operating system. It then uses that file descriptor to perform file operations such as reading and writing. File descriptors require an allocation structure in the operating system kernel. Although they are not large data structures, a server hosting a large Oracle database will have many kernel structures allocated as file descriptors for open files. For example, consider an Oracle database consisting of 200 datafiles, with 1,000 processes attached to the instance. If all processes open all files, the operating system kernel would need to provide for 200,000 active file descriptors. To support file open calls for all processes on all datafiles, administrators must tune systemwide and per-process limits. For a large database, the administrator may need to set the systemwide limit for open files to more than 500,000. (A 1 TB database with files limited to 2 GB would have 500 datafiles; supporting 1,000 attached processes, requires 500,000 active file descriptors.) Although today s UNIX implementations can handle these kernel requirements, this clearly is wasteful. Kernel-managed file descriptors require concurrency control. On multiprocessor systems, the kernel open file list typically is protected with locking, such as a spinlock or an intelligent mutex primitive. Other system calls, such as exec(2) and exit(2), require implicit file open and close operations. On an active server, this locking uses an unnecessary amount of kernel mode processing. An Oracle Disk Manager file identifier replaces the file descriptor, eliminating this operating system overhead. File identifiers are obtained with the odm_identify() routine. Oracle Disk Manager file identifiers are shareable once a file has been identified, subsequent processes using the shared identifier do not incur any kernel overhead. No matter how many active Oracle Disk Manager file identifiers are in use, there are no operating system tunable parameters to adjust. The majority of Oracle Disk Manager file identification occurs at instance startup: The Database Writer process executes odm_identify() on all datafiles The CKPT process identifies the control files Log Writer process identifies the online redo log files Each of these processes caches the returned information in the SGA, which subsequent processes that attach to the instance use. Using shareable, cached disk manager identifiers makes large operating system file descriptor tables a thing of the past. Oracle Disk Manager file identifiers also enhance reliability. Calls to access a file through odm_identify() are regulated using a special key value that Oracle attributes to a database. For large, complex server systems hosting multiple applications and Oracle instances, this eliminates the possibility of two non-participating instances opening a datafile. Without Oracle Disk Manager, it is conceivable that this could occur. www.veritas.com The Oracle Disk Manager API: A Study Of The VERITAS Implementation Page 5

Oracle Disk Manager Performance One objective of the Oracle Disk Manager is to provide equivalent performance for file system and raw partition I/O. To test the success of this goal, VERITAS conducted comprehensive performance tests. Performance Testing Background The workloads were based on an order entry and product tracking online transaction processing (OLTP) application. The database contained approximately 150 GB of table storage, with additional index overhead. The system was configured with 12 processors and 12 GB of main memory. Workloads The test suite consisted of four separate workloads, ensuring broad coverage of Oracle Disk Manager and Oracle9i functionality. Figure 1 describes the individual tests. Workload Description Test Name Transaction Type Percent Mixed OLTP Modify-Intensive Reporting Query-Intensive Insert-intensive: Taking orders, adding customers, stock, new products Select-intensive: Reports (shipment status, stock level, customer info), ad hoc query Update-intensive: Order amendment, account updates Deletes: Closing customer accounts, item discontinuation Insert-intensive: Taking orders, adding customers, stock, new products Update-intensive: Order amendment, account updates Select-intensive: Reports (shipment status, stock level, customer info), ad hoc query Select-intensive: Reports (shipment status, stock level, customer info) Select-intensive: Ad hoc query 9 64 26 1 3 91 6 100 100 Figure 1. Test Workload Descriptions Users Large user-count testing was an essential attribute of the test suite. All 1,000 pseudo-users were attached to the database instance with a dedicated connection, with no transaction monitor in use. Each pseudo-user had a distinct user account in the database. This is a key difference from performance studies in which all pseudo-users are connected through the same account. Because most user installations establish user accounts and permissions, it is important to treat the pseudo-users as separate users. The test was configured with a client/server workload, with clients connecting using the SQL*Net BEQUEATH driver. Because the clients were configured to use dedicated server processes, there were roughly 2,000 processes on the system under test and transactions were executed with one-second think time. Page 6 The Oracle Disk Manager API: A Study Of The VERITAS Implementation www.veritas.com

Database Configuration The tests use Oracle9i beta as the database engine. The database was created on a set of VERITAS Volume Manager raw volumes. The first tests were run with standard Oracle9i, then with Oracle9i and Oracle Disk Manager. The database then was recreated on a single VERITAS File System and tested with Oracle Disk Manager-enabled Oracle9i to ensure equal performance on file systems. In all cases, the physical database layout adhered to the S.A.M.E. methodology. The database block size was 4,096 bytes and the init.ora parameter db_block_buffers was set to 300,000. Table accesses were largely random. An SGA disk block buffer cache of 1.2 GB was used in all cases to fully stress the disk I/O subsystem. Throughout the performance results shown in this paper, datapoints labeled were derived from tests run using standard Oracle9i on raw volumes. Objectives The primary focus of this study was throughput and scalability. We also were interested in essential system indicators related to improved software performance, such as system calls, context switches and kernel-locking overhead. As Oracle Disk Manager offers improved system call profiles for the Database Writer and Log Writer processes, we also tracked processor utilization for these processes. The workload entitled Mixed OLTP is the most rigorous of the workloads in the test suite. For the sake of brevity, this paper focuses more on that workload than the others. Performance Observations Oracle Disk Manager is designed to improve data manageability through the use of advanced Oracle9i features on file system files. Data manageability is difficult to benchmark; features such as Oracle Managed Files cannot be tested by benchmarks. Nevertheless, performance degradation while using these features is unacceptable. Therefore, the first critical performance test was to determine that there is no measurable variance between standard Oracle9i on raw volumes and Oracle9i using Oracle Disk Manager on either raw volumes or file system files. Our performance test bore out that objective, showing that Oracle Disk Manager does not inflict any performance penalty. Throughtput and Scalability The first figure shows the results for the mixed OLTP workload with and without Oracle Disk Manager. Scalability is measured by the performance on two, four, eight and 12 processors. www.veritas.com The Oracle Disk Manager API: A Study Of The VERITAS Implementation Page 7

150 GB Scale Mixed OLTP Workload TPS 1500 1300 1100 900 700 500 300 100 2 4 6 8 10 12 CPUs ODM Raw Figure 2. Comparing ODM and non-odm throughput for mixed workloads As Figure 2 shows, running the mixed OLTP workload in the VERITAS File System (VxFS) using Oracle Disk Manager did not cause any reduction in throughput or scalability. This observation uses the mixed OLTP workload, the most difficult of the four workloads in the test suite. Performance improvements vary based on workload characteristics. In fact, Oracle Disk Manager offers a slight performance improvement (4 percent) for the query-intensive workload: 150 GB Scale Query Intensive 1900 Workload TPS 1700 1500 1300 1100 Query Intensive Figure 3. Query-intensive workload throughput, with and without ODM The reporting workload showed a 6 percent improvement in throughput with Oracle Disk Manager: 150 GB Scale Reporting Workload 3200 TPS 2800 2400 2000 Reporting Figure 4. Reporting workload throughput, with and without ODM Page 8 The Oracle Disk Manager API: A Study Of The VERITAS Implementation www.veritas.com

Other System Characteristics Oracle Disk Manager introduces locking efficiencies which reduce bottlenecks in the operating system code path. Reducing locking contention in the operating system should increase transaction throughput. However, if the workload incurs disk I/O at a fixed rate, reducing software bottlenecks may increase the demand for disk I/O. Depending on the disk subsystem load, this may result in little more than increased service times for I/O. For software improvements to increase throughput on disk-intensive workloads, there must be sufficient disk subsystem bandwidth to handle the additional I/O requests. Because the disk I/O subsystem configuration remained constant throughout the testing, only a finite amount of additional I/O requests could be serviced. To see the effect of the software changes, we need to take a closer look at other system characteristics, in addition to the simple throughput metric. Figure 5 below shows improvement in locking behavior using Oracle Disk Manager. Locking Improvements, Reporting Workload 5500 4500 3500 2500 SMTX/sec MutexOps/sec Figure 5. Reduced locking contention with ODM than with non-odm on reporting workload Oracle Disk Manager reduces kernel-adaptive, mutex lock operations on the reporting workload by 9 percent. It reduces the sheer count of spins on mutexes in the operating system kernel by 5 percent. Reducing kernel-mode processor overhead is a winning proposition for any workload. Even if the workload can t generate more throughput due to bottlenecks elsewhere, other processes on the system can take advantage of the processor cycles once they are available. For example, consider a system primarily loaded with a payroll application. By identifying the most processor-intensive SQL statement in that application and tuning its query plan, you can free processor cycles so the payroll application consumes fewer processor cycles per transaction. Reducing the processor overhead on a query plan generally hastens its accesses to disk. For example, you might be able to replace a nested-loop join with a sort-merge join. A sort-merge join generally is less processor-intensive, but the query plan still accesses the same data set. If more disk bandwidth is available, the payroll application may be able to handle more transactions. If it is I/O-bound, however, this improvement results in higher service times for payroll I/O requests. However, the payroll application still will be consuming fewer processor cycles. Other applications on the system can use the cycles made available by tuning payroll. In the case of the test workloads, the reporting workload already was using a good portion of the available disk subsystem bandwidth, leaving little room for additional throughput when Oracle Disk Manager was enabled. The result was a 6 percent increase in throughput, with a reduction in kernel overhead. Looking at the throughput for mixed OLTP and update-iintensive workloads, Oracle Disk Manager on file systems delivered close to the same throughput as raw volumes without it exactly what the product is expected to offer: www.veritas.com The Oracle Disk Manager API: A Study Of The VERITAS Implementation Page 9

150 GB Scale Mixed OLTP and Update Intensive Workloads 1600 1200 TPS 800 400 0 Mixed OLTP Update Intensive Figure 6. Throughput is roughly equivalent with ODM file systems and non-odm raw partitions, but... However, Figure 6 doesn t tell the whole story. Because Disk Manager does more with fewer system calls, the mixed OLTP workload saw relief in terms of reduced system calls and context switches. Figure 7 shows a reduction of 9 percent and 6 percent in system calls and context switches, respectively. 50000 45000 40000 System Call and Context Switch Statistics Mixed OLTP Workload 35000 30000 25000 20000 Sys Calls CSW Figure 7. ODM reduces system calls and context switches The mixed OLTP workload generates significant contention in the Oracle server. Internal contention can be detected in Oracle performance statistics such as latch-free and busy buffer waits. Reducing contention external to Oracle often relieves internal Oracle contention. In the case of Disk Manager, improving operating system characteristics (such as context switches, system calls and kernel locking) can alleviate internal Oracle contention. Page 10 The Oracle Disk Manager API: A Study Of The VERITAS Implementation www.veritas.com

Figure 8 compares the Oracle latch-free wait events in non-disk Manager and Disk Manager test cases. Oracle Latch Sleeps. Mixed OLTP Workload Latch Sleeps 55000 45000 35000 25000 Figure 8. ODM usage helps reduce Oraclel latch sleeps Oracle Disk Manager reduces latch-free wait events by 9.8 percent in the mixed OLTP workload. Oracle Disk Manager also reduces buffer busy waits by 7 percent in this test case: Buffer Busy Waits Mixed OLTP Workload 5500 Buffer Busy Waits 4500 3500 2500 Figure 9. Oracle busy buffer waits improve with ODM Log Writer and Database Writer Processes The most dramatic variation using Oracle Disk Manager is in the Database Writer and Log Writer processes. Because odm_io() allows the calling process to perform I/O for a large number of requests bound for many different files with a single call, these processes have a simpler system call profile. In the case of Database Writer, Disk Manager significantly reduces processor utilization. Database Writer processes perform large batch writes, often flushing hundreds of modified SGA buffers to many different files. To do so optimally, these writes must be asynchronous. Without Oracle Disk Manager, most platforms force Database Writer to make a system call for each buffer being flushed. Once all the I/O requests are in flight, Database Writer enters a loop of polling for completed I/O requests. If the write batch consists of 1,000 dirty buffers, this translates into at least 1,000 system calls, plus however many calls are made to poll for all the completions. Oracle Disk Manager allows the Database Writer to send any number of I/O requests to the operating system kernel with a single call to odm_io(). Polling for completed requests also is done with odm_io(). Compared to generic I/O completion polling routines, odm_io() is much more robust. The net effect is a dramatic reduction in processor cycles that Database Writer consumes per buffer-flushing operation. Depending on workload characteristics, reducing Database Writer processor utilization can increase overall throughput. The benefit depends on the percentage of all processor cycles that Database Writer processes consume. Remember that Database Writer processes are rarely an absolute bottleneck since the advent of multiple true Database Writers a feature introduced in Oracle8i. When Database Writer throughput is a bottleneck, it is simple to configure another one by increasing the value assigned to the init.ora parameter db_writer_processes. However, reducing the processing cost for the Database Writer activity on a whole is positive. www.veritas.com The Oracle Disk Manager API: A Study Of The VERITAS Implementation Page 11

For the non-disk Manager, mixed OLTP workload, Database Writer consumes a mere 3 percent of all processor cycles. Given the fact that the test system was configured with 12 processors, this 3 percent equates to roughly one-third of one processor. However, it is important to point out that given these parameters, Oracle Disk Manager significantly reduced processor cycles the Database Writers use a trait which should hold true for any workload. Figure 10 shows that Oracle Disk Manager reduces the total Database Writer processor utilization by 39 percent. Database Writer Processor Consumption Mixed OLTP - 30 Minute Test Interval Seconds CPU 650 450 250 Figure 10. ODM reduces Database Writer processor utilization Although database administrators can add more Database Writer processes to address a bottleneck, each Oracle instance can have only one Log Writer process. Applications that generate a large number of Redo Log entries sometimes can run the Log Writer process at 100 percent processor utilization. Once Log Writer consumes 100 percent of a processor, there is no more bandwidth for transaction throughput, even if other processors are idle. The Log Writer process is not typically processor-bound, although it is busy when handling a modify-intensive mix of transactions. When performing a Redo Log flush, Log Writer uses asynchronous I/O if there are more redo records to write than can be performed in a single I/O call. For example, if Log Writer has 3 MB of redo records to flush, it may issue three asynchronous writes of 1 MB each, depending on the platform. Using Oracle Disk Manager, the Log Writer process consumed 19 percent fewer processor cycles for the mixed OLTP workload than the non-disk Manager test case. Log Writer Processor Consumption Mixed OLTP - 30 Minute Test Interval 200 Seconds CPU 150 100 Figure 11. ODM reduces Log Writer processor utilization Reducing the Log Writer's processor consumption by 19 percent would improve performance on some applications if the Log Writer was causing a performance problem. Page 12 The Oracle Disk Manager API: A Study Of The VERITAS Implementation www.veritas.com

Oracle Parallel Server For most Oracle Parallel Server (OPS) implementations, there is no choice but to store databases in raw partitions. Most platforms supporting Oracle Parallel Server require that the physical database reside in raw partitions visible to other nodes in the cluster. This applies to all database files, including online redo log files and control files. These requirements predate the emergence of cluster file system offerings. Oracle Parallel Server is supported on clustered file systems as long as the platform provides a raw access path to the files in the file system. In other words, as long as there is no buffering in the system cache, a file system doesn t interfere with Oracle Parallel Server. Not all applications demand the enhanced availability and out-of-the-box scalability of Oralce Parallel Server or Real Application Clusters (RACs) when they are deployed. However, availability and scalability issues may become more important as the application becomes more closely tied to the core operations of the business. If you use Oracle9i, choosing Oracle Disk Manager on the VERITAS File System for non-clustered applications does not create problems for moving to Oracle9i RACs in the future. By deploying these applications using Oracle Disk Manager, you can avoid migrating databases to raw partitions to support Real Application Clusters. VERITAS is developing a version of the Database Edition for Oracle that supports Oracle Disk Manager and Real Application Clusters. Converting an existing VERITAS file system for use in a cluster does not require moving any data. www.veritas.com The Oracle Disk Manager API: A Study Of The VERITAS Implementation Page 13

Summary For too long, database administrators have had to choose raw partition storage and concern themselves with platformspecific, low-level I/O operations to optimize database performance. Oracle Disk Manager finally solves these long-standing problems. It simplifies database management by enabling administrators to choose file system storage without performance penalties. And by improving file management, file auto-extension and file identification processes. At the same time, Oracle Disk Manager increases application performance if not in raw throughput, then through reduced contention and improved processor utilization. Oracle Disk Manager helps cut through the complexity of Oracle configuration and tuning, offering a rare commodity in today s complex data center a simple choice. Page 14 The Oracle Disk Manager API: A Study Of The VERITAS Implementation www.veritas.com

VERITAS Software Corporation Corporate Headquarters 1600 Plymouth Street Mountain View, CA 94043 650-527-8000 or 800-327-2232 For additional information about VERITAS Software, its products, or the location of an office near you, please call our corporate headquarters or visit our Web site at www.veritas.com V E R I T A S W H I T E P A P E R Copyright 2001 VERITAS Software Corporation. All Rights Reserved. VERITAS, VERITAS SOFTWARE, the VERITAS logo, Business Without Interruption, VERITAS The Data Availability Company, VERITAS Database Edition, VERITAS File System and VERITAS Volume Manager are trademarks or registered trademarks of VERITAS Software Corporation in the U.S. and/or other countries. Other product names mentioned herein may be trademarks or registered trademarks of their respective companies. Specifications and product offerings subject to change without notice. Printed in USA. July 2001. 90-01553-399