O M TPC -BB (BigBench) Big Data Analytics...

23
2016 49th Annual IEEE/ACM -MICRO TPCX-BB (BigBench) Big Data Analytics Benchmark 1 Bhaskar D Gowda | Senior Staff Engineer Analytics & AI Solutions Group Intel Corporation [email protected]

Transcript of O M TPC -BB (BigBench) Big Data Analytics...

Page 1: O M TPC -BB (BigBench) Big Data Analytics Benchmarksae.ece.utexas.edu/img/ppts/TPCx-BBv1_10_14_2016_IEEE_SIGMICR… · Spark MLLIB Python 6,7,9,11,12,13,14,15,16,17,21,22,23,24 1,29

20

16

49

th A

nn

ual

IEEE

/AC

M -

MIC

RO

TPCX-BB (BigBench) Big Data Analytics Benchmark

1

Bhaskar D Gowda | Senior Staff EngineerAnalytics & AI Solutions GroupIntel [email protected]

Page 2: O M TPC -BB (BigBench) Big Data Analytics Benchmarksae.ece.utexas.edu/img/ppts/TPCx-BBv1_10_14_2016_IEEE_SIGMICR… · Spark MLLIB Python 6,7,9,11,12,13,14,15,16,17,21,22,23,24 1,29

20

16

49

th A

nn

ual

IEEE

/AC

M -

MIC

RO

Agenda

2

• Big Data Analytics & Benchmarks• Industry Standards • TPCx-BB (BigBench)• Profiling TPCx-BB• Summary

Page 3: O M TPC -BB (BigBench) Big Data Analytics Benchmarksae.ece.utexas.edu/img/ppts/TPCx-BBv1_10_14_2016_IEEE_SIGMICR… · Spark MLLIB Python 6,7,9,11,12,13,14,15,16,17,21,22,23,24 1,29

20

16

49

th A

nn

ual

IEEE

/AC

M -

MIC

RO

The end-user Perspective of Big Data benchmarks

Analyze Volume of data

in Defined SLA

Select Right Framework

At Optimum TCO

3

Page 4: O M TPC -BB (BigBench) Big Data Analytics Benchmarksae.ece.utexas.edu/img/ppts/TPCx-BBv1_10_14_2016_IEEE_SIGMICR… · Spark MLLIB Python 6,7,9,11,12,13,14,15,16,17,21,22,23,24 1,29

20

16

49

th A

nn

ual

IEEE

/AC

M -

MIC

RO

What Makes a Good Benchmark?

Flexible

Adaptive

Modularized

Reusable

Comprehensive

Coverage (usecase, components)

Reliable Proxy implementation

Target usage

Based on Open Standards

Peer Reviewed Spec and Code

Public Availability

Industry Acceptance

Usable

Easy to use Kit

Simplified Metric

Support and Maintenance

4

Page 5: O M TPC -BB (BigBench) Big Data Analytics Benchmarksae.ece.utexas.edu/img/ppts/TPCx-BBv1_10_14_2016_IEEE_SIGMICR… · Spark MLLIB Python 6,7,9,11,12,13,14,15,16,17,21,22,23,24 1,29

20

16

49

th A

nn

ual

IEEE

/AC

M -

MIC

RO

Benchmark Types, use and limitation

Micro-Benchmarks• Basic insights• SPEC CPU, DFSIO• Reduced complexity

Functional Benchmarks • Specific High-level function• Sort, Ranking• Limited Applicability

Application Benchmarks• Relevant real-world usage• TPC-H, TPC-E• Complex implementation

5

Page 6: O M TPC -BB (BigBench) Big Data Analytics Benchmarksae.ece.utexas.edu/img/ppts/TPCx-BBv1_10_14_2016_IEEE_SIGMICR… · Spark MLLIB Python 6,7,9,11,12,13,14,15,16,17,21,22,23,24 1,29

20

16

49

th A

nn

ual

IEEE

/AC

M -

MIC

RO

The Case for Standards and Specifications

Industry Standard Benchmark

Meaningful, Measurable, Repeatable

Hardware Software value

proposition

Technology value

proposition

Benchmark usage

• Performance Analysis• Reference Architectures, Collaterals• Influence Roadmaps and Features• Aid Customer Deployments• Illustrative ≠ Informative

Industry Standards

6

Page 7: O M TPC -BB (BigBench) Big Data Analytics Benchmarksae.ece.utexas.edu/img/ppts/TPCx-BBv1_10_14_2016_IEEE_SIGMICR… · Spark MLLIB Python 6,7,9,11,12,13,14,15,16,17,21,22,23,24 1,29

20

16

49

th A

nn

ual

IEEE

/AC

M -

MIC

RO

Analytics Pipeline

