navigating big data - university of pittsburghchang/231/y13/seminar/mao.pdf · big data on little...

71
NAVIGATING BIG DATA with High-Throughput, Energy- Efficient Data Partitioning Lisa Wu, R.J. Barker, Martha Kim, and Ken Ross Columbia University Presentor Mengjie Mao

Upload: others

Post on 11-Jun-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

NAVIGATING BIG DATAwith High-Throughput, Energy-

Efficient Data PartitioningLisa Wu, R.J. Barker, Martha Kim, and Ken Ross

Columbia University

Presentor Mengjie Mao

Page 2: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

1

JOINs = Cross Reference

Page 3: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

SALES

WEATHER

1

JOINs = Cross Reference

Page 4: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

SALES

WEATHER

JOINDATE

1

JOINs = Cross Reference

Page 5: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

SALES

WEATHER

JOINDATE(SALES, WEATHER)

JOINDATE

1

JOINs = Cross Reference

Page 6: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

0%

25%

50%

75%

100%

17 9 11 5 7 8 22 1 2 12 21 18 19 10 15 3 20 4 16 14 13 6 Avg.

Run

time

in Jo

in

TPC-H Query

JOINs = 47% TPC-H Execution Time

2

Page 7: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

3

Naïve JOINs of BIG DATA Thrash the Cache

SALESWEATHER

Page 8: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

Scan

3

Naïve JOINs of BIG DATA Thrash the Cache

SALESWEATHER

Page 9: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

Scan

RandomLookup

3

Naïve JOINs of BIG DATA Thrash the Cache

SALESWEATHER

Page 10: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

Scan

RandomLookup

Small table doesn’t fit into cache ➛ lookups thrash

3

Naïve JOINs of BIG DATA Thrash the Cache

SALESWEATHER

Page 11: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

Partitioned JOINSALES

WEATHER

4

Page 12: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

Partitioned JOINSALES

WEATHER

SALES_0

SALES_1

SALES_2

SALES_3

4

Page 13: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

Partitioned JOINSALES

WEATHER

SALES_0

SALES_1

SALES_2

WEATHER_1

WEATHER_2

WEATHER_3

SALES_3

4

WEATHER_0

Page 14: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

Partitioned JOINSALES

WEATHER

SALES_0

SALES_1

SALES_2

WEATHER_1

WEATHER_2

WEATHER_3

SALES_3

4

WEATHER_0

DATE SALES_0 WEATHER_0

Page 15: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

Partitioned JOINSALES

WEATHER

SALES_0

SALES_1

SALES_2

WEATHER_1

WEATHER_2

WEATHER_3

SALES_3

DATE SALES_1 WEATHER_1

DATE SALES_2 WEATHER_2

DATE SALES_3 WEATHER_3

4

WEATHER_0

DATE SALES_0 WEATHER_0

Page 16: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

JOIN Runtime

time

NaiveJoin

PartitionedJoin

5

Page 17: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

JOIN Runtime

time

NaiveJoin

PartitionedJoin

5

Page 18: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

JOIN Runtime

time

NaiveJoin

PartitionedJoin

PartitionSALES

PartitionWEATHER

5

Page 19: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

JOIN Runtime

time

NaiveJoin

PartitionedJoin

PartitionSALES

PartitionWEATHER

0 1 2 3Join

5

Page 20: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

JOIN Runtime

time

NaiveJoin

PartitionedJoin

PartitionSALES

PartitionWEATHER

0 1 2 3Join

5

Partition ≈ 50% of State-of-the-Art

Joins

Page 21: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

JOIN Runtime

time

NaiveJoin

PartitionedJoin

PartitionSALES

PartitionWEATHER

0 1 2 3Join

5

Partition ≈ 50% of State-of-the-Art

JoinsAggregate

Page 22: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

JOIN Runtime

time

NaiveJoin

PartitionedJoin

PartitionSALES

PartitionWEATHER

0 1 2 3Join

5

Partition ≈ 50% of State-of-the-Art

