164 research outputs found

    LSM Management on Computational Storage

    Get PDF

    LSM-tree based Database System Optimization using Application-Driven Flash Management

    Get PDF
    ํ•™์œ„๋…ผ๋ฌธ(์„์‚ฌ)--์„œ์šธ๋Œ€ํ•™๊ต ๋Œ€ํ•™์› :๊ณต๊ณผ๋Œ€ํ•™ ์ปดํ“จํ„ฐ๊ณตํ•™๋ถ€,2019. 8. ์—ผํ—Œ์˜.Modern data centers aim to take advantage of high parallelism in storage de- vices for I/O intensive applications such as storage servers, cache systems, and key-value stores. Key-value stores are the most typical applications that should provide a highly reliable service with high-performance. To increase the I/O performance of key-value stores, many data centers have actively adopted next- generation storage devices such as Non-Volatile Memory Express (NVMe) based Solid State Devices (SSDs). NVMe SSDs and its protocol are characterized to provide a high degree of parallelism. However, they may not guarantee pre- dictable performance while providing high performance and parallelism. For example, heavily mixed read and write requests can result in performance degra- dation of throughput and response time due to the interference between the requests and internal operations (e.g., Garbage Collection (GC)). To minimize the interference and provide higher performance, this paper presents IsoKV, an isolation scheme for key-value stores by exploiting internal parallelism in SSDs. IsoKV manages the level of parallelism of SSD directly by running application-driven flash management scheme. By storing data with dif- ferent characteristics in each dedicated internal parallel units of SSD, IsoKV re- duces interference between I/O requests. We implement IsoKV on RocksDB and evaluate it using Open-Channel SSD. Our extensive experiments have shown that IsoKV improves overall throughput and response time on average 1.20ร— and 43% compared with the existing scheme, respectively.์ตœ์‹  ๋ฐ์ดํ„ฐ ์„ผํ„ฐ๋Š” ์Šคํ† ๋ฆฌ์ง€ ์„œ๋ฒ„, ์บ์‹œ ์‹œ์Šคํ…œ ๋ฐ Key-Value stores์™€ ๊ฐ™์€ I/O ์ง‘์•ฝ์ ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ์Šคํ† ๋ฆฌ์ง€ ์žฅ์น˜์˜ ๋†’์€ ๋ณ‘๋ ฌ์„ฑ์„ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค. Key-value stores๋Š” ๊ณ ์„ฑ๋Šฅ์˜ ๊ณ ์‹ ๋ขฐ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•ด์•ผ ํ•˜๋Š” ๊ฐ€์žฅ ๋Œ€ํ‘œ์ ์ธ ์‘์šฉํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. Key-value stores์˜ I/O ์„ฑ๋Šฅ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ๋งŽ์€ ๋ฐ ์ดํ„ฐ ์„ผํ„ฐ๊ฐ€ ๋น„ํœ˜๋ฐœ์„ฑ ๋ฉ”๋ชจ๋ฆฌ ์ต์Šคํ”„๋ ˆ์Šค(NVMe) ๊ธฐ๋ฐ˜ SSD(Solid State Devices) ์™€ ๊ฐ™์€ ์ฐจ์„ธ๋Œ€ ์Šคํ† ๋ฆฌ์ง€ ์žฅ์น˜๋ฅผ ์ ๊ทน์ ์œผ๋กœ ์ฑ„ํƒํ•˜๊ณ  ์žˆ๋‹ค. NVMe SSD์™€ ๊ทธ ํ”„ ๋กœํ† ์ฝœ์€ ๋†’์€ ์ˆ˜์ค€์˜ ๋ณ‘๋ ฌ์„ฑ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ํŠน์ง•์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ NVMe SSD๊ฐ€ ๋ณ‘๋ ฌ์„ฑ์„ ์ œ๊ณตํ•˜๋ฉด์„œ๋„ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์„ฑ๋Šฅ์„ ๋ณด์žฅํ•˜์ง€๋Š” ๋ชปํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์š”์ฒญ์ด ๋งŽ์ด ํ˜ผํ•ฉ๋˜๋ฉด ์š”์ฒญ๊ณผ ๋‚ด๋ถ€ ์ž‘์—…(์˜ˆ: GC) ์‚ฌ์ด์˜ ๊ฐ„์„ญ์œผ๋กœ ์ธํ•ด ์ฒ˜๋ฆฌ๋Ÿ‰ ๋ฐ ์‘๋‹ต ์‹œ๊ฐ„์˜ ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฐ„์„ญ์„ ์ตœ์†Œํ™”ํ•˜๊ณ  ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋ณธ ์—ฐ๊ตฌ์—์„œ๋Š” Key-value stores๋ฅผ ์œ„ํ•œ ๊ฒฉ๋ฆฌ ๋ฐฉ์‹์ธ IsoKV๋ฅผ ์ œ์‹œํ•œ๋‹ค. IsoKV๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ค‘์‹ฌ ํ”Œ๋ž˜์‹œ ์ €์žฅ์žฅ ์น˜ ๊ด€๋ฆฌ ๋ฐฉ์‹์„ ํ†ตํ•ด SSD์˜ ๋ณ‘๋ ฌํ™” ์ˆ˜์ค€์„ ์ง์ ‘ ๊ด€๋ฆฌํ•œ๋‹ค. IsoKV๋Š” SSD์˜ ๊ฐ ์ „์šฉ ๋‚ด๋ถ€ ๋ณ‘๋ ฌ ์žฅ์น˜์— ์„œ๋กœ ๋‹ค๋ฅธ ํŠน์„ฑ์„ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•จ์œผ๋กœ์จ I/O ์š”์ฒญ ๊ฐ„์˜ ๊ฐ„์„ญ์„ ์ค„์ธ๋‹ค. ๋˜ํ•œ IsoKV๋Š” SSD์˜ LSM ํŠธ๋ฆฌ ๋กœ์ง๊ณผ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ๋ฅผ ๋™๊ธฐํ™”ํ•˜ ์—ฌ GC๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค. ๋ณธ ์—ฐ๊ตฌ์—์„œ๋Š” RocksDB๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ IsoKV๋ฅผ ๊ตฌํ˜„ํ•˜์˜€์œผ๋ฉฐ, Open-Channel SSD๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ฑ๋Šฅํ‰๊ฐ€ํ•˜์˜€๋‹ค.. ๋ณธ ์—ฐ๊ตฌ์˜ ์‹คํ—˜ ๊ฒฐ๊ณผ์— ๋”ฐ๋ฅด๋ฉด IsoKV๋Š” ๊ธฐ์กด์˜ ๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐฉ์‹๊ณผ ๋น„๊ตํ•˜์—ฌ ํ‰๊ท  1.20ร— ๋น ๋ฅด๊ณ  ๋ฐ 43% ๊ฐ์†Œ๋œ ์ฒ˜๋ฆฌ๋Ÿ‰๊ณผ ์‘๋‹ต์‹œ๊ฐ„ ์„ฑ๋Šฅ ๊ฐœ์„  ๊ฒฐ๊ณผ๋ฅผ ์–ป์—ˆ๋‹ค. ๊ด€์ ์—์„œ 43% ๊ฐ์†Œํ•˜์˜€๋‹ค.Abstract Introduction 1 Background 8 Log-Structured Merge tree based Database 8 Open-Channel SSDs 9 Preliminary Experimental Evaluation using oc bench 10 Design and Implementation 14 Overview of IsoKV 14 GC-free flash storage management synchronized with LSM-tree logic 15 I/O type Isolation through Application-Driven Flash Management 17 Dynamic Arrangement of NAND-Flash Parallelism 19 Implementation 21 Evaluation 23 Experimental Setup 23 Performance Evaluation 25 Related Work 31 Conclusion 34 Bibliography 35 ์ดˆ๋ก 40Maste

    PrismDB: Read-aware Log-structured Merge Trees for Heterogeneous Storage

    Full text link
    In recent years, emerging hardware storage technologies have focused on divergent goals: better performance or lower cost-per-bit of storage. Correspondingly, data systems that employ these new technologies are optimized either to be fast (but expensive) or cheap (but slow). We take a different approach: by combining multiple tiers of fast and low-cost storage technologies within the same system, we can achieve a Pareto-efficient balance between performance and cost-per-bit. This paper presents the design and implementation of PrismDB, a novel log-structured merge tree based key-value store that exploits a full spectrum of heterogeneous storage technologies (from 3D XPoint to QLC NAND). We introduce the notion of "read-awareness" to log-structured merge trees, which allows hot objects to be pinned to faster storage, achieving better tiering and hot-cold separation of objects. Compared to the standard use of RocksDB on flash in datacenters today, PrismDB's average throughput on heterogeneous storage is 2.3ร—\times faster and its tail latency is more than an order of magnitude better, using hardware than is half the cost

    Understanding and Optimizing Flash-based Key-value Systems in Data Centers

    Get PDF
    Flash-based key-value systems are widely deployed in todayโ€™s data centers for providing high-speed data processing services. These systems deploy flash-friendly data structures, such as slab and Log Structured Merge(LSM) tree, on flash-based Solid State Drives(SSDs) and provide efficient solutions in caching and storage scenarios. With the rapid evolution of data centers, there appear plenty of challenges and opportunities for future optimizations. In this dissertation, we focus on understanding and optimizing flash-based key-value systems from the perspective of workloads, software, and hardware as data centers evolve. We first propose an on-line compression scheme, called SlimCache, considering the unique characteristics of key-value workloads, to virtually enlarge the cache space, increase the hit ratio, and improve the cache performance. Furthermore, to appropriately configure increasingly complex modern key-value data systems, which can have more than 50 parameters with additional hardware and system settings, we quantitatively study and compare five multi-objective optimization methods for auto-tuning the performance of an LSM-tree based key-value store in terms of throughput, the 99th percentile tail latency, convergence time, real-time system throughput, and the iteration process, etc. Last but not least, we conduct an in-depth, comprehensive measurement work on flash-optimized key-value stores with recently emerging 3D XPoint SSDs. We reveal several unexpected bottlenecks in the current key-value store design and present three exemplary case studies to showcase the efficacy of removing these bottlenecks with simple methods on 3D XPoint SSDs. Our experimental results show that our proposed solutions significantly outperform traditional methods. Our study also contributes to providing system implications for auto-tuning the key-value system on flash-based SSDs and optimizing it on revolutionary 3D XPoint based SSDs
    • โ€ฆ
    corecore