navigating big data - university of pittsburghchang/231/y13/seminar/mao.pdf · big data on little...
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/1.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/2.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/3.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/4.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/5.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/6.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/7.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/8.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/9.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/10.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/11.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/12.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/13.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/14.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/15.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/16.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/17.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/18.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/19.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/20.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/21.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/22.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/23.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/24.jpg)
• 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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/25.jpg)
• 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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/26.jpg)
• 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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/27.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/28.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/29.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/30.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/31.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/32.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/33.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/34.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/35.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/36.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/37.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/38.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/39.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/40.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/41.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/42.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/43.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/44.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/45.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/46.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/47.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/48.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/49.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/50.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/51.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/52.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/53.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/54.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/55.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/56.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/57.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/58.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/59.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/60.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/61.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/62.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/63.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/64.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/65.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/66.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/67.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/68.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/69.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/70.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022081611/5f0517967e708231d4113914/html5/thumbnails/71.jpg)
FIN
19