Accelerating Database Applications on Linux Servers

Introducing OCZ’s LXL Software - Delivering a Data-Path Optimized Solution for Flash Acceleration

Allon Cohen, PhD
Yaron Klein
Eli Ben Namer
Scott Harlin

Introduction

As enterprise database applications are data access-intensive their performance is highly dependent on I/O latencies and bandwidths. The speed of data access for a particular database system implementation determines the time it takes to locate, analyze and process data, and ultimately dictates whether users receive the business insight they need, when they need it. To enable a large number of users to be serviced without contention, and to maximize the user experience of their database applications, the underlying enterprise storage latency and transactional IOPS (input/output operations per second) must deliver optimal performance.

Immediate access to data becomes especially critical during periods of peak usage so that user productivity is not adversely affected. For example, bulk access rates and database read latencies can significantly impact the time it takes to complete data warehouse queries in enterprise and cloud environments. As database performance is affected by both the hardware and software of any given project, it must be optimized at the system level.

Solid-state drive (SSD) flash memory provides a perfect fit for the data access requirements of modern databases through its support of ultra-low latencies and the ability to efficiently handle randomized data access requests. In particular, PCI Express (PCIe) flash-based SSDs, when placed directly on the server’s PCIe bus (and in very close proximity to the data hungry CPUs), provide an even further reduction in access latencies. However, as database capacities grow beyond a certain point, it can become impractical or ‘cost-ineffective’ to place all of the database tables on SSD flash.

In such cases, the choice of what data to place in SSD flash becomes critical. On one hand, if the system neglects to find and place important data, system performance will drop as a result of cache misses. On the other hand, if the system places unimportant data in SSD flash, critical data might be displaced and no longer available for low latency CPU access. Therefore, the caching mechanism must possess the capability to intelligently choose what data to place in flash and when to place it.

This white paper presents a solution that dramatically increases database transactional IOPS performance, reduces database read latencies, and significantly improves query completion times for Linux-based servers. The solution includes OCZ’s host-based PCIe Z-Drive R4 SSD Series in combination with OCZ’s Linux Acceleration (LXL) caching software. By introducing this combined hardware/software solution into a Linux environment (running an enterprise database application such as Oracle 11g), OCZ demonstrates query processing improvements by factors up to 1700%.

Introducing LXL Software and Direct Pass Caching Technology

LXL Software is a low latency caching solution for Linux-based physical and virtual environments and through its innovative cache architecture, minimizes latency, maximizes storage I/O access rates, and optimizes cache selections of key enterprise data. Splitting the processing between the Linux kernel and application space, the unique LXL architecture delivers an industry-first Direct Pass Caching Technology that offers a new approach for making application-optimized data cache selections while minimizing I/O access times to SSD flash. Powered by this uniquely designed Direct Pass Caching Technology, LXL delivers a streamlined data path-optimized solution from a Linux-based application to on-host flash resources, with targeted application-optimized caching policies. OCZ developed the new Direct Pass Caching Technology from the ground up to provide the utmost in performance for enterprise applications, and in particular, I/O access-intensive database applications. By enabling intelligent direct pass caching, all data requests to and from the Storage Area Network (SAN) are streamlined, reducing external traffic by up to 90 percent. By simultaneously optimizing the data path (from application to the on-host SSD flash resources), this solution achieves very high selection efficiencies and ultra-low latencies.

How OCZ Direct Pass Caching Works

To achieve dynamic cache selection optimization, OCZ designed its LXL Software to uniquely enable the caching policy engine to be split between the core mechanism running on the Linux kernel and an advanced statistical ‘out-of-band’ analysis module that optimally determines which data needs to be efficiently stored locally in an OCZ enterprise-class SSD (such as the Z-Drive R4 PCIe Series, the Deneva 2 SATA III Series and the Talos 2 SAS Series).

One of the key design elements of Direct Pass Caching Technology is the use of a data path cache director which is a thin, streamlined and efficient filter driver that quickly directs appropriate data requests to SSD flash and communicates out-of-band analysis with the LXL caching engine to make statistically optimized decisions on what data to cache using OCZ’s unique API (application programming interface).

The data path cache director uses periodic updates to dynamically send the latest information on the application access patterns to the caching engine which is then able to perform deep statistical out-of-band analysis using an advanced policy engine to dynamically optimize the caching policy. The caching engine, in turn, constantly feeds back dynamically-optimized selection rules to the data path cache director, which, in this way, is able to constantly make the right choice of what to cache without needing to perform cycle consuming analysis inside the data path.

