+ All Categories
Home > Documents > Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath +...

Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath +...

Date post: 02-Apr-2015
Category:
Upload: trent-boley
View: 213 times
Download: 0 times
Share this document with a friend
24
Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath + *Intel Labs Pittsburgh + Microsoft Research
Transcript
Page 1: Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath + *Intel Labs Pittsburgh + Microsoft Research.

Rethinking Database Algorithms for Phase Change Memory

Shimin Chen* Phillip B. Gibbons* Suman Nath+

*Intel Labs Pittsburgh +Microsoft Research

Page 2: Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath + *Intel Labs Pittsburgh + Microsoft Research.

2

Introduction

• PCM is an emerging non-volatile memory technology– Samsung is producing a PCM chip for mobile handsets– Expected to become a common component in

memory/storage hierarchy

• Recent computer architecture and systems studies argue: – PCM will replace DRAM to be main memory

• PCM-DB project: exploiting PCM for database systems– This paper: algorithm design on PCM-based main memory

Rethinking Database Algorithms for Phase Change MemoryShimin Chen, Phillip B. Gibbons, Suman Nath

Page 3: Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath + *Intel Labs Pittsburgh + Microsoft Research.

3

Outline

• Phase Change Memory

• PCM-Friendly Algorithm Design

• B+-Tree Index

• Hash Joins

• Related Work

• Conclusion

Rethinking Database Algorithms for Phase Change MemoryShimin Chen, Phillip B. Gibbons, Suman Nath

Page 4: Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath + *Intel Labs Pittsburgh + Microsoft Research.

4

Phase Change Memory (PCM)

• Byte-addressable non-volatile memory

• Two states of phase change material:• Amorphous: high resistance, representing “0”• Crystalline: low resistance, representing “1”

• Operations:

Rethinking Database Algorithms for Phase Change MemoryShimin Chen, Phillip B. Gibbons, Suman Nath

Curr

ent

(Tem

pera

ture

)

Time

e.g., ~350⁰C“SET” to Crystalline

e.g., ~610⁰C“RESET” to Amorphous

READ

Page 5: Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath + *Intel Labs Pittsburgh + Microsoft Research.

5

Comparison of Technologies

DRAM PCM NAND FlashPage sizePage read latency Page write latencyWrite bandwidth

Erase latency

64B20-50ns20-50ns

GB/s ∼per die

N/A

64B 50ns∼ 1 µs∼

50-100 MB/s per die

N/A

4KB 25 µs∼

500 µs∼5-40 MB/s

per die 2 ms∼

Endurance ∞ 106 − 108 104 − 105

Read energyWrite energyIdle power

0.8 J/GB1.2 J/GB

100 mW/GB∼

1 J/GB6 J/GB

1 mW/GB∼

1.5 J/GB [28]17.5 J/GB [28]1–10 mW/GB

Density 1× 2 − 4× 4×

Rethinking Database Algorithms for Phase Change MemoryShimin Chen, Phillip B. Gibbons, Suman Nath

• Compared to NAND Flash, PCM is byte-addressable, has orders of magnitude lower latency and higher endurance.

Sources: [Doller’09] [Lee et al. ’09] [Qureshi et al.’09]

Page 6: Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath + *Intel Labs Pittsburgh + Microsoft Research.

6

Comparison of Technologies

DRAM PCM NAND FlashPage sizePage read latency Page write latencyWrite bandwidth

Erase latency

64B20-50ns20-50ns

GB/s ∼per die

N/A

64B 50ns∼ 1 µs∼

50-100 MB/s per die

N/A

4KB 25 µs∼

500 µs∼5-40 MB/s

per die 2 ms∼

Endurance ∞ 106 − 108 104 − 105

Read energyWrite energyIdle power

0.8 J/GB1.2 J/GB

100 mW/GB∼

1 J/GB6 J/GB

1 mW/GB∼

1.5 J/GB [28]17.5 J/GB [28]1–10 mW/GB

Density 1× 2 − 4× 4×

Rethinking Database Algorithms for Phase Change MemoryShimin Chen, Phillip B. Gibbons, Suman Nath

• Compared to DRAM, PCM has better density and scalability; PCM has similar read latency but longer write latency

Sources: [Doller’09] [Lee et al. ’09] [Qureshi et al.’09]

Page 7: Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath + *Intel Labs Pittsburgh + Microsoft Research.

7

Relative Latencies:

Rethinking Database Algorithms for Phase Change MemoryShimin Chen, Phillip B. Gibbons, Suman Nath

10ns 100ns 1us 10us 100us 1ms 10ms

NAN

D F

lash

PCM

DRA

M

Har

d D

isk

NAN

D F

lash

PCM

DRA

M

Har

d D

isk

Read

Write

