+ All Categories
Home > Documents > Breaking the Memory Wall in MonetDB

Breaking the Memory Wall in MonetDB

Date post: 10-Feb-2016
Category:
Upload: bluma
View: 84 times
Download: 1 times
Share this document with a friend
Description:
Breaking the Memory Wall in MonetDB. Presented By Janhavi Digraskar. Growing disparity of speed between CPU and memory outside CPU chip 20-40 % of instructions in a program reference memory It is a performance bottleneck to access main memory. Memory Wall. - PowerPoint PPT Presentation
22
Breakin g the Memory Wall in MonetDB Presented By Janhavi Digraskar CSE 704 1
Transcript
Page 1: Breaking the Memory Wall in MonetDB

CSE 704 1

Breaking the Memory Wall in MonetDBPresented By Janhavi Digraskar

Page 2: Breaking the Memory Wall in MonetDB

CSE 704 2

Memory Wall

• Growing disparity of speed between CPU and memory outside CPU chip

• 20-40 % of instructions in a program reference memory

• It is a performance bottleneck to access main memory

Page 3: Breaking the Memory Wall in MonetDB

CSE 704 3

Want to break the Memory Wall?• Average time to access memory can be

written as:tavg=p x tc + (1-p) x tm

where p = probability of a cache hit tc = time to access cache tm = DRAM access time

• To reduce tavg, increase p (or reduce tc)• Exploit cache

Page 4: Breaking the Memory Wall in MonetDB

CSE 704 4

Exploit the power of cache by :• Vertical Storage• Bulk query Algebra• Cache conscious algorithms• Memory Access cost modeling

Page 5: Breaking the Memory Wall in MonetDB

CSE 704 5

MonetDB • 1994 - Now• Open source Column Store• Has been successfully applied in high-

performance applications for data mining, OLAP, GIS, XML Query, text and multimedia retrieval.

Page 6: Breaking the Memory Wall in MonetDB

CSE 704 6

MonetDB Architecture

Page 7: Breaking the Memory Wall in MonetDB

CSE 704 7

Exploit the power of cache by :

• Vertical Storage• Bulk query Algebra• Cache conscious algorithms• Memory Access cost modeling

Page 8: Breaking the Memory Wall in MonetDB

CSE 704 8

MonetDB- Vertical storageID Day Discount

10 4/4/98 0.19511 9/4/98 0.06512 1/2/98 0.17513 7/2/98 0

OID ID100 10101 11102 12103 13104 14

OID Day100 4/4/98101 9/4/98102 1/2/98103 7/2/98104 1/2/99

OID Discount100 0.195101 0.065102 0.175103 0104 0.065

Page 9: Breaking the Memory Wall in MonetDB

CSE 704 9

MonetDB-Vertical Storage

• Uses Decomposed Storage Model (DSM)• Each column stored in a separate Binary

Association Table (BAT)• BAT <surrogate,value>• <head, tail>• Two simple memory arrays • Internally, columns are stored using memory-

mapped files• Provides O(1) database lookup mechanism

Page 10: Breaking the Memory Wall in MonetDB

CSE 704 10

Exploit the power of cache by :• Vertical Storage• Bulk query Algebra• Cache conscious algorithms• Memory Access cost modeling

Page 11: Breaking the Memory Wall in MonetDB

CSE 704 11

Bulk Query Algebra• Low-level algebra called BAT Algebra• Breaks complex expressions into a

sequence of BAT algebra operators• Implementing these operations are

simple array operations• No need of Expression Interpreting

engine

Page 12: Breaking the Memory Wall in MonetDB

CSE 704 12

Example• BAT algebra expression

R:bat[:oid, :oid]:=select(B:bat[:oid,:int], V:int)

• C code implementing the above expression

for (i = j = 0; i <n; i++) if (B.tail[i] == V)

R.tail[j++] = i;

Page 13: Breaking the Memory Wall in MonetDB

CSE 704 13

MonetDB Vertical Storage• Advantage:

– For loop creates high instruction locality and thus eliminates the cache miss problem

• Disadvantage:– Materialize intermediate results

Page 14: Breaking the Memory Wall in MonetDB

CSE 704 14

Exploit the power of cache by :• Vertical Storage• Bulk query Algebra• Cache conscious algorithms• Memory Access cost modeling

Page 15: Breaking the Memory Wall in MonetDB

CSE 704 15

MonetDB- Cache concious algorithms• Partitioned Hash Join

– Relations partitioned into H separate clusters– Each cluster fits in L2 memory cache

• ProblemNumber of clusters (H) exceeds the number of

- TLB entries TLB thrashing- Cache lines Cache thrashing

• Solution-Multi-pass radix cluster

Page 16: Breaking the Memory Wall in MonetDB

CSE 704 16

Multipass radix cluster• Multiple clustering passes• Limit the number of clusters per pass• Avoids TLB/Cache thrashing

Page 17: Breaking the Memory Wall in MonetDB

CSE 704 17

Exploit the power of cache by :• Vertical Storage• Bulk query Algebra• Cache conscious algorithms• Memory Access cost modeling

Page 18: Breaking the Memory Wall in MonetDB

CSE 704 18

Memory Access cost modeling• Cost models are created that take the

cost of memory access into account• Main goal is to predict the number and

kind of cache misses for all cache levels.• Complex data access patterns of

database algorithms are studied.

Page 19: Breaking the Memory Wall in MonetDB

CSE 704 19

Basic Access Patterns• Single sequential traversal s_trav(R)• Single random traversal r_trav(R)• Repetitive sequential traversal

rs_trav(r,d,R)• Repetitive random traversal rr_trav(r,d,R)

R= region representing a database table

Page 20: Breaking the Memory Wall in MonetDB

CSE 704 20

Compound Access Patterns• Database operations accessing more

than one data region• Can be created by combining basic

access patterns• Basic access pattern can be combined

either– Sequentially– ConcurrentlyExample: s_trav(U) s_trav(W) for W<-

select(U)

Page 21: Breaking the Memory Wall in MonetDB

CSE 704 21

Sequential Execution• Total number of cache misses is at most

the sum of the cache misses of all patterns

• However if the data region for patterns is same, cache miss can be saved

Concurrent Execution• Patterns are competing for the same

cache• Considering this, total number of cache

misses are calculated

Page 22: Breaking the Memory Wall in MonetDB

CSE 704 22

Conclusion• MonetDB has redefined database

architecture in the face of an ever-changing computer architecture

• Principle of Vertical storage is currently being adopted by many commercial systems

• HBase, C-Store, Apache Cassandra are some of the other column stores


Recommended