@ andy_pavlo

26
@andy_pavl o OLTP on the NVM SDV: YMMV

Upload: gloria-sweet

Post on 31-Dec-2015

37 views

Category:

Documents


4 download

DESCRIPTION

OLTP on the NVM SDV: YMMV. @ andy_pavlo. 2013. Job Interviews. Moved to CMU. January Retreat. Thesis Defense. December Retreat. 2013. Job Interviews. Moved to CMU. ?. January Retreat. Thesis Defense. December Retreat. Prison Life. GOOD. EVIL. Washing Dishes - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: @ andy_pavlo

@andy_pavlo

OLTP on the NVM SDV:

YMMV

Page 2: @ andy_pavlo

2013

JanuaryRetreat

ThesisDefense

DecemberRetreat

JobInterviews

Moved toCMU

Page 3: @ andy_pavlo

2013

JanuaryRetreat

ThesisDefense

DecemberRetreat

JobInterviews

Moved toCMU?

Page 4: @ andy_pavlo
Page 5: @ andy_pavlo
Page 6: @ andy_pavlo
Page 7: @ andy_pavlo
Page 8: @ andy_pavlo

8

Prison Life

Washing Dishes

Not FightingRepentant

Cafeteria Thievery

ShankingsMaking Pruno

GOOD

EVIL

Page 9: @ andy_pavlo

9

NVM OLTP

Lightweight CCLogical Logging

Snapshots

Heavyweight CC

ARIES LoggingMaking Pruno

DRAM

SSD/HDD

Page 10: @ andy_pavlo

10

Project Overview• Understand the performance

characteristics of NVM to develop an optimal DBMS architecture for it.

Page 11: @ andy_pavlo

11

Current Research Status• Compare DBMS architectures:–H-Store with Logging → NVM–Anti-Caching → NVM (block)–Anti-Caching → NVM (tuple)–H-Store with MMAP → NVM

Page 12: @ andy_pavlo

12

H-Store – NVM Edition• Converted storage manager to

use NVM through MMAP:–Table tuple storage.–VARCHAR/BLOB data pool.–Table indexes.

Page 13: @ andy_pavlo

13

H-Store – NVM Edition• Minor changes to exec engine:–Group commit (msync)

• Current implementation is not transactional fail-safe.

Page 14: @ andy_pavlo

14

Experimental Evaluation• Compare two architectures:–H-Store with MMAP → NVM–MySQL → NVM

• Yahoo! Cloud Serving Benchmark:–10 million records (~10GB)–8x database / memory MySQL

Page 15: @ andy_pavlo

15

HIGH SKEW LOW SKEW0

100,000

200,000

300,000

400,000

500,000

YCSB //

TXN/SEC

MySQL→NVMH-Store→NVM

Read-Only Workload2x Latency Relative to DRAM

Page 16: @ andy_pavlo

16

HIGH SKEW LOW SKEW0

100,000

200,000

300,000

400,000

500,000

YCSB //

TXN/SEC

Read-Only Workload16x Latency Relative to DRAM

↓11% ↓29%

MySQL→NVMH-Store→NVM

Page 17: @ andy_pavlo

17

HIGH SKEW LOW SKEW0

25,000

50,000

75,000

100,000

YCSB //

TXN/SEC

50% Reads / 50% Writes Workload2x Latency Relative to DRAM

MySQL→NVMH-Store→NVM

Page 18: @ andy_pavlo

18

HIGH SKEW LOW SKEW0

25,000

50,000

75,000

100,000

YCSB //

TXN/SEC

50% Reads / 50% Writes Workload16x Latency Relative to DRAM

↓13% ↓8%

MySQL→NVMH-Store→NVM

Page 19: @ andy_pavlo

19

Discussion• Overhead is only from reads

and msync syscalls.• We’re not doing anything

special with the NVM.–Contents of NVM are ignored for crash recovery.

Page 20: @ andy_pavlo

20

What’s Next?• Port snapshot code to use

NVM.• Improve MMAP storage

manager.• Full comparison +

experiments.• Start building the next

system…

Page 21: @ andy_pavlo

N-STORE

Page 22: @ andy_pavlo

22

N-Store – Possibility #1• Keep DRAM.• Hybrid OLTP/OLAP

architecture:–Row Store → DRAM–Column Store → NVM

• Multi-faceted indexes.

Page 23: @ andy_pavlo

23

N-Store – Possibility #2• Ditch DRAM.• Instant recovery:–No snapshots.–No logging.

• NVM-friendly concurrency control scheme.

Page 24: @ andy_pavlo

24

What do we need?• Be able to tune the msync

latency of the NVM SDV.• Custom malloc

implementation that runs entirely of PMFS.

Page 25: @ andy_pavlo

AndyPavlo

Col. StanZdonik

MikeStonebraker

JustinDeBrabant

JoyArulraj

SubramanyaDulloor

RajeshSankaran

JeffParkhurst

Page 26: @ andy_pavlo

@ANDY_PAVLOEND