Font Size: a A A

The Dual-stack Fusion Kernel Space High Performance Data Processing Framework

Posted on:2024-08-19Degree:MasterType:Thesis
Country:ChinaCandidate:Y WuFull Text:PDF
GTID:2568307079460114Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
In the era of the Internet and big data,network and storage are often inseparable application scenarios.From cloud disks and video social media platforms directly oriented to consumers,to distributed object storage,block storage and file system services within the data center,store network data or send stored data to the network,such application scenarios are everywhere.In such application scenarios,the ever-increasing number of users,data scale,and user service quality requirements drive the continuous improvement of network and storage hardware performance.In particular,the emergence of persistent memory has improved the memory access performance of persistent storage devices to a level comparable to that of main memory.However,in the process of storing network data,there is still software overhead.The data needs to go through the nic driver,kernel network stack,user buffer,kernel storage stack and storage device driver,and these steps are all processed by software.This I/O path is very long,and there are multiple interrupt processing,system calls,and data copy overheads,which may cause latency as high as tens of microseconds,compared to less than 10 microseconds for hardware latency of new network and storage devices.Software latency has become non-negligible and has become a new performance bottleneck.In response to this problem,although there have been many researches,various optimization schemes including kernel bypass,hardware offloading,and kernel storage stack optimization have been proposed.These solutions fail to optimize the integration of the network stack and the storage stack as a whole,and it can be further improved in terms of CPU resource consumption,ease of use,flexibility and scalability.Therefore,this thesis proposes Fusion Stk,a dual-stack fusion kernel space high performance data processing framework.The framework uses persistent memory to combine the buffers of the network stack and the storage stack into one,and directly allocates receiving buffers for network devices on the persistent memory,realizing zero-copy persistence of network data.On this basis,the framework allows users to offload delay-sensitive critical operations to the context of soft interrupts that process network packets,which can shorten the I/O path and reduce operational latency while conveniently utilizing the existing infrastructure of the kernel.In order to solve the problems of programming model,failure consistency guarantee,allocation and release operation performance brought about by the use of persistent memory,this paper also proposes a new persistent memory heap allocator,which named Fusion PM.It can ensure the failure consistency of persistent memory management without changing the current kernel memory management related interfaces and without reducing the performance of memory allocation and release operations.Finally,based on this framework,this paper implements a high-performance block storage service application prototype called Fusion Blk,and compares it with the traditional implementation.The experimental results show that the average software processing latency of Fusion Blk’s random write operation is 16.584μs,which is much lower than the 51.542μs latency of traditional implementation,and the random write bandwidth can reach the upper limit of the network device in the test environment.
Keywords/Search Tags:network stack, storage stack, persistent memory, memory management, I/O performance optimization
PDF Full Text Request
Related items