JoinsAggregate

Sort

Page 23: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

6

Data Partitioning is...

Page 24: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

• broadly applicable in the database domain

• partitioned-operations reduce I/O cost,increase parallel processing, and reduceshipping costs

6

Data Partitioning is...

Page 25: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

• broadly applicable in the database domain

• partitioned-operations reduce I/O cost,increase parallel processing, and reduceshipping costs

• widely used by commercial databases

• Oracle 11g, IBM DB2, Microsoft SQL Server

6

Data Partitioning is...

Page 26: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

• broadly applicable in the database domain

• partitioned-operations reduce I/O cost,increase parallel processing, and reduceshipping costs

• widely used by commercial databases

• Oracle 11g, IBM DB2, Microsoft SQL Server

• applicable in the non-database domain

• divide-and-conquer, map-reduce

6

Data Partitioning is...

Page 27: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

0

7.5

15

22.5

30

0 150 300 450 600

Part

ition

ing T

hrou

ghpu

t (G

B/s)

Number of Partitions

SW Partitioning Performance

1 thread16 threadsPotential System Memory Throughput

7

25.6 GB/s

Page 28: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

0

7.5

15

22.5

30

0 150 300 450 600

Part

ition

ing T

hrou

ghpu

t (G

B/s)

Number of Partitions

SW Partitioning Performance

1 thread16 threadsPotential System Memory Throughput

7

25.6 GB/s

3 GB/s

Page 29: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

Research Overview

SBin

SBout

HARPCore

L1

Memory Controller

Memory

SBin

SBout

HARPCore

L1

L2 L2

8

New Modules

Page 30: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

Research Overview

SBin

SBout

HARPCore

L1

Memory Controller

Memory

SBin

SBout

HARPCore

L1

L2 L2

8

New Modules

Hardware accelerated range partitioner (HARP):7.8X more performance @ 7.5X less energy

Page 31: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

Research Overview

SBin

SBout

HARPCore

L1

Memory Controller

Memory

SBin

SBout

HARPCore

L1

L2 L2

8

New Modules

Streaming framework: Can keep up with the throughput of HARP

Hardware accelerated range partitioner (HARP):7.8X more performance @ 7.5X less energy

Page 32: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

Remainder of the Talk

SBin

SBout

HARPCore

L1

Memory Controller

Memory

SBin

SBout

HARPCore

L1

L2 L2

8

New Modules

• Brief System Overview

• HARP UArch

•HARP and StreamingFramework Evaluation•Other works acclerating big data processing

Page 33: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

HARP System Architecture

9

SBin

SBout

HARPCore

L1

Memory Controller

Memory

SBin

SBout

HARPCore

L1

L2 L2

Page 34: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

HARP System Architecture

9

SBin

SBout

HARPCore

L1

Memory Controller

Memory

SBin

SBout

HARPCore

L1

L2 L2

HARP communicates to/from memory through stream

buffers: SBin, SBout

Page 35: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

HARP System Architecture

9

SBin

SBout

HARPCore

L1

Memory Controller

Memory

SBin

SBout

HARPCore

L1

L2 L2

HW Partitioning with SW configuration

HARP communicates to/from memory through stream

buffers: SBin, SBout

Page 36: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

X Y Z158272052291631

Range Partition

10

Page 37: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

X Y Z158272052291631

Range Partitionkey

10

Page 38: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

X Y Z158272052291631

Range Partitionkey

10

20

30

splitters

10

Page 39: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

X Y Z158272052291631

Range Partitionkey

10

20

30

splitters

8

partitions<=

>

10

Page 40: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

X Y Z158272052291631

Range Partitionkey

10

20

30

splitters

8

partitions<=

>1520

16

2729

5231

<=

<=

>

>

10

Page 41: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

From

SBin

To SBout

HARP Microarchitecture

11

HARP ISA

set_splitterpartition_startpartition_stop

Page 42: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

From

SBin

To SBout

HARP Microarchitecture