Page 8: Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath + *Intel Labs Pittsburgh + Microsoft Research.

8

PCM-Based Main Memory Organizations

• PCM is a promising candidate for main memory– Recent computer architecture and systems studies

• Three alternative proposals:

Rethinking Database Algorithms for Phase Change MemoryShimin Chen, Phillip B. Gibbons, Suman Nath

For algorithm analysis, we focus on PCM main memory, and view optional DRAM as another (transparent/explicit) cache

[Condit et al’09] [Lee et al. ’09] [Qureshi et al.’09]

Page 9: Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath + *Intel Labs Pittsburgh + Microsoft Research.

9

Challenge: PCM Writes

• Limited endurance– Wear out quickly for hot spots

• High energy consumption– 6-10X more energy than a read

• High latency & low bandwidth– SET/RESET time > READ time– PCM chip has limited instantaneous electric current level,

requires multiple rounds of writes

Write operation and hardware optimization

Rethinking Database Algorithms for Phase Change MemoryShimin Chen, Phillip B. Gibbons, Suman Nath

PCMPage sizePage read latency Page write latencyWrite bandwidth

Erase latency

64B 50ns∼ 1 µs∼

50-100 MB/s per die

N/AEndurance 106 − 108

Read energyWrite energyIdle power

1 J/GB6 J/GB

1 mW/GB∼

Density 2 − 4×

Page 10: Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath + *Intel Labs Pittsburgh + Microsoft Research.

10

0 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0

PCM Write Operation

Rethinking Database Algorithms for Phase Change MemoryShimin Chen, Phillip B. Gibbons, Suman Nath

0 1 0 1 1 0 0 1 0 1 1 0 0 0 0 1

0 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0

PCM0 1 0 1 1 0 0 1 0 1 1 0 0 0 0 10 0 0 0 1

[Cho&Lee’09] [Lee et al. ’09] [Yang et al’07] [Zhou et al’09]

Cache lineRounds

highlighted w/ different colors

• Baseline: several rounds of writes for a cache line– Which bits in which rounds are hard wired

• Optimization: data comparison write– Goal: write only modified bits rather than entire cache line– Approach: read-compare-write

• Skipping rounds with no modified bits

Page 11: Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath + *Intel Labs Pittsburgh + Microsoft Research.

11

Outline

• Phase Change Memory

• PCM-Friendly Algorithm Design

• B+-Tree Index

• Hash Joins

• Related Work

• Conclusion

Rethinking Database Algorithms for Phase Change MemoryShimin Chen, Phillip B. Gibbons, Suman Nath

Page 12: Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath + *Intel Labs Pittsburgh + Microsoft Research.

12

Algorithm Design Goals

• Algorithm design in main memory

• Prior design goals:– Low computation complexity– Good CPU cache performance– Power efficiency (more recently)

• New goal: minimizing PCM writes– Improve endurance, save energy, reduce latency– Unlike flash, PCM word granularity

Rethinking Database Algorithms for Phase Change MemoryShimin Chen, Phillip B. Gibbons, Suman Nath

Page 13: Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath + *Intel Labs Pittsburgh + Microsoft Research.

13

PCM Metrics

• Algorithm parameters:– : cache misses (i.e. cache line fetches)– : cache line write backs– : words modified

•We propose three analytical metrics– Total Wear (for Endurance)– Energy– Total PCM Access Latency

Rethinking Database Algorithms for Phase Change MemoryShimin Chen, Phillip B. Gibbons, Suman Nath

lN

lwN

wNPCM

lN lwN

wN

Page 14: Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath + *Intel Labs Pittsburgh + Microsoft Research.

14

B+-Tree Index

• Cache-friendly B+-Tree:– Node size: one or a few cache lines large

• Problem: insertion/deletion in sorted nodes– Incurs many writes!

Rethinking Database Algorithms for Phase Change MemoryShimin Chen, Phillip B. Gibbons, Suman Nath

5 2 4 7 8 9

keysnum

pointers

[Rao&Ross’00] [Chen et al’01] [Hankins et al. ’03]

Insert/delete

Page 15: Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath + *Intel Labs Pittsburgh + Microsoft Research.

15

Our Proposal: Unsorted Nodes

• Unsorted node

• Unsorted node with bitmap

• Unsorted leaf nodes, but sorted non-leaf nodes

Rethinking Database Algorithms for Phase Change MemoryShimin Chen, Phillip B. Gibbons, Suman Nath

5 8 2 9 4 7

keysnum

pointers

1011

1010 8 2 9 4 7

keysbitmap

pointers

Page 16: Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath + *Intel Labs Pittsburgh + Microsoft Research.

16

Simulation Platform

• Cycle-accurate out-of-order X86-64 simulator: PTLSim

