180 likes | 373 Views
Using Transparent Compression to Improve SSD based I/O caches. Thanos Makatos, Yannis Klonatos, Mandolis Marazakis, Michail D. Flouris and Angelos Bilas, Eurosys 2010. 이 상 엽. Sequence. Motivation Architecure Implementation Experimental Result Conclusion. Motivation. Memory Hierarchy.
E N D
Using Transparent Compression to Improve SSD based I/O caches Thanos Makatos, Yannis Klonatos, Mandolis Marazakis, Michail D. Flouris and Angelos Bilas, Eurosys 2010 이 상 엽
Sequence • Motivation • Architecure • Implementation • Experimental Result • Conclusion
Motivation • Memory Hierarchy
Motivation • HDD vs SSD vs Who is Winner ? Cost : 97원/GB Cost : 1250원/GB Read : 100 MB/s Read : 277 MB/s Write : 90 MB/s Write : 202 MB/s Capacity : 2 TB Capacity : 160 GB
Motivation • HDD vs SSD vs Cost : 97원/GB Cost : 1250원/GB Read : 100 MB/s Read : 277 MB/s Write : 90 MB/s Write : 202 MB/s Capacity : 2 TB Capacity : 160 GB
Motivation • HDD vs SSD vs Winner !! Cost : 97원/GB Cost : 1250원/GB Read : 100 MB/s Read : 277 MB/s Write : 90 MB/s Cost : 97원/GB Write : 202 MB/s Capacity : 2 TB Read : 277 MB/s Capacity : 160 GB Write : 202 MB/s Capacity : 2 TB
Architecure • Flaz • Adding I/O cache layer • Block Level Compression High Perfomance & High CPU Utilization
Architecure • I/O Path
Implementation • Load-balancing & I/O Request Splitting • Blocks of same large I/O request processed in parallel on all CPUs • All blocks placed on two global queues: (1) read, (2) writes • Reads have priority over writes (blocking operations)
Implementation • Metadata • Block devices operate with fixed-size blocks • fixed-size extent as the physical container for compressed segments • Multiple segments packed in single extent in append-only manner • Need metadata to locate block within extent • Translation metadata split to two levels • Metadata lookup requires additional read I/O • To reduce metadata I/Os we use a metadata cache
Implementation • Read-Modify-Write Overhead • Write of R-M-W → remap on write • Read of R-M-W → extent in RAM • Extent • Allocator : called frequently to replenish the extent pool • Garbage Collector : (cleaner) reclaims space and replenishes list
Experimental Result • TCP-H
Experimental Result • PostMark
Experimental Result • PostMark (Con’t) & SPECsfs
Experimental Result • Extent size & Cleaning cache
Experimental Result • Compression
Conclusion • Trade off • CPU Utilization & I/O Perfomance • Storage Class 가 CPU에 비해 발전속도가 느리므로 향후엔 FLAZ가 유용하게 쓰일 수 있지 않을까?
QnA 질문은 서로가 웃을 수 있게