The Effectiveness of OCZ Direct Pass Caching

To better understand the unique capabilities of Direct Pass Caching Technology, this section discusses the limitations of traditional caching solutions:

1) SSD providers have traditionally optimized the data path to the flash resources to be as short and fast as possible. This approach avoids/minimizes intrusions along the way and enables excellent standalone flash performance but it doesn’t provide the advanced statistical analysis that caching mechanisms require to best determine which data needs to be placed in the cache.

2) Enterprise caching software providers attempt to optimize the cache selection to obtain the highest ‘hit ratio’ by intelligently selecting what data to put on SSD flash with the premise that the more relevant the application data is, the better the acceleration. While this approach obtains better ‘hit ratios’ of the cache selection, real-time statistical processing can adversely impact data path access time optimization.

3) For traditional caching software, the more analysis the software does, the higher the interference to the data path. This represents a classic data path design dilemma:

  • If the software spends too much time deciding whether to cache a data element as it flows through the data path, it slows down access to SSD flash
  • If the software spends too little time deciding whether to cache a data element, it may inadvertently cache data that is useless to the application, or even worst, flush critical data out of the cache entirely

Enterprise applications in general and database applications in particular are especially vulnerable to cache selection optimization as they dynamically handle large amounts of data of constantly shifting importance. Consider a data warehouse that is performing real-time analysis on enterprise data. At one point in time, certain data elements may be critical to cache, while at another point in time, the same data elements may be useless to cache. For such applications, the determination of selecting the data to cache at certain intervals in time is highly dependent on current access statistics.

Direct Pass Caching Technology offers a new approach to enterprise caching that uniquely makes application optimized selections while minimizing access times to SSD flash. The OCZ developed API enables the LXL caching policy engine to perform advanced statistical out-of-band analysis, while at the same time, communicate with the data path to dynamically optimize its caching selections. With this innovative architecture, the caching software and flash data path work as an integrated unit to optimize both the ‘hit ratio’ and access speed to SSD flash. See Figure 1 for illustration.

OCZ Direct Pass Caching Architecture Diagram
Figure 1
OCZ Direct Pass Caching Architecture

By intelligently combining the power of its high-performing data access technology with its enterprise application caching software technology, OCZ was able to optimize a caching engine for the data center that delivers both high ‘hit ratios’ and the fastest I/O access to on-host SSD flash resources.

Performance Testing Using an Oracle 11g Database

To simulate typical data warehouse applications, a 1.2TB database was used to run data warehouse queries based on the TPC-H query set (using the Scale Factor 300 DB). The tests compared a CentOS 6.2-based server running an Oracle 11g Release 2 database before and after LXL Software and the Z-Drive R4 PCIe flash SSD were added to the system, testing the completion times of data warehouse queries.

Before LXL Software and the Z-Drive R4 PCIe SSD were added to the system, the baseline reference environment included a Dell PowerEdge R710 (supporting 24 cores) connected to an 8Gb Fibre Channel-based Dell Compellent storage array utilizing a RAID-5 LUN to store the database.

The reference test environment is outlined in Figure 2 below.

Reference Test Environment
Figure 2
Reference Test Environment

The flash accelerated environment, as depicted in Figure 3 below, utilizes the baseline reference host, with OCZ LXL Software deployed and an OCZ Z-Drive R4 PCIe card installed on the server that acts as read-through cache.

Flash Accelerated Environment
Figure 3
The baseline reference environment with the addition of LXL Software and Z-Drive PCie card

To simulate the sustained data warehouse loads in a production Oracle 11g environment, a set of 22 (TPC-H based) analysis queries were run and the time it took to complete the queries was recorded in the both the baseline reference test configuration and the flash-accelerated configuration.

The results of the acceleration tests indicate that deploying LXL Software on a CentOS 6.2-based Linux system with Z-Drive R4 PCIe flash provides a dramatic decrease in query completion times for Oracle 11g instances running data warehouse queries. Graph 1 below summarizes the completion time for the 22 data warehouse queries tested before and after acceleration with LXL Software and server-based SSD flash. Single data warehouse execution times decreased by a factor up to 1700%, with some data warehouse queries that took hours to complete using the SAN (such as the Discounted Revenue Analysis and Potential Part Promotion analysis queries), were completed within minutes using LXL caching.