• Extended the simulator with PCM support

• Parameters based on computer architecture papers– Sensitivity analysis for the parameters

Rethinking Database Algorithms for Phase Change MemoryShimin Chen, Phillip B. Gibbons, Suman Nath

PTLS

im

PCMPCMPCMPCM

Data Comparison Writes

Details of Write Backs in Memory Controller

Page 17: Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath + *Intel Labs Pittsburgh + Microsoft Research.

17

B+-Tree Index

Rethinking Database Algorithms for Phase Change MemoryShimin Chen, Phillip B. Gibbons, Suman Nath

insert delete search0E+0

1E+9

2E+9

3E+9

4E+9

5E+9

cycl

es

insert delete search0E+0

1E+8

2E+8

3E+8

num

bit

s m

odifi

ed

insert delete search0

2

4

6

8

10

12

14

16

energ

y (

mJ)

Node size 8 cache lines; 50 million entries, 75% full; Three workloads:• Inserting 500K random keys • deleting 500K random keys• searching 500K random keys

Unsorted leaf schemes achieve the best performance• For insert intensive: unsorted-leaf• For insert & delete intensive: unsorted-leaf with bitmap

Total wear Energy Execution time

Page 18: Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath + *Intel Labs Pittsburgh + Microsoft Research.

18

Simple Hash Join

• Build hash table on smaller (build) relation

• Probe hash table using larger (probe) relation

• Problem: too many cache misses– Build + hash table >> CPU cache– Record size is small

Rethinking Database Algorithms for Phase Change MemoryShimin Chen, Phillip B. Gibbons, Suman Nath

Build Relation

Probe Relation

Hash Table

Page 19: Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath + *Intel Labs Pittsburgh + Microsoft Research.

19

Cache Partitioning

• Partition both tables into cache-sized partitions

• Join each pair of partitions

• Problem: too many writes in partition phase!

Rethinking Database Algorithms for Phase Change MemoryShimin Chen, Phillip B. Gibbons, Suman Nath

[Shatdal et al.’94] [Boncz et al.’99] [Chen et al. ’04]

Page 20: Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath + *Intel Labs Pittsburgh + Microsoft Research.

20

Our Proposal: Virtual Partitioning

• Virtual partitioning:

• Join a pair of virtual partitions:

• Preserve good CPU cache performance while reducing writes

Rethinking Database Algorithms for Phase Change MemoryShimin Chen, Phillip B. Gibbons, Suman Nath

Com

pres

sed

Reco

rd ID

List

s

Build Relation

Probe Relation

Hash Table

Page 21: Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath + *Intel Labs Pittsburgh + Microsoft Research.

21

Hash Joins

Rethinking Database Algorithms for Phase Change MemoryShimin Chen, Phillip B. Gibbons, Suman Nath

20B 40B 60B 80B 100B0E+0

2E+9

4E+9

6E+9

8E+9

1E+10

record size

cycl

es

20B 40B 60B 80B 100B1E+6

1E+7

1E+8

1E+9

record size

num

bit

s m

odifi

ed

(log s

cale

)

20B 40B 60B 80B 100B0

10

20

30

40

record size

energ

y (

mJ)

50MB joins 100MB; varying record size from 20B to 100B.

Virtual partitioning achieves the best performance

Interestingly, cache partitioning is the worst in many cases

Total wear Energy Execution time

Page 22: Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath + *Intel Labs Pittsburgh + Microsoft Research.

22

Related Work

• PCM Architecture– Hardware design issues: endurance, write latency, error

correction, etc.– Our focus: PCM friendly algorithm design

• Byte-Addressable NVM-Based File Systems

• Battery-Backed DRAM

•Main Memory Database Systems & Cache Friendly Algorithms

Rethinking Database Algorithms for Phase Change MemoryShimin Chen, Phillip B. Gibbons, Suman Nath

Not considering read/write

asymmetry of PCM

Page 23: Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath + *Intel Labs Pittsburgh + Microsoft Research.

23

Conclusion

• PCM is a promising non-volatile memory technology– Expected to replace DRAM to be future main memory

• Algorithm design on PCM-based main memory– New goal: minimize PCM writes– Three analytical metrics– PCM-friendly B+-tree and hash joins

• Experimental results show significant improvements

Rethinking Database Algorithms for Phase Change MemoryShimin Chen, Phillip B. Gibbons, Suman Nath

Page 24: Rethinking Database Algorithms for Phase Change Memory Shimin Chen* Phillip B. Gibbons* Suman Nath + *Intel Labs Pittsburgh + Microsoft Research.

24Rethinking Database Algorithms for Phase Change MemoryShimin Chen, Phillip B. Gibbons, Suman Nath

Thank you!

[email protected]


Recommended