SAP BIA Architecture – Big Picture Why Graphic - HPDM 2008

12
ChristophWeyerhaeuser, Tobias Mindnich, Franz Färber SAP NW EIM TREX Exploiting Graphic Card Processor Technology to Accelerate Data Mining in SAP NetWeaver BIA © SAP 2007 / Page 1 © SAP 2007 / Page 1 Wolfgang Lehner TU Dresden Pisa, Italy, 2008-12-15 Outline SAP BIA Architecture – Big Picture Why Graphic Cards Scenario: Optimizing DBColScan Evaluation Summary and Conclusion Slide 2

Transcript of SAP BIA Architecture – Big Picture Why Graphic - HPDM 2008

Page 1: SAP BIA Architecture – Big Picture Why Graphic - HPDM 2008

Christoph Weyerhaeuser, Tobias Mindnich, Franz Färber

SAP NW EIM TREX

Exploiting Graphic Card

Processor Technology to

Accelerate Data Mining in SAP NetWeaver BIA

© SAP 2007 / Page 1© SAP 2007 / Page 1

SAP NW EIM TREX

Wolfgang Lehner

TU Dresden

Pisa, Italy, 2008-12-15

Outline

� SAP BIA Architecture – Big Picture

� Why Graphic Cards

� Scenario: Optimizing DBColScan

� Evaluation

� Summary and Conclusion

Slide 2

Page 2: SAP BIA Architecture – Big Picture Why Graphic - HPDM 2008

BI Accelerator Appliance Concept

BI OLAP EngineQuery &

Response

BI Accelerator answers BI queries against InfoCubes

in memory, joins and aggregates results in run time

© SAP 2008 / Page 3

SAP NetWeaver 2004s

Business Intelligence

IndexingInfoCubes

Business DataBusiness Data

BI Accelerator creates a BIA index for each selected

InfoCube in advance and stores it on BIA file server

BIA indexes are copied into memory either at startup

or when needed via dedicated gigabit/s connection

� Vertical Decomposition – TREX stores tables by column, not row

� Smart Compression – TREX uses dictionaries and integer coding

� Horizontal Partitioning – TREX partitions indexes for parallel lookup

Overview

Name server

controls TREX

servicesABAP client

ABAP

Index Server

Text Search

Engine

Text Mining

Engine

Attribute

Engine

Index Index Index

Preprocessor

Queue

Server

Name

ServerIndex

server

attribute

engine

performs

BI index

search

Indexes

are stored

on disk

Web

Server

Java

Client

ABAP

ClientGateway

RFC

Server

Page 3: SAP BIA Architecture – Big Picture Why Graphic - HPDM 2008

BI Accelerator Availability and Scalability

RFC

ServerRFC

Server

Master 1 is active, masters

2 and 3 are backups: each

master pings all masters to

check availability

Run as many blades as

required for current index

and query load

© SAP 2008 / Page 5

Name

Server

Master

3

Name

Server

Master

3

Index

Server

Backup

BIA

Engine

Index

Server

Master

Index

Server

Master

BIA

Engine

Index

Server

Cohort

Index

Server

Master

BIA

Engine

Index

Server

Cohort

Index

Server

Master

BIA

Engine

Name

Server

Master

1

BIA Storage

Index

Server

Cohort

For higher availability install one or more

extra blades and configure them to serve

as backups for the other blades

Motivation: Why Graphic Cards

Begin of “Desktop parallel computing age”

� GPUs are the first widespread parallel architecture

� Commodity hardware � GPUs are cheap (~ 500 €)

� GPUs are everywhere (desktop, notebook, PDA, cell phone)

Nvidia GeForce 8800 GTX� G80 GPU: Chip Core (1350 MHz)

� 16 Multiprocessors x 8 ALUs (Arithmetic and Logic Unit)

� 768 MB GDDR3 RAM (900 MHz)

� Memory Bus Width: 384 bit

� PCIe x16 Interface

� Acquisition Costs: ~ 500 €

Page 4: SAP BIA Architecture – Big Picture Why Graphic - HPDM 2008

Thread Model - Overview

. . .Multiprocessor 1 Multiprocessor 16

. . .ALU1 ALU8

8192 registers

128 ALUs

ALU1 ALU8ALU1 ALU8ALU1 ALU8

Warp size: 32

t

© SAP 2007 / Page 7

Thread Block

. . .max 512 threads

in parallel

Thread Block

. . .Thread Block

. . .in sequence

Thread Grid: max 65535 blocks

110ms

140ms

430ms50%

60%

70%

80%

90%

100%

scan v

ers

us p

rocess r

atio

Motivation by Example

Data Mining Query

� predict 20 values

1.54% 23.07% 100%

40ms

180ms

54ms0%

10%

20%

30%

40%

50%

1 2 3

Scan Process

Country=“Alabama” Country=“California” <no restriction>

scan v

ers

us p

rocess r

atio

• real SAP cust data

� 1,093,470,000 fact entries

