VIRTIOFS Offloading to DPU for DMA-Based VM Directory Sharing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtual machine technologies face poor performance due to software running on the host, which affects communication and directory sharing between the host and virtual machine, particularly in scenarios like secure containers.
Innovation Solution
Offload the VIRTIOFS process to a Data Processing Unit (DPU) and establish a DMA communication channel using DMA driver controllers in different operating systems to enable communication between the host and virtual machine, ensuring directory sharing through direct memory access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the VIRTIOFS process runs on the host, then directory sharing functionality is maintained, but host performance deteriorates
Solution Approach 1:
The VIRTIOFS process is extracted from the host system and relocated to run on a separate file system server. This extraction removes the performance burden from the host while preserving directory sharing functionality through network-based access. The host can access shared directories via network file system protocols without the VIRTIOFS process consuming host resources.
2Productivity
If communication between host and virtual machine goes through operating system, then software communication is enabled, but performance deteriorates
Solution Approach 1:
The communication architecture is segmented into distinct layers: the host operating system layer handles high-level file access requests, while the VIRTIOFS process on the file system server handles the actual file system operations. This segmentation allows the host OS to remain simple while offloading complex file system processing to a dedicated server environment.
3Productivity
If VIRTIOFS process is offloaded to DPU, then host performance is improved, but communication channel establishment becomes complex
Solution Approach 1:
A DMA driver front-end controller is introduced as an intermediary component that facilitates communication between the host and the DPU running the VIRTIOFS process. This intermediary manages the complexity of DMA channel establishment and configuration, providing a simplified interface for file access operations while handling the technical complexities of direct memory access in the background.
Data Source
AI summary
The present disclosure provides an offloading method and device for a shared directory file system between a host and a virtual machine. The method includes: offloading a VIRTIOFS process on a host to a DPU; establishing a DMA communication channel through a DMA driver front-end controller configured in a first operating system in the host and a DMA driver back-end controller configured in a second operating system in the DPU; and controlling, through the DPU, the VIRTIOFS process to communicate with a virtual machine deployed on the host based on the DMA communication channel, to implement access to and data processing of the shared directory file system. According to the present disclosure, the VIRTIOFS process and the shared directory file system can be migrated from the host to the DPU, and the shared directory can be implemented through a direct memory access technology.


