62,357 research outputs found

    Write Behind Logging(WBL) : ์˜๊ตฌ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ™œ์šฉํ•œ LSM ํŠธ๋ฆฌ ๊ธฐ๋ฐ˜์˜ ํ‚ค-๋ฐธ๋ฅ˜ ์ €์žฅ ์ตœ์ ํ™”

    Get PDF
    ํ•™์œ„๋…ผ๋ฌธ(์„์‚ฌ) -- ์„œ์šธ๋Œ€ํ•™๊ต๋Œ€ํ•™์› : ๊ณต๊ณผ๋Œ€ํ•™ ์ปดํ“จํ„ฐ๊ณตํ•™๋ถ€, 2022. 8. ์—ผํ—Œ์˜.Current LSM-tree based key-value database systems are optimized for the DRAM-SSD memory architecture. With the emergence of persistent mem- ory(PMEM), which is a non-volatile storage device with performance close to DRAM, memory architecture have changed. In this new hybrid memory ar- chitecture, we need to optimize database system to exploit the benefits given by persistent memory. LSM-tree based key-value database systems suffer from (1)Write Ahead Logging and (2)Write stalls from compaction jobs. In this pa- per, we separate read/write path of the system. First, we write data on per- sistent memory directly, eliminating the need of write ahead logging. Since PMEM provides larger space than DRAM, concerns for compaction stalls di- minish as well. Data written on persistent memory is then forwarded to DRAM. Since DRAM is free of compaction jobs and write path, there are some flexibil- ity of customization to improve read performance. Our work was made above vanilla RocksDB. We evaluate our work by using YCSB workloads, comparing with original version of RocksDB system. The result showed that our system works well on write-intensive workloads, and showed little improvement on read- intensive workloads. Keywords: Persistent Memory, LSM-Tree, Key-Value Database, Write Stalls, Reducing Log Overhead, Separate Read/Write Pathํ˜„์žฌ LSM ํŠธ๋ฆฌ ๊ธฐ๋ฐ˜์˜ ํ‚ค-๋ฐธ๋ฅ˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์€ DRAM-SSD ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ตœ์ ํ™”๋˜์–ด ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์˜๊ตฌ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋“ฑ์žฅํ•จ์œผ๋กœ์„œ, ๋ฉ”๋ชจ๋ฆฌ ๊ณ„์ธต๊ตฌ์กฐ์— ๋ณ€ํ™”๊ฐ€ ์ƒ๊ฒผ๋‹ค. ์˜๊ตฌ ๋ฉ”๋ชจ๋ฆฌ๋Š” DRAM์— ๊ทผ์ ‘ํ•œ ์ˆ˜์ค€์˜ ์„ฑ๋Šฅ์„ ๊ฐ€์ง„ ๋น„ํœ˜๋ฐœ์„ฑ๋ฉ”๋ชจ๋ฆฌ์ด๋‹ค. ์šฐ๋ฆฌ๋Š” ์ œ ์ด ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ฉ”๋ชจ๋ฆฌ ๊ณ„์ธต๊ตฌ์กฐ์—์„œ ์˜๊ตฌ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ž˜ ํ™œ์šฉํ•ด์„œ ๋ฐ์ดํƒ€๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์„ ์ƒˆ๋กญ๊ฒŒ ์ตœ์ ํ™”ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ๋ณดํ†ต LSM ํŠธ๋ฆฌ ๊ธฐ๋ฐ˜์˜ํ‚ค-๋ฐธ๋ฅ˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์€ Write-Ahead-Logging(WAL)๊ณผ (2)Compaction์œผ๋กœ ์ธํ•œ Write Stall์— ์˜ํ•ด ์„ฑ๋Šฅ์ด ์ €ํ•˜๋˜๋Š” ๋ฌธ์ œ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ด ์—ฐ๊ตฌ์—์„œ๋Š” ์˜๊ตฌ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋„์ž…๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ณ„์ธต๊ตฌ์กฐ์—์„œ ์ฝ๊ธฐ/์“ฐ๊ธฐ ๊ฒฝ๋กœ๋ฅผ ๋ถ„๋ฆฌํ•จ์œผ๋กœ์„œ ์ด๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ•œ๋‹ค. ๋จผ์ € ์“ฐ๊ธฐ ๊ฒฝ๋กœ๋Š” DRAM์„ ๊ฑฐ์น˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ PMEM์—์”€์œผ๋กœ์„œ WAL์˜ ํ•„์š”์„ฑ์„ ์ œ๊ฑฐํ•œ๋‹ค. ์˜๊ตฌ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์€ ๋ฐ์ดํ„ฐ๋Š” ํ›„์— DRAM์œผ๋กœ ์ด๋™ํ•œ๋‹ค. DRAM์€ compaction์ด๋‚˜ ์“ฐ๊ธฐ ๊ฒฝ๋กœ ์œ„์— ์กด์žฌํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—์˜ค์ง ์ฝ๊ธฐ๋งŒ์„ ์œ„ํ•ด ์ตœ์ ํ™” ๋˜๊ธฐ ํŽธํ•ด์ง„๋‹ค. ์ด ์—ฐ๊ตฌ๋Š” rocksDB ๋ฒ„์ „ ์œ„์—์„œ ์ฝ”๋“œ์ˆ˜์ •์„ ํ†ตํ•ด ์ง„ํ–‰๋˜์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ธฐ์กด์˜ rocksDB์™€์˜ ์„ฑ๋Šฅ ํ‰๊ฐ€๋ฅผ ์œ„ํ•ด YCSB์›Œํฌ๋กœ๋“œ๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. ์‹คํ—˜ ๊ฒฐ๊ณผ๋ฅผ ํ†ตํ•ด ์šฐ๋ฆฌ์˜ ์—ฐ๊ตฌ๊ฐ€ write๊ฐ€ ๋งŽ์€ ์›Œํฌ๋กœ๋“œ์—์„œ๋Š” ์ฃผ๋ชฉํ• ๋งŒํ•œ ์„ฑ๋Šฅ ๊ฐœ์„ ์ด ์žˆ์—ˆ๊ณ , read๊ฐ€ ๋งŽ์€ ์›Œํฌ๋กœ๋“œ์—์„œ๋Š” ์•ฝ๊ฐ„์˜ ์„ฑ๋Šฅ๊ฐœ์„ ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.Chapter 1 Introduction 1 1.1 Motivation 2 1.2 Contribution 4 1.3 Outline 5 Chapter 2 Background 6 2.1 Intel Optane Persistent Memory 7 2.2 LSM Tree based Key-Value Database 8 2.3 Related Works 10 Chapter 3 Implementation and Design 13 3.1 Write Path 15 3.2 Read Path 16 Chapter 4 Evaluation 18 4.1 Experimental Setup 18 4.2 Experiment Result 20 Chapter 5 Conclusion 23์„

    Persistent Buffer Management with Optimistic Consistency

    Full text link
    Finding the best way to leverage non-volatile memory (NVM) on modern database systems is still an open problem. The answer is far from trivial since the clear boundary between memory and storage present in most systems seems to be incompatible with the intrinsic memory-storage duality of NVM. Rather than treating NVM either solely as memory or solely as storage, in this work we propose how NVM can be simultaneously used as both in the context of modern database systems. We design a persistent buffer pool on NVM, enabling pages to be directly read/written by the CPU (like memory) while recovering corrupted pages after a failure (like storage). The main benefits of our approach are an easy integration in the existing database architectures, reduced costs (by replacing DRAM with NVM), and faster peak-performance recovery

    Efficient Dynamic Access Analysis Using JavaScript Proxies

    Full text link
    JSConTest introduced the notions of effect monitoring and dynamic effect inference for JavaScript. It enables the description of effects with path specifications resembling regular expressions. It is implemented by an offline source code transformation. To overcome the limitations of the JSConTest implementation, we redesigned and reimplemented effect monitoring by taking advantange of JavaScript proxies. Our new design avoids all drawbacks of the prior implementation. It guarantees full interposition; it is not restricted to a subset of JavaScript; it is self-maintaining; and its scalability to large programs is significantly better than with JSConTest. The improved scalability has two sources. First, the reimplementation is significantly faster than the original, transformation-based implementation. Second, the reimplementation relies on the fly-weight pattern and on trace reduction to conserve memory. Only the combination of these techniques enables monitoring and inference for large programs.Comment: Technical Repor

    Development of interactive and remote learning instruments for engineering education

    Get PDF
    Many educators have argued for and against the use of remote aids in support of student learning. Some proponents argue that only remote laboratories should be used whereas others argue for the requirement for hands on experience with associated tactical, visual and auditory learning experiences. In this paper we present the methodology for developing a middle ground Virtual Instruments that can be used as a complement learning aid to the hands on laboratory and also if necessary, with added features, can be used as a remote version of the laboratory
    • โ€ฆ
    corecore