Viyojit: Decoupling Battery and DRAM Capacities for Battery-Backed - - PowerPoint PPT Presentation

viyojit decoupling battery and dram capacities for
SMART_READER_LITE
LIVE PREVIEW

Viyojit: Decoupling Battery and DRAM Capacities for Battery-Backed - - PowerPoint PPT Presentation

Viyojit: Decoupling Battery and DRAM Capacities for Battery-Backed DRAM Rajat Kateja # Anirudh Badam*, Sriram Govindan*, Bikash Sharma + , Greg Ganger # # CMU, *Microsoft, + Facebook (work done while at Microsoft) Overview Problem


slide-1
SLIDE 1

Viyojit: Decoupling Battery and DRAM Capacities for Battery-Backed DRAM

Rajat Kateja#

Anirudh Badam*, Sriram Govindan*, Bikash Sharma+, Greg Ganger#

#CMU, *Microsoft, +Facebook (work done while at Microsoft)

slide-2
SLIDE 2

Overview

  • Problem
  • Excellent performance with BB-DRAM
  • But, need large batteries for high capacity
  • Observation
  • Typical battery used << Worst case
  • Idea: Provision battery for typical requirement
  • Challenge: Durability guarantee
  • Solution: Viyojit, bound dirty data in BB-DRAM
  • 89% smaller battery, only 7-25% throughput loss

2

slide-3
SLIDE 3

High performance storage with BB-DRAM

3

Widely used high performance NVM technology Reads Write-back

DRAM SSD

W r i t e s

slide-4
SLIDE 4

Poor battery scaling limits BB-DRAM capacity

4

Challenging to provision high capacity BB-DRAM

100000 10000 1000 100 10 1

slide-5
SLIDE 5

Typical battery required is much smaller

5

Microsoft production MapReduce like workload Battery provisioned Battery required

  • Need to flush only dirty data
  • Typical workloads dirty only a small fraction of dataset

Can provision small batteries

slide-6
SLIDE 6

Viyojit ensures durability with small batteries

6

D C C C C C C C C C D C D C C C C C C C C C D C C C C C C D (a) Write page 0 (b) Write page 2 (c) Write page 9 C C C C C C C C C C

  • 10 Clean BB-DRAM pages
  • Battery for 2 Dirty pages
  • Write protect all clean pages
  • Make page 0 writable
  • Make page 2 writable
  • Make page 0 clean
  • Write protect
  • Make page 9 writable

Write protect pages to track and bound dirty data Proactively write-back infrequently updated data

slide-7
SLIDE 7
  • Target Least Recently Updated (LRU) page
  • Motivated by Least Recently Used policy
  • Consider only write accesses
  • Page always stays in memory
  • Identify target page using dirty bit
  • Periodically read and reset dirty bit

7

Viyojit writes-back infrequently updated pages

Write-back Least Recently Updated pages

slide-8
SLIDE 8
  • Background write-back thread
  • Adapt aggressiveness based on “dirty pressure”
  • Expected number of new dirty pages
  • Count new dirty pages in each period
  • Predict new dirty pages in next period
  • Exponentially decaying average

8

Viyojit avoids blocking applications on write-backs

Leave slack to absorb dirty pages w/o demand SSD write

slide-9
SLIDE 9

Evaluation

9

In-memory key-value store (Redis) Software persistent memory library (Intel’s PMDK) Yahoo! Cloud Serving Benchmarks (YCSB): NoSQL workload 10 million ops, 16 Threads Viyojit (battery capacity ≡ fraction of the database size) BB-DRAM (battery capacity ≡ database size)

OR

  • 20 cores; 140 GB DRAM; 280 GB SSD

Metrics:

  • Throughput
  • Latency (average and tail)
  • SSD write traffic
slide-10
SLIDE 10

Effect of smaller battery on application throughput

10

Low overhead (7-25%) with 89% smaller battery

Lower is better

slide-11
SLIDE 11

Effect of smaller battery on average and tail latency

11

YCSB-A (50% writes) Write traps to track updates lead to high tail latency

Lower is better

slide-12
SLIDE 12

Takeaways from Viyojit’s results

  • Key takeaway: Big reduction in battery; low overheads
  • 89% smaller battery, only 7-25% throughput loss
  • Other results:
  • Overheads decrease as battery capacity increases
  • Overheads decrease as write skew increases
  • Overheads decrease as BB-DRAM size increases

12

slide-13
SLIDE 13

Conclusion

  • Excellent performance with BB-DRAM
  • But, battery scaling is problematic
  • Typically, small battery can suffice
  • If an upper bound could be ensured
  • Viyojit bounds number of dirty BB-DRAM pages
  • 89% smaller battery, only 7-25% throughput loss

13