Data Warehouse Query
Graph 1
Data warehouse query completion times with and w/o flash acceleration

As is evident in Graph 1, all data warehouse queries were accelerated through the use of LXL caching with most completed in a fraction of the time it took to complete using an HDD SAN. For IT professionals, the addition of LXL Software and Z-Drive R4 PCIe SSD flash can mean the difference between meeting critical execution windows and not providing business users with the timely analysis they require.

Performance Testing on Linux-Based Virtualization Platforms

Virtualization environments can cause a particular challenge for HDD SANs as storage access requests are blended by the virtualization layer creating randomized disk access. Unlike HDD storage, flash memory has no moving parts and handles random data access effortlessly, making it a superior enabler of virtualization. A PCIe flash-based SSD (such as an OCZ Z-Drive R4), connected via the PCIe bus, can deliver high I/O performance to Virtual Machines (VMs) even for very random loads, easily satisfying requested data rates that unleash the full power of virtualization.

As Linux gains popularity within enterprise data centers, the open source virtualization platforms that are designed to run on top of Linux servers are growing in popularity as well. With its database-optimized caching policies, LXL Software serves as a uniquely capable caching layer for Linux-based hypervisors running VMs of any operating system.

To simulate the sustained data access loads in Linux-based virtualization environments, the CentOS 6.2 was used to run a KVM (Kernal-based Virtual Machine) infrastructure with a Windows 2008 VM running SQL Server 2012. The baseline reference environment included a Dell PowerEdge R710, and using KVM, 6 virtual cores and 16GB of memory were assigned to the Windows VM running on top of the CentOS 6.2-based virtualization system. In addition, an 8Gb Fibre Channel Dell Compellent storage array with RAID-5 LUNs was used to store the application data. The tests conducted utilized OLTP loads in a 5000 Warehouse TPC-C type environment testing the transaction rates (new orders) for multiple concurrent user counts.

OLTP Virtualization
Graph 2
OLTP virtualization before and after flash acceleration

After recording the performance tests in the baseline reference environment, the tests were then accelerated using LXL Software to cache the main database tables in a Z-Drive R4 PCIe card while placing the temporary database (tempDB) on an OCZ Talos 2 SSD. Graph 2 summarizes the transactional rates before and after the introduction of LXL caching and host-based SSD flash.

As evident by the test results, the combined OCZ hardware/software caching solution proved an excellent match for the demands of OLTP loads on a Linux-based virtualization platform. Transactional processing rates improved for all tested user counts with the number of processed queries increasing by up to a factor over 1000%. By deploying OCZ’s LXL Software and SSD flash hardware, the identical server and SAN storage configuration was able to handle an increased load on its transactional processing equivalent to more than a ten-fold increase in the number of transaction requests that reach the database server.

Conclusion

OCZ’s LXL Software, when combined with OCZ SSDs, provides an enterprise-optimized solution to flash-based acceleration for Linux servers. The combined solution increases database transactional IOPS performance, reduces database read latencies, and substantially shortens query completion times. In the performance tests conducted, the introduction of LXL caching and Z-Drive R4 into an Oracle 11g analytical environment significantly improved query processing by factors up to 1700%.

Storage access times are especially critical for database applications that require the analysis of large amounts of data, as the time it takes to analyze data dictates whether users will receive the business insight they need, when they need it. In such cases, introducing LXL and host-based Z-Drive R4 flash into the environment, can significantly reduce the processing windows and enable timely completion of database tasks. As the same hardware can achieve ten times the performance, even for OLTP loads, IT managers can gain increasing ROI by unleashing the full potential of their hardware.

Database applications are particularly vulnerable to the selection caching policies deployed by the caching software layer as they dynamically handle large amounts of data of constantly shifting importance. LXL’s Direct Pass Caching Technology serves as an optimized solution for databases running on Linux environments through its ability to perform efficient out-of-band data path analysis that is dynamically reflected in the selection policy optimization. As a result, flash utilization is optimized, enabling reduced CAPEX and OPEX efficiencies that transform the data center into a cost-efficient, dynamic, high-performance environment.

The results of the acceleration tests indicate that deploying LXL Software on a Linux system with Z-Drive R4 PCIe flash provides a dramatic decrease in query completion times for database instances running data warehouse queries.

Single data warehouse execution times decreased by a factor up to 1700%.

 

DOWNLOAD PRINTABLE VERSION (PDF)