accelerating hadoop* applications using intel® … the benefits from intel quickassist technology...

4
SOLUTION BRIEF Intel ® QuickAssist Technology Accelerating Hadoop * Applications Using Intel ® QuickAssist Technology Hadoop * Architecture Hadoop is a scalable, distributed data storage and analytics engine that can store and analyze massive amounts of unstructured and semi-structured data. The distributed architecture of Apache * Hadoop is comprised of multiple nodes (sometimes thousands), which are individual servers that run an off-the-shelf operating system and the Apache Hadoop software. Input file sizes can be on the order of one terabyte (TB), so moving this data both within and Figure 1. Hadoop * MapReduce: Computational Framework Phases Compression acceleration increases the throughput and capacity of Intel ® architecture platforms running Hadoop * around the server cluster can require a lot of disk and network bandwidth, leading to significant delays. One way to reduce the impact of transferring large data volumes is to compress them before they are sent onto the next Hadoop phase. The phases of a Hadoop job are shown in Figure 1, along with potential points where compression and decompression processing could be inserted to improve performance, and to reduce the load on the network and server I/O. INCOMING DATA (compressed) Split 1 Split 2 Split 3 MAP REDUCE PART 0 MAP Copy Sort/Merge Decompress Compress Decompress Compress Input Format Map Task Sort/Spill Fetch Merge Reduce Task Output Format Hadoop * MapReduce: Computational Framework Phases This solution brief discusses the use of hardware-based compression acceleration to increase the performance of Hadoop* applications on Intel® architecture, and is one in a series of five briefs describing how to maximize the benefits from Intel® QuickAssist Technology. Please see the Resources section for links to the series.

Upload: ngohanh

Post on 24-May-2018

221 views

Category:

Documents


2 download

TRANSCRIPT

SOLUTION BRIEFIntel® QuickAssist Technology

Accelerating Hadoop* Applications Using Intel® QuickAssist Technology

Hadoop* Architecture

Hadoop is a scalable, distributed data storage and analytics engine that can store and analyze massive amounts of unstructured and semi-structured data. The distributed architecture of Apache* Hadoop is comprised of multiple nodes (sometimes thousands), which are individual servers that run an off-the-shelf operating system and the Apache Hadoop software. Input file sizes can be on the order of one terabyte (TB), so moving this data both within and

Figure 1. Hadoop* MapReduce: Computational Framework Phases

Compression acceleration increases the throughput and capacity of Intel® architecture platforms running Hadoop*

around the server cluster can require a lot of disk and network bandwidth, leading to significant delays.

One way to reduce the impact of transferring large data volumes is to compress them before they are sent onto the next Hadoop phase. The phases of a Hadoop job are shown in Figure 1, along with potential points where compression and decompression processing could be inserted to improve performance, and to reduce the load on the network and server I/O.

INCOMING DATA(compressed)

Split 1

Split 2

Split 3

MAP

REDUCE PART 0

MAP

Copy

Sort/Merge

Decompress Compress Decompress Compress

Input Format Map Task Sort/Spill Fetch Merge Reduce Task Output Format

Hadoop* MapReduce: Computational Framework Phases

This solution brief discusses the use of hardware-based compression acceleration to increase the performance of Hadoop* applications on Intel® architecture, and is one in a series of five briefs describing how to maximize the benefits from Intel® QuickAssist Technology. Please see the Resources section for links to the series.

2

Figure 3. Hadoop* Job Speed Up From Using Intel® QuickAssist Technology

Accelerated Compression

Since the nodes in a Hadoop system are servers, they can certainly compress and decompress data, but these operations are very compute-intensive. In fact, at times they consume as much as 40 percent of the server’s CPU cycles,1 as shown by the zlib workload profile for a typical

Hadoop node in Figure 2. In this example on a highly tuned Hadoop cluster running the Textsort benchmark, the zlib compress and decompress workloads, when added together, consume on average 30 percent of the CPU over the course of the test.

Alternatively, an Intel architecture platform enabled with Intel QuickAssist Technology has built-in accelerators that dramatically reduce the CPU utilization for compression workloads, making more CPU resources available for Hadoop tasks (e.g., map, merge, and reduce). The impact is illustrated in Figure 3, which indicates around a 40 percent improvement in Hadoop performance.

•  Without Intel QuickAssist Technology – the map phase (top graph) completed in around 275 seconds, and the reduce phase completed in about 630 seconds.

•  With Intel QuickAssist Technology – the bottom graph (orange) shows the same job phases completed around the 165 and 390 second markers – a substantial speed up.

0

10

20

30

40

50

