Font Size: a A A

Research On System Key Techniques For Emerging Hardware Architecture

Posted on:2021-10-23Degree:DoctorType:Dissertation
Country:ChinaCandidate:M CaiFull Text:PDF
GTID:1488306500967459Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Recently,computer architecture evolves rapidly due to the advance in semiconductor technology,material science,and integrated circuit technology.The multicore multiprocessor architecture and non-volatile memory are two emerging hardware architectures.These two hardware architectures exhibit many promising characteristics,such as high parallelism and non-volatility.However,they also have some drawbacks like short device lifetime and poor write performance.The emerging hardware architecture brings both great challenges and opportunities for computer system research.The computer system abstracts the underlying hardware architecture and provides system abstractions for system users.The computer system consists of both the software system and the hardware system.Different layers in the computer system differentiate in system abstraction,system design,and system implementation.We can utilize some common metrics to quantify them during system research and development,e.g.,system performance,system scalability,and system reliability,etc.The existing computer system stack suffers from several problems like insufficient system abstraction with emerging hardware architecture.These problems lead to many system issues,such as performance degradation,poor scalability,and even data corruption.This thesis conducts in-depth,comprehensive research on system support for emerging hardware architecture.We mainly focus on two kinds of computer architecture,i.e.,multicore multiprocessor architecture and non-volatile memory system.We optimize four layers across the whole computer system stack in three technical dimensions: system performance,system scalability,and system reliability.Specifically,this thesis makes the following contributions.1.In the managed language layer,we propose a high-performance,reliable persistent heap called x Heap.We propose a decoupled persistent object model that separates object headers with fields.Our object model can greatly reduce the object persistency overhead and achieve low-cost object crash-consistency.It also facilitates designing a write-optimized object garbage collector.Then,we propose an object transactional memory technique to resolve concurrent object access.Finally,x Heap incorporates a variety of fault-tolerance techniques to enhance system reliability.Evaluation results suggest that x Heap outperforms previous solutions by up to 118% without compromising any system reliability guarantees.2.In the runtime library layer,we propose a scalable multithreading framework called t Scale.We propose a M:N threading model.This threading model supports system call batching optimization,which reduces the kernel/user mode switch cost.Moreover,we design a lock-contention-aware scheduler.This scheduler monitors lock contention in kernel space and dynamically adjusts the working core number to sustain the maximum system throughput.Experimental results show that applications can achieve 20% throughput improvement running on t Scale and avoid scalability collapse.3.In the operating system layer,we propose a decentralized virtual memory system model.This system model addresses the scalability issues in the conventional centralized VM system.By applying this model to the Linux kernel and Intel x8664architecture,we build a novel scalable virtual memory system called Medusa VM+.Through decentralizing the virtual memory space and page table,Medusa VM+avoids most existing scalability issues,thus greatly improving the system parallelism.Experimental results evaluated on a 72-core machine demonstrate that our system scales much better than the state-of-the-art VM systems and improves application throughputs by up to 4.5×.4.In the operating system layer,we design and implement a metadata-optimized file system called Mo FS.Mo FS adopts a no-caching system design and a distributed file system namespace structure,addressing the performance and scalability issues caused by centralized and separate namespace management.We propose a direct metadata indexing scheme with a NVM-conscious index tree.Mo FS provides a fast scalable pathname lookup solution based on this metadata indexing scheme.Experimental results demonstrate that Mo FS improves the application performance by up to 2.53× and decreases the latency by up to 51% compared with other file systems.5.In the system architecture layer,we design and implement a high-performance and reliable NVM system named HOOP.We propose an efficient hardware-based outof-place update mechanism that supports atomic data durability,without incurring many extra writes and performance overhead.HOOP incorporates an adaptive garbage collection to reduce the storage cost caused by data out-of-place update.Compared with other crash-consistency techniques,HOOP improves application performance by up to 1.7× while reducing the write amplification by up to 81.2%.Finally,we summarize the research works and propose several directions for future computer system research on non-volatile memory system.
Keywords/Search Tags:Computer System, Multi-core Multi-processor, Non-Volatile Memory
PDF Full Text Request
Related items