2 research outputs found

    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

    Durable write cache in flash memory SSD for relational and NoSQL databases

    No full text
    corecore