Sky$^ε$-Tree: Embracing the Batch Updates of B$^ε$-trees through Access Port Parallelism on Skyrmion Racetrack Memory

Yu-Shiang Tsai,Shuo-Han Chen,Martijn Noorlander,Kuan-Hsun Chen
2024-07-05
Abstract:Owing to the characteristics of high density and unlimited write cycles, skyrmion racetrack memory (SK-RM) has demonstrated great potential as either the next-generation main memory or the last-level cache of processors with non-volatility. Nevertheless, the distinct skyrmion manipulations, such as injecting and shifting, demand a fundamental change in widely-used memory structures to avoid excessive energy and performance overhead. For instance, while B{\epsilon}-trees yield an excellent query and insert performance trade-off between B-trees and Log-Structured Merge (LSM)-trees, the applicability of deploying B{\epsilon}-trees onto SK-RM receives much less attention. In addition, even though optimizing designs have been proposed for B+-trees on SK-RM, those designs are not directly applicable to B{\epsilon}-trees owing to the batch update behaviors between tree nodes of B{\epsilon}-trees. Such an observation motivates us to propose the concept of Sky{\epsilon}-tree to effectively utilize the access port parallelism of SK-RM to embrace the excellent query and insert performance of B{\epsilon}-trees. Experimental results have shown promising improvements in access performance and energy conservation.
Hardware Architecture,Distributed, Parallel, and Cluster Computing
What problem does this paper attempt to address?
The main problem that this paper attempts to solve is: How to efficiently deploy B/Γ -trees on skyrmion racetrack memory (SK -RM) to fully utilize the high -density and non -volatile characteristics of SK -RM, while avoiding the performance and energy consumption overheads caused by excessive insertion and shift operations due to batch update behaviors. ### Specific problems include: 1. **Inefficiency of batch update behaviors**: - When B/Γ -trees perform batch updates on SK -RM, it will lead to excessive skyrmion injection operations, thereby increasing energy consumption and latency. - Compared with traditional DRAM and SSD storage media, the write operation of SK -RM has a higher latency than the read operation, and a shift operation is required for each read and write. 2. **Limitations of existing optimization strategies**: - Existing optimization strategies for SK -RM (such as permutation writing and Sky -tree) mainly focus on the optimization of a single write operation, without considering the batch update behavior of B/Γ -trees. - These strategies cannot be directly applied to B/Γ -trees because they are designed to reduce the overhead of a single write operation, not batch updates. ### Solutions: To solve the above problems, the paper proposes the concept of **Sky/Γ -tree**, and specific measures include: 1. **Virtual buffer encoding**: - Separate keys and values, and use an index with fewer bits to replace the value field to reduce the number of skyrmion injections. - In this way, during the refresh or split operation, the number of rewrite bits between internal node buffers can be reduced, thereby reducing the number of skyrmion injections. 2. **Parallel port update**: - Utilize the multi -access port characteristics of SK -RM to write multiple key -value pairs in the same batch in parallel instead of one by one. - This can share a set of shift operations, significantly reducing the number of required shift operations and improving write efficiency. Through these innovative designs, Sky/Γ -tree can achieve more efficient batch updates on SK -RM, thereby improving access performance and saving energy. Experimental results show that Sky/Γ -tree improves performance by 77.22% and 80.49% respectively compared with the baseline method under the word -based mapping architecture and the bit -based interleaved mapping architecture.