7

Page 8: O M TPC -BB (BigBench) Big Data Analytics Benchmarksae.ece.utexas.edu/img/ppts/TPCx-BBv1_10_14_2016_IEEE_SIGMICR… · Spark MLLIB Python 6,7,9,11,12,13,14,15,16,17,21,22,23,24 1,29

20

16

49

th A

nn

ual

IEEE

/AC

M -

MIC

RO

Big Data Benchmark Pipeline

8

Page 9: O M TPC -BB (BigBench) Big Data Analytics Benchmarksae.ece.utexas.edu/img/ppts/TPCx-BBv1_10_14_2016_IEEE_SIGMICR… · Spark MLLIB Python 6,7,9,11,12,13,14,15,16,17,21,22,23,24 1,29

20

16

49

th A

nn

ual

IEEE

/AC

M -

MIC

RO

¹http://dl.acm.org/citation.cfm?id=2463712&preflayout=flat²http://www.mckinsey.com/~/media/McKinsey/dotcom/Insights%20and%20pubs/MGI/Research/Technology%20and%20Innovation/Big%20Data/MGI_big_data_full_report.ashx3http://www.odbms.org/wp-content/uploads/2014/12/bigbench-workload-tpctc_final.pdf

Partners and ContributorsOrigin• Presented in 2013 Sigmod paper¹ • Adapted from McKinsey Business cases²• TPC standardization 2014

Features• 30 Batch Analytic use-cases• Framework Agnostic• Structured, Semi-Structured & Unstructured

Collaboration• Papers and Standardization• Industry and Academic Presentations• Specification and Publications

TPCx-BB (BigBench)

9

Page 10: O M TPC -BB (BigBench) Big Data Analytics Benchmarksae.ece.utexas.edu/img/ppts/TPCx-BBv1_10_14_2016_IEEE_SIGMICR… · Spark MLLIB Python 6,7,9,11,12,13,14,15,16,17,21,22,23,24 1,29

20

16

49

th A

nn

ual

IEEE

/AC

M -

MIC

RO

Overview

10

Kit Structure Supported Hadoop Engines

Metrics and Reporting Modular

Implementation• Self Contained Kit• SQL on Hadoop API’s• Spark MLLIB Machine Learning• Natural Language Processing

Kit Features• Easy setup• Size and Concurrency Scaling• Versatile Driver• Modular to support New API

Availability • TPCx-BB v1• Download from TPC• Open to Contribution

http://www.tpc.org/TPC_Documents_Current_Versions/pdf/TPCx-BB_v1.1.0.pdf

Page 11: O M TPC -BB (BigBench) Big Data Analytics Benchmarksae.ece.utexas.edu/img/ppts/TPCx-BBv1_10_14_2016_IEEE_SIGMICR… · Spark MLLIB Python 6,7,9,11,12,13,14,15,16,17,21,22,23,24 1,29

20

16

49

th A

nn

ual

IEEE

/AC

M -

MIC

RO

Data Model

11

• Inspired from TPC-DS• Semi-Structured Clickstream Data• Unstructured Product Review Data• Multiple Snowflake schema with

shared dimensions• Representative Skewed Database

content • Sub-linear Scaling for Non-Fact Tables• Node Local Parallel data generation

TPC-DS TPCx-BB

+Click Stream

Semi-Structured

Product Review

Un-Structured

Market Price

StructuredStructured

CustomerCustomer AddressCustomer DemographicsDateHousehold DemographicsIncome BandInventoryItemPromotionWeb Site

ReasonShip ModeStoreStore ReturnsStore SalesTimeWarehouseWeb PageWeb ReturnsWeb Sales

Page 12: O M TPC -BB (BigBench) Big Data Analytics Benchmarksae.ece.utexas.edu/img/ppts/TPCx-BBv1_10_14_2016_IEEE_SIGMICR… · Spark MLLIB Python 6,7,9,11,12,13,14,15,16,17,21,22,23,24 1,29

20

16

49

th A

nn

ual

IEEE

/AC

M -

MIC

RO

TPCx-BB Kit Implementation

12

Query Language

Procedural UDF/UDTF

Machine Learning

Procedural MR

Procedural NLP

SQL API

Java UDTF

Spark MLLIB

Python

6,7,9,11,12,13,14,15,16,17,21,22,23,24

1,29

5,20,25,26,28

30

10,18,19,27 Open NLP

Method Use Case # API

1.x Kit Implementation• Data Management expressed in SQL• UDF & UDTF usage as necessary• Spark ML & Deprecated Mahout• NLP Sentiment Analysis

Example Use case• Cluster customers into book

buddies/club groups based on their in store book purchasing histories.

• Data preparation in QL• Grouping in ML