� 80 parts distributed over 10 blades with 80 cores in total

Page 5: SAP BIA Architecture – Big Picture Why Graphic - HPDM 2008

ValueId Value

1 IBM

0000 0010

0000 0101

Dictionary

RowId ValueId

1 3

2 4

3 3

4 2

Attribute Table

Dictionary-based Compression Scheme

1 IBM

2 Microsoft

3 Google

4 Sun

5 Novell

… …

0000 0101

0000 …

0000 …

0000 0010 0000 0101 0000 … 0000 …

4 x 8-bit values can be

concatenated to one

32-bit integer

Int 1 Int 2 Int 3 Int 4

1 328 2416Bit #

4 2

5 3

6 1

7 3

8 2

9 2

10 5

… …

Basic Memory Scan – Memory Layout

42427~ 32766

063

Example: 15 bit

Input: vector of 64 bit values (concatenated 15 bit values)

Output: 32 bit integer

� Unrolled extraction loop to extract 64 values at once

� 15 x 64 bit input integer � 64 x 15 bit values

© SAP 2007 / Page 10

42427~ 32766

~ 314155114 128~

42427~ 3~

� Extracted values are compared (rangeFrom <= value < rangeTo)

� Index of hits (docids) are stored in ValueVector / BitVector

Page 6: SAP BIA Architecture – Big Picture Why Graphic - HPDM 2008

Value Extraction – 15bit case

�Rowid 1 � mask vector[0] with 0x7FFF

�Rowid 2 � shift vector[0] by 15 and mask with 0x7FFF

�Rowid 3 � shift vector[0] by 30 and mask with 0x7FFF

...

�Rowid 5 � shift vector[0] by 60; mask vector[1] with 0x7FF and shift by 4;

concatenate both by OR

...

0

© SAP 2007 / Page 11

42427~ 32766

~ 314155114 128~

42427~ 3~

063

0

1

2

3

Value Extraction – 15bit case

� 1st position

42427~ 32766

~ 314155114 128~

42427~ 3~

063

0

1

2

3

© SAP 2007 / Page 12

Mask (0x7FFF):

42427~ 32766

0000…………………………….0000 111…111

vector[0]:

42

42

Page 7: SAP BIA Architecture – Big Picture Why Graphic - HPDM 2008

Value Extraction – 15bit case

� 2nd position

42427~ 32766

~ 314155114 128~

42427~ 3~

063

0

1

2

3

42427~ 32766vector[0]:

© SAP 2007 / Page 13

Mask (0x7FFF):

42427~ 32766

0000…………………………….0000 111…111

vector[0]:

4

4

42700..00 32766Shift (>> 15):

Value Extraction – 15bit case

� 5th position

42427~ 32766

~ 314155114 128~

42427~ 3~

063

0

1

2

3

42427~ 32766vector[0]:

Mask (0x7FF):

42427~ 32766

0000………………………………...0000 1…111

vector[0]:

~ 12800..00Shift (>> 60):

~ 314155114 128~Vector[1]:

128 ~00..00Shift (<< 4): 00..00

Page 8: SAP BIA Architecture – Big Picture Why Graphic - HPDM 2008

Value Extraction – 15bit case

� 5th position – cont.

42427~ 32766

~ 314155114 128~

42427~ 3~

063

0

1

2

3

vector[0]: ~ 12800..00 (shifted)

© SAP 2007 / Page 15

vector[0]:

128

128

~ 12800..00

Vector[1]: 128 ~00..00

OR:

00..00

(shifted)

(shifted & masked)

Scan Configuration

Two directions of parameterization� The number of threads per block which alters the number of usable registers per thread

� the size of data blocks (k*32 bit with k being the coding parameter) per thread

Experimental Setup� 8-bit coding scheme

� 512MByte raw data� 512MByte raw data

Observation� � query runtimes do not show any

correlation with the

thread/block configuration.

© SAP 2007 / Page 16

Page 9: SAP BIA Architecture – Big Picture Why Graphic - HPDM 2008

Scan Configuration (cont.)

Two directions of parameterization� The number of threads per block which alters the number of usable registers per thread

� the size of data blocks (k*32 bit with k being the coding parameter) per thread

Experiments� thread factor values

1, 8, 16, 32, 64, and 1281, 8, 16, 32, 64, and 128

for different raw data sizes.

Observation� the more threads

(with smaller data sets),

the better the query runtime

� � surprising,

extremely light-weight

thread model

© SAP 2007 / Page 17

Overhead of non-aligned kernels

Runtime comparison of 8-bit and 15-bit scenario� Retrieve same number of values (same number of value extraction operations)

� � memory size varies

� Selectivity was 1/255 over uniformly distributed data set

Observation� query runtimes increase proportionally with the data volume� query runtimes increase proportionally with the data volume

� 15-bit case requires between 19%-56% more time by processing 187,5% data volume

© SAP 2007 / Page 18

Page 10: SAP BIA Architecture – Big Picture Why Graphic - HPDM 2008

