accelerating hadoop* applications using intel® … the benefits from intel quickassist technology...
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)