on the optimality of greedy garbage collection for ssds
play

On the Optimality of Greedy Garbage Collection for SSDs Yudong - PowerPoint PPT Presentation

On the Optimality of Greedy Garbage Collection for SSDs Yudong Yang, Vishal Misra, Dan Rubenstein Columbia University SSD Introduction Block Page Page has three states: valid , invalid , and empty a page a block


  1. On the Optimality of Greedy Garbage Collection for SSDs Yudong Yang, Vishal Misra, Dan Rubenstein Columbia University

  2. SSD Introduction • Block • Page • Page has three states: valid , invalid , and empty a page a block • write 16 pages for 8 write requests → write-amplification = 2

  3. System Model • N blocks, B pages in each block overhead  data • write-amplification: ,or data M : number of cleans i j : number of invalid pages on the j-th clean smaller write-amplification→better performance Goal: Minimize write-amplification

  4. Related works • Greedy algorithm Hu 2006, Bux 2010, Desnoyers 2012 – The performance of greedy algorithm is analyzed • Dual-greedy Lin 2012 – A heuristic algorithm optimized for traced data • D-choice Van 2013, Li 2013 – D-choice algorithm is proposed and analyzed • Optimality of greedy Hass 2010 – A sketch proof of optimality of greedy on random write workload. Contribution First formal proof of the optimality of greedy algorithm on memoryless workloads.

  5. Memoryless workloads All valid pages have equal probability of becoming the next invalid page. – Page lifetimes: independent, exponential with identical rate µ ...

  6. Greedy GC Algorithm The Greedy GC algorithm: – waits until the SSD is filled. – cleans a block with maximal number of invalids. – ties are broken arbitrarily. ... ... chosen by greedy

  7. Clean-and-move system • allows the valid pages to write on other blocks.

  8. Optimality of Greedy • Lemma 1. A block should only be cleaned when it is full (of valid and invalid pages). • Proof: Cleaning can always be delayed while the block containing empties. clean write A write B an invalid page write A write B clean

  9. Optimality of Greedy Theorem 1. In clean-and-move systems with memoryless workloads, Greedy is optimal. Proof: X: the block choose by another algorithm Y: the block choose by greedy X Y Algorithm A cleans X Greedy cleans Y, and moves X Y X Y

  10. Optimal of Greedy Theorem 2. For memoryless workloads, there is no advantage to moving active pages between blocks. Proof: Suppose we are moving n pages from X to Y upon an write request p X Y Y must has exact n empty pages, otherwise we can delay move. If p is placed on Y: move → clean Y → write p The move operation can be delayed, so the sequence become clean Y → write p → move(upon next request) p X Y

  11. Optimal of Greedy X must has exact no empty pages, otherwise we can delay move If p is placed on X : move n pages from X to Y → clean X → write p in X delay the move by a stochastic equivalence: write p in Y → move n-1 pages from X to Y (upon later arrival) p X Y

  12. Discussion & Future work • D-choice variants: choosing a block from a randomly selected set of size D Greedy still be the optimal on D-choice variants. • more general workloads – not optimal for Rosenblum workloads and long-tailed workloads. Lin 2012, Van 2013 – conjecture: still optimal for short-tailed workloads. • Heuristics for general workload

Recommend


More recommend