60

0 100 200 300 400 500 600 700

% c

ycle

s

Seconds

Decompress

zlib - SW (lvl1)

0

10

20

30

40

50

0 100 200 300 400 500 600 700

% c

ycle

s

Seconds

Compress

zlib - SW (lvl1)

0

20

40

60

80

100

120

%

zlib - 2 x CCK (lvl1)

0 100 200 300 400 500 600 700

Seconds

0

20

40

60

80

100

120

%

zlib – SW (lvl1)

Figure 2. CPU Utilization for Compression/Decompression

During the Textsort Benchmark

Compression Profile

CPU

Uti

lizat

ion

3

The benefits from Intel QuickAssist Technology are apparent in Figure 4, which shows benchmark data for a Hadoop Text Sort example. The baseline case has no acceleration; software zlib provides software acceleration; and Intel QuickAssist Technology employs hardware acceleration. Compared to the baseline case, Intel QuickAssist Technology was twice as fast, and consumed significantly less power and CPU cycles. Disk bandwidth is also reduced considerably with compression enabled, contributing to the speed up.

Implementation Details

Intel QuickAssist Technology makes the choice of compression accelerators transparent to the application, meaning a Hadoop call to the zlib API remains unchanged regardless of whether the compression accelerator is software or hardware based. This transparency is achieved with an Intel-supplied zlib patch, which allows the zlib library to interface to the Intel QuickAssist Technology API (Figure 5). When Hadoop requests a compression or decompression operation, instead of being executed in software, the modified zlib library forwards the requests to the Intel QuickAssist Technology compression accelerators when they are present on the platform.

Accelerating Hadoop*

Big data workloads are commonly performed on large data sets that are moved around a Hadoop cluster containing high-volume, industry-standard servers. A significant amount of time and network bandwidth can be saved when the data is compressed before it is passed between servers, as long as the compression/decompression operations are efficient and require negligible CPU cycles. This is possible with the hardware-based compression delivered by Intel QuickAssist Technology, which is easy to integrate into existing systems and networks using the available Intel drivers and patches.

Figure 5. Intel-supplied Patch Emulates the zlib API

Figure 4. Hadoop* Text Sort Comparison

No Compression - Baseline Software zlib

Hadoop Text Sort Example

Total EnergyConsumed

(less is better)

Intel® QuickAssist Technology

CPU Utilization

Runtime(less is better)

115%

100%75%

80%100%

70%

100%85%

50%

0% 20% 40% 60% 80% 100% 120%

Intel® QuickAssist Technology-based User Space API

Intel QuickAssist Technology-based Kernel Space API

Kernel Space

Java

Hadoop* GZIP plugin

JNI

zLib API

zLibPatch

User Space

Kernel Space

4

For more information About Intel QuickAssist Technology, visit http://www.intel.com/content/www/us/en/io/quickassist-technology/quickassist-technology-developer.html

1 Performance tests and ratings are measured using specific computer systems and/or components and reflect the approximate performance of Intel® products as measured by those tests. Any difference in system hardware or software design or configuration,as well as system use patterns including wireless connectivity, may affect actual test results and ratings.

Copyright © 2013 Intel Corporation. All rights reserved. Intel, the Intel logo, and Xeonare trademarks of Intel Corporation in the United States and/or other countries.

*Other names and brands may be claimed as the property of others.

Printed in USA MS/VC/1113 Order No. 329875-001US

Resources

Solution Brief Series: Intel® QuickAssist Technology

Part 1: Integrated Cryptographic and Compression Accelerators on Intel® Architecture Platforms

Part 2: Bridging Open Source Applications and Intel® QuickAssist Technology Acceleration

Part 3: Accelerating OpenSSL* Using Intel® QuickAssist Technology

Part 4: Accelerating Hadoop* Applications Using Intel® QuickAssist Technology

Part 5: Scaling Acceleration Capacity from 5 to 50 Gbps Intel® QuickAssist Technology

Processor

Chipset

Memory

Networking Card

Operating System Storage

SATA

External SAS with a 6Gb/s link

Appendix A: Platform Configuration

Dual socket Intel® Xeon® processor E5-2680 v2 (16 cores total)

Intel® Communications Chipset 8950

128 GB DRAM @ 1600 MHz

Intel® 82598EB 10 Gigabit Ethernet Controller

1 x 32 GB Intel® X25-E Extreme SATA Solid-State Drives

8 x 300 GB Intel® Solid-State Drives 710 Series

24 x 32 GB Intel X25-E Extreme SATA Solid-State Drives

Hardware Platform Configuration (Data Nodes)