Font Size: a A A

Data Storage And Management For Emerging Hardware

Posted on:2021-03-22Degree:DoctorType:Dissertation
Country:ChinaCandidate:J J ChuFull Text:PDF
GTID:1368330623481545Subject:Software engineering
Abstract/Summary:PDF Full Text Request
With the development of hardware technology,new hardware(e.g.,multi-core pro-cessors,GPU,RDMA,and non-volatile memory)is constantly emerging.These new types of devices have brought new opportunities for the development of data storage and man-agement.Many applications deploy traditional storage systems directly on these emerg-ing devices,and aim to using these high-performance devices to break through existing performance bottlenecks.However,directly migrating traditional software technology to new hardware cannot fully exploit the hardware potential,because traditional software often ignores the new features introduced by these emerging hardware.How to combine the characteristics of the new hardware to build a high-performance distributed storage cluster for massive data is a problem worth in-depth study.The research work of this paper is centered on NVMe SSD and RDMA devices.Com-pared with hard disks,NVMe SSDs not only have great improvements in throughput and latency,but also introduce the new feature that supports multiple I/O queues.RDMA not only reduces network transmission delay,but also reduces CPU overhead.In this paper,we research how to combine these characteristics of the new hardware to optimize the data storage and management from three aspects: the optimization of native storage stack,the parallel logging strategy based on the LSM-tree index structure,and the improved method for synchronization between the master and slaves.The main work and contributions are as follows.(1)The optimization of native storage stack.In the era of disks,most database systems rely on complex multi-layer and compatibility-oriented storage stacks.Due to the higher I/O latency of slow storage devices,the overhead of storage software stack can be almost ignored.However,emerging NVMe storage devices have reached the same latency level as software,making the storage software stack a new bottleneck that influences the efficiency of data storage.To fully utilize the hardware potential of NVMe devices,this paper optimizes the native storage stack for new hardware,aiming to minimizing the storage software overhead.It accesses NVMe devices in userspace directly to reduce the I/O latency,and binds multiple cores and queues to improve the parallelism of data access operations.Besides,this paper also records undo logs on heterogeneous storage to mitigate the issue of write amplification.(2)Parallel logging strategy based on the LSM-tree index structure.In addition to optimizing the native storage stack,the NVMe SSD can further improve the I/O par-allelism of data storage.To give full play to the parallelism brought by NVMe SSD,this paper improves the log operation on the LSM-tree index structure and imple-ments the parallel logging.The core idea is to improve the single-phase log writing into a two-phase logging strategy.In the first phase,this paper combines the multi-ple I/O queues of NVMe SSD to perform log persistence in parallel.In the second phase,the log committing is performed according to rules to ensure data accuracy and consistency.Besides,this paper also analyzes how to make existing LSM-based storage systems support higher log parallelism,and discusses the issues of log com-mit protocol,recovery protocol,and scheduling of multiple I/O queues.Experimental results show that the performance of the optimized storage system has been improved significantly.(3)Improved method for synchronization between master and slave.Traditional distributed clusters cannot fully realize the hardware potential of high-performance storage devices and network devices.To handle this issue,this paper provides a lightweight distributed storage management method for the traditional master-slave synchronization method to reduce network transmission overhead.On one hand,we support mixed storage of rows and columns and dynamic online conversion,thus providing clients with efficient and convenient table interfaces.On the other hand,we combine the RDMA's one-side primitive to optimize the Raft protocol,and change the active log synchronization to the log pulling.Experimental results show that the optimization method in this paper can improve performance by 1.5-4.3× compared with traditional distributed storage clusters.In summary,this paper combines NVMe SSD and RDMA devices to explain how to fully explore emerging hardware from three aspects: optimization of the native storage stack,parallel logging strategy based on the LSM-tree index structure,and the improved method of the synchronization between master and slave.Based on these design methods,we implemented the corresponding distributed storage engine.The distributed storage engine takes full advantage of the NVMe SSD's ultra-low latency and high bandwidth features,multi-queue parallelism,and RDMA's efficient read and write primitives,lay-ing the foundation for efficient data storage and management for new hardware.It also provides some inspirations and references for related researchers.
Keywords/Search Tags:Storage Engine, Distributed System, NVMe SSD, RDMA, Data Management
PDF Full Text Request
Related items