62,357 research outputs found
Write Behind Logging(WBL) : ์๊ตฌ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ์ฉํ LSM ํธ๋ฆฌ ๊ธฐ๋ฐ์ ํค-๋ฐธ๋ฅ ์ ์ฅ ์ต์ ํ
ํ์๋
ผ๋ฌธ(์์ฌ) -- ์์ธ๋ํ๊ต๋ํ์ : ๊ณต๊ณผ๋ํ ์ปดํจํฐ๊ณตํ๋ถ, 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
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
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
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
- โฆ