Overhead per Filter Criterion

8bit 15bit

input lines

Bit-

Vector

(0/5 Hits)

Bit-

Vector

(1/5 Hits)

Bit-

Vector

(5/5 Hits)

Bit-

Vector

(0/5 Hits)

Bit-

Vector

(1/5 Hits)

Bit-

Vector

(5/5 Hits)

8.388.608 8,73 9,84 12,87 11,59 13,49 17,28

16.777.216 16,40 18,62 24,47 22,04 24,75 33,30

33.554.432 31,78 36,15 47,91 42,78 47,06 65,14

67.108.864 62,36 71,22 95,11 85,27 88,92 128,53

© SAP 2007 / Page 19

67.108.864 62,36 71,22 95,11 85,27 88,92 128,53

8bit 15bit

input lines

Bit-

Vector

(0/1 Hits)

Bit-

Vector

(1/1 Hits)

Bit-

Vector

(0/1 Hits)

Bit-

Vector

(1/1 Hits)

8.388.608 5,77 6,34 9,08 10,76

16.777.216 10,48 11,19 17,10 20,53

33.554.432 19,80 21,82 33,21 39,89

67.108.864 38,78 43,50 65,24 78,95

Overhead per Hit

8bit 15bit

input lines

Bit-

Vector

(0/5 Hits)

Bit-

Vector

(1/5 Hits)

Bit-

Vector

(5/5 Hits)

Bit-

Vector

(0/5 Hits)

Bit-

Vector

(1/5 Hits)

Bit-

Vector

(5/5 Hits)

8.388.608 8,73 9,84 12,87 11,59 13,49 17,28

16.777.216 16,40 18,62 24,47 22,04 24,75 33,30

33.554.432 31,78 36,15 47,91 42,78 47,06 65,14

67.108.864 62,36 71,22 95,11 85,27 88,92 128,53

© SAP 2007 / Page 20

67.108.864 62,36 71,22 95,11 85,27 88,92 128,53

8bit 15bit

input lines

Bit-

Vector

(0/1 Hits)

Bit-

Vector

(1/1 Hits)

Bit-

Vector

(0/1 Hits)

Bit-

Vector

(1/1 Hits)

8.388.608 5,77 6,34 9,08 10,76

16.777.216 10,48 11,19 17,10 20,53

33.554.432 19,80 21,82 33,21 39,89

67.108.864 38,78 43,50 65,24 78,95

Page 11: SAP BIA Architecture – Big Picture Why Graphic - HPDM 2008

GPU versus CPU

Comparison with� CPU (Intel Xeon X5355 with 2:67GHz and 1333 MHz Front Side Bus) used in productive SAP

NetWeaver BIA environments (Clovertown)

� Single core

� 4 cores (partitioned data set)

Data SetData Set� uniformly distributed with 255 distinct values (8bit coding scheme)

� point query on 33.554.432 Bytes comprising 134.217.728 different values

Comment� Dual-Xeon (2x4cores) does not yield any noticeable performance gain because of higher

communication costs between the CPUs

© SAP 2007 / Page 21

Data Transfer Mode

� Nvidia GeForce

� 8800 GTX graphics board with the G80 GPU (1350 MHz)

� PCIe x16 interface � 4GByte/s

� Pinned mode

� No swapping of memory

� Paged mode� Paged mode

� Might be swapped to disk

© SAP 2007 / Page 22

Transfer cost for 512MByte

Page 12: SAP BIA Architecture – Big Picture Why Graphic - HPDM 2008

Energy Consumption

Idle Full workload

Desktop 1 core 2 cores GPU GPU + 2 cores

CPU + Nvidia: 146 W 170 W 184 W 265 W 275 W

CPU + ATI: 70 W 91 W 105 W - -

Difference: 76 W 79 W 79 W - -

Nvidia: Nvidia GeForce 8800GTX, 768 MB, ASUS EN8800GTX/HTDP, actively chilled

ATI: ATI Radeon 7000, 64 MB, Sapphire, passively chilled

� Nvidia board doubles energy consumption: +76 W (from 70 W to 146 W)

� 1 core (full workload): +24 W (from 146 W to 170 W)

� 2 cores (full workload): +38 W (from 146 W to 184 W)

� GPU (full workload): +119 W (from 146 W to 265 W)

� GPU temperature increase from 62°C (idle) to 81°C (full workload)

System: Core 2 Duo (2.13 GHz), 2 GB RAM, 160 GB SATA HD

Summary

Pros� Performance improvement

� Extremely lightweight scheduling mechanism

� Moderate development effort by using CUDA API

� Hardware architecture of graphics board is well wrapped by CUDA

� Not necessary to learn a new programming language

+

- Cons� Not yet commodity HW (blades)

� High energy consumption

Conclusion� Hard to compete with full-scale exploitation of Intel SSE4.1 feature (CPU Xeon E5430 -

Harpertown)

© SAP 2007 / Page 24

-