• Find the categories with flat or declining sales for in store purchases during a given year for a given store.

• Data preparation in QL• Regression Compute in QL

Page 13: O M TPC -BB (BigBench) Big Data Analytics Benchmarksae.ece.utexas.edu/img/ppts/TPCx-BBv1_10_14_2016_IEEE_SIGMICR… · Spark MLLIB Python 6,7,9,11,12,13,14,15,16,17,21,22,23,24 1,29

20

16

49

th A

nn

ual

IEEE

/AC

M -

MIC

RO

Benchmark Driver & Data Generator

13

Java Module

Bash Scripts

Parameters

Mo

du

lar • Invoke

Benchmark

• Seeds & Metric

Orc

hes

trat

ion • Individual

Tasks

• Internode Access Fe

atu

res • Flexible

• Conf Files Input

HDFS

Schema &

Format

Benchmark Driver

Data Generator

Benchmark Driver• Provide stable concurrency support• Ensure options consistentncy• Log runtimes• Compute final result• Orchestrate test• Parse FDR Support Files• Aggregate cluster Infomation

Data Generator• Node Local Data Generator• Enables independent re-generation of

values• Xml Defined and Locked• Terabytes scale generation

Page 14: O M TPC -BB (BigBench) Big Data Analytics Benchmarksae.ece.utexas.edu/img/ppts/TPCx-BBv1_10_14_2016_IEEE_SIGMICR… · Spark MLLIB Python 6,7,9,11,12,13,14,15,16,17,21,22,23,24 1,29

20

16

49

th A

nn

ual

IEEE

/AC

M -

MIC

RO

Scale Factor, Streams & Metrics

14

Secondary Metrics• Computed from Phase Elapsed Times• Elapsed Times Included in the Report• Log File with Time Stamps

Primary Metrics• Computed Performance Metric• TPC Pricing Spec for $/Performance • Optional Energy-Performance Metric

Scale Factor• Pre-Defined 1000-1000000• Nominal to size in GB• Measured at Pre-Load

Streams• Parallel 1-99 • Generated with Deterministic Seed• Randomly Placed

Scale Factor

StreamsElapsed Times

Secondary Metrics

Primary Metrics

Page 15: O M TPC -BB (BigBench) Big Data Analytics Benchmarksae.ece.utexas.edu/img/ppts/TPCx-BBv1_10_14_2016_IEEE_SIGMICR… · Spark MLLIB Python 6,7,9,11,12,13,14,15,16,17,21,22,23,24 1,29

20

16

49

th A

nn

ual

IEEE

/AC

M -

MIC

RO

Test Phases

15

Load Test

• Data Aggregated from various sources

• Permute and Loads Aggregated Data

• Test’s Storage, Compute, Codecs, Formats

Power Test

• Each Use Case runs once

• Helps Identify Optimization areas

• Varied utilization Pattern

Throughput Test

• Multiple Jobs running in parallel

• Realistic Hadoop Cluster usage

• Optimize for Cluster Efficiency

Simulate real-world usage

Use case driven utilization pattern

Inclusive HW & SW Performance Testing

Page 16: O M TPC -BB (BigBench) Big Data Analytics Benchmarksae.ece.utexas.edu/img/ppts/TPCx-BBv1_10_14_2016_IEEE_SIGMICR… · Spark MLLIB Python 6,7,9,11,12,13,14,15,16,17,21,22,23,24 1,29

20

16

49

th A

nn

ual

IEEE

/AC

M -

MIC

RO

16

Benchmark Workflow

16

Min 3 Nodes Hadoop Distribution Concurrent Streams 2-n

Scale Factor 1TB,3TB HoMR, HoS,HoT Tuning Parameters

Data Generation Load , Power, Throughput Tests

Reports Metrics Utilization

Publication Collateral POC

Cluster Setup

Define Parameters

Run Benchmark

Analyze Data

Results

Page 17: O M TPC -BB (BigBench) Big Data Analytics Benchmarksae.ece.utexas.edu/img/ppts/TPCx-BBv1_10_14_2016_IEEE_SIGMICR… · Spark MLLIB Python 6,7,9,11,12,13,14,15,16,17,21,22,23,24 1,29

20

16

49

th A

nn

ual

IEEE

/AC

M -

MIC

RO

17

Profiling Using TPCx-BB

17

Objective

• System Sizing

• Purchasing Decisions

• Collaterals

Profiler Roles

• Solution Architects

• Result Publishers

• End Users

Insights

• Utilization

• Scaling Studies

• H/W-S/W Selection

Tools

• OS utilities

• PAT*

• Ganglia

Objective

• uArchdesign

• S/W Tuning

• Projections

Profiler Roles

• Platform Architects