11

<

=

<

=

<

=

Serializer1 Conveyor2

Merge3

WE WE WE WE

HARP ISA

set_splitterpartition_startpartition_stop

Page 43: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

Step 1: HARP Configuration

11

From

SBin

To SBout

<

=

<

=

<

=

Serializer1 Conveyor2

Merge3

WE WE WE WE

HARP ISA

partition_startpartition_stop

set_splitter

Page 44: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

Step 1: HARP Configuration

11

From

SBin

To SBout

<

=

<

=

<

=

Serializer1 Conveyor2

Merge3

WE WE WE WE

10 20 30

HARP ISA

set_splitterpartition_startpartition_stop

Page 45: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

Step 2: Signal HARP to Start Processing

11

From

SBin

To SBout

<

=

<

=

<

=

Serializer1 Conveyor2

Merge3

WE WE WE WE

10 20 30

HARP ISA

partition_stop

set_splitterpartition_start

Page 46: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

Step 2: Signal HARP to Start Processing

11

From

SBin

To SBout

<

=

<

=

<

=

Serializer1 Conveyor2

Merge3

WE WE WE WE

10 20 30

HARP ISA

partition_startpartition_stop

set_splitter

Page 47: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

From

SBin

To SBout

<

=

<

=

<

=

Serializer1 Conveyor2

Merge3

WE WE WE WE

Step 3: Serialize SBin Cachelines into Records

11

10 20 30

HARP ISA

set_splitterpartition_startpartition_stop

Page 48: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

From

SBin

To SBout

<

=

<

=

<

=

Serializer1 Conveyor2

Merge3

WE WE WE WE

Step 3: Serialize SBin Cachelines into Records

11

10 20 30

HARP ISA

set_splitterpartition_startpartition_stop

Page 49: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

From

SBin

To SBout

<

=

<

=

<

=

Serializer1 Conveyor2

Merge3

WE WE WE WE

Step 4: Comparator Conveyor

11

10 20 30

HARP ISA

set_splitterpartition_startpartition_stop

Page 50: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

From

SBin

To SBout

<

=

<

=

<

=

Serializer1 Conveyor2

Merge3

WE WE WE WE

Step 4: Comparator Conveyor

15 15 15, part2

11

10 20 30

HARP ISA

set_splitterpartition_startpartition_stop

Page 51: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

From

SBin

To SBout

<

=

<

=

<

=

Serializer1 Conveyor2

Merge3

WE WE WE WE

Step 5: Merge Output Records to SBout

11

10 20 30

HARP ISA

set_splitterpartition_startpartition_stop

Page 52: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

From

SBin

To SBout

<

=

<

=

<

=

Serializer1 Conveyor2

Merge3

WE WE WE WE

Step 5: Merge Output Records to SBout

11

10 20 30

HARP ISA

set_splitterpartition_startpartition_stop

Page 53: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

From

SBin

To SBout

<

=

<

=

<

=

Serializer1 Conveyor2

Merge3

WE WE WE WE

Step 6: Drain In-Flight Records and Signal HARP to Stop Processing

11

10 20 30

HARP ISA

set_splitterpartition_startpartition_stop

Page 54: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

From

SBin

To SBout

<

=

<

=

<

=

Serializer1 Conveyor2

Merge3

WE WE WE WE

Step 6: Drain In-Flight Records and Signal HARP to Stop Processing

11

10 20 30

HARP ISA

set_splitterpartition_startpartition_stop

Page 55: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

Streaming Framework Architecture

12

SBin

SBout

HARPCore

L1

Memory Controller

Memory

SBin

SBout

HARPCore

L1

L2 L2

Inspired by Jouppi’s workImproving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffers. In ISCA, 1990.

Page 56: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

Streaming Framework Architecture

12

SBin

SBout

HARPCore

L1

Memory Controller

Memory

SBin

SBout

HARPCore

L1

L2 L2

Software-controlled data streaming in/out

Inspired by Jouppi’s workImproving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffers. In ISCA, 1990.