• S/W Developers

• Academia

Insights

• Granularity view of Platform

• S/W stack nuances

• Model Inputs

Tools

• vTune, EMON

• Application Logs

• SAE/SIMICS

*https://github.com/intel-hadoop/PAT

Scale-Out distributed frameworks

Volume, Velocity, Variety, Veracity(4v’s) Data formats

Comprehending job behaviors w.r.t hardware & Software frameworks

Multiple points of contention/bottleneck

Access to suitable infrastructure

Time consuming root causing identify and drive changes

Basic & Intermediate1

Advanced2

Challenges Simulation & Modeling can address

Page 18: O M TPC -BB (BigBench) Big Data Analytics Benchmarksae.ece.utexas.edu/img/ppts/TPCx-BBv1_10_14_2016_IEEE_SIGMICR… · Spark MLLIB Python 6,7,9,11,12,13,14,15,16,17,21,22,23,24 1,29

20

16

49

th A

nn

ual

IEEE

/AC

M -

MIC

RO

18

Basic Profiling

18

Test Configuration• 10 Node cluster • Hadoop 2.X• Hive on Spark API• Scale Factor (SF) ~3TB• Scaling: Stream Scaling

Data Analysis • 9 Stream’s provide best Perf. and $/Perf. • Post 9 streams cluster hits bottleneck • Overall Cluster Utilization ~71% • Spark is more efficient in scaling than MR

Test Results • Perf. Score: BBQpm@3000 = 549• $/BBQpm@3000 = $456• Cluster Utilization = 70%

Page 19: O M TPC -BB (BigBench) Big Data Analytics Benchmarksae.ece.utexas.edu/img/ppts/TPCx-BBv1_10_14_2016_IEEE_SIGMICR… · Spark MLLIB Python 6,7,9,11,12,13,14,15,16,17,21,22,23,24 1,29

20

16

49

th A

nn

ual

IEEE

/AC

M -

MIC

RO

19

Advanced Profiling - Platform

19

Frequency Scaling of Map Reduce job

Review with CPI, Core count etc.

Correlate with front-end, back-end bound stages

Memory Bandwidth studies

Page 20: O M TPC -BB (BigBench) Big Data Analytics Benchmarksae.ece.utexas.edu/img/ppts/TPCx-BBv1_10_14_2016_IEEE_SIGMICR… · Spark MLLIB Python 6,7,9,11,12,13,14,15,16,17,21,22,23,24 1,29

20

16

49

th A

nn

ual

IEEE

/AC

M -

MIC

RO

20

Advanced Profiling – Software Stack

20

Data Skew issues in a Hadoop cluster

Stagglers #1 issue on large Big Data Clusters

Larger the dataset and cluster increased laggards tasks

Example 3 Tasks with data

1000+ Tasks launched with 0 Data

Prolonged completion times

Page 21: O M TPC -BB (BigBench) Big Data Analytics Benchmarksae.ece.utexas.edu/img/ppts/TPCx-BBv1_10_14_2016_IEEE_SIGMICR… · Spark MLLIB Python 6,7,9,11,12,13,14,15,16,17,21,22,23,24 1,29

20

16

49

th A

nn

ual

IEEE

/AC

M -

MIC

RO

21

TPCx-BB Challenges

21

• Fast Moving Big Data Landscape

• Addressing New Frameworks

• Support and Maintenance

• Large Cluster & Scale Factor Test

Page 22: O M TPC -BB (BigBench) Big Data Analytics Benchmarksae.ece.utexas.edu/img/ppts/TPCx-BBv1_10_14_2016_IEEE_SIGMICR… · Spark MLLIB Python 6,7,9,11,12,13,14,15,16,17,21,22,23,24 1,29

20

16

49

th A

nn

ual

IEEE

/AC

M -

MIC

RO

22

Summary

22

• Benchmark Taxonomy & Use Cases

• Industry Standard Benchmark

Why Common yard stick

What Collaborative Effort TPCx-BB

How TPCx-BB 1.x Specification and Kit

• Challenges

Page 23: O M TPC -BB (BigBench) Big Data Analytics Benchmarksae.ece.utexas.edu/img/ppts/TPCx-BBv1_10_14_2016_IEEE_SIGMICR… · Spark MLLIB Python 6,7,9,11,12,13,14,15,16,17,21,22,23,24 1,29

20

16

49

th A

nn

ual

IEEE

/AC

M -

MIC

RO

23

Links

23

• TPCx-BB Standard specification & Kit http://www.tpc.org/tpcx-bb/default.asp

• Public Kit: https://github.com/intel-hadoop/Big-Data-Benchmark-for-Big-Bench

• PAT: https://github.com/intel-hadoop/PAT