Page 57: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

Evaluation Methodology

13

Page 58: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

Evaluation Methodology• HARP

• Bluespec System Verilog implementation

• Cycle-accurate simulation in BlueSim

• Synthesis, P&R with Synopsys (32nm std cells)

13

Page 59: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

Evaluation Methodology• HARP

• Bluespec System Verilog implementation

• Cycle-accurate simulation in BlueSim

• Synthesis, P&R with Synopsys (32nm std cells)

• Streaming framework

• 3 versions of 1GB table memcpy: c-lib, ASM(scalar), ASM(vector)

• Conservative area/power estimates with CACTI

13

Page 60: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

Area and Power Overheads

0%

4%

8%

11%

15%

15 31 63 127 255 511Are

a (%

Xeo

n co

re)

HARP Stream Buffers

Number of Partitions

14

Page 61: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

Area and Power Overheads

0%

4%

8%

11%

15%

15 31 63 127 255 511Are

a (%

Xeo

n co

re)

HARP Stream Buffers

0%

2%

4%

6%

8%

10%

15 31 63 127 255 511Pow

er (%

Xeo

n co

re)

Number of Partitions

14

Page 62: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

SW Partitioning Performance

15

0

2

4

6

8

0 150 300 450 600

Part

ition

ing T

hrou

ghpu

t (G

B/s)

Number of Partitions

1 thread16 threads

Page 63: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

0

2

4

6

8

0 150 300 450 600

Part

ition

ing T

hrou

ghpu

t (G

B/s)

Number of Partitions

Performance Evaluation

1 thread16 threads1 thread + HARP

15

Page 64: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

0

2

4

6

8

0 150 300 450 600

Part

ition

ing T

hrou

ghpu

t (G

B/s)

Number of Partitions

Performance Evaluation

1 thread16 threads1 thread + HARP

15

7.8x

Page 65: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

0

2

4

6

8

0 150 300 450 600

Part

ition

ing T

hrou

ghpu

t (G

B/s)

Number of Partitions

Performance Evaluation

1 thread16 threads1 thread + HARP

15

7.8x8.8x

Page 66: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

HARP Energy vs. SW

0

5

10

15

20

0 150 300 450 600

Part

ition

ing

Ener

gy (

J/GB)

Number of Partitions

1 thread16 threads1 thread + HARP

16

Page 67: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

HARP Energy vs. SW

0

5

10

15

20

0 150 300 450 600

Part

ition

ing

Ener

gy (

J/GB)

Number of Partitions

1 thread16 threads1 thread + HARP

6.3x

16

Page 68: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

HARP Energy vs. SW

0

5

10

15

20

0 150 300 450 600

Part

ition

ing

Ener

gy (

J/GB)

Number of Partitions

1 thread16 threads1 thread + HARP

6.3x7.3x

16

Page 69: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

Big data on little clients• LINQits

• A fexible hardware template that can be mappedonto programmable logic or ASICs

• Accelerates a domain-specic query language calledLINQ

• Offers a graceful and transparent migration pathfrom software to hardware

• Improves energy efficiency by 8.9 to 30.6 timesand performance by 10.7 to 38.1 times comparedto optimized, multithreaded C programsrunning on conventional ARM A9 processors.

17

Page 70: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

ReferenceNavigatinNavigating Big Data with High-Throughput, Energy-Efficient Data Partitioning, L. Wu, R. J. Barker, M. A. Kim, K. A. Ross, In Proceedings of The 40th International Symposium on Computer Architecture (ISCA), 2013.

• LINQits: Big Data on Little Clients, Eric S. Chung, John D. Davis, and Jaewon Lee, In Proceedings of The 40th International Symposium on Computer Architecture (ISCA), 2013.

18

Page 71: NAVIGATING BIG DATA - University of Pittsburghchang/231/y13/seminar/mao.pdf · Big data on little clients •LINQits •A fexible hardware template that can be mapped onto programmable

FIN

19