Peter-Jan Gootzen presents his on-going master thesis research work (done in collaboration with IBM Research Zurich) at the 19th annual OpenFabrics Alliance (OFA) Workshop. In his work, Peter-Jan is exploring how to leverage DPUs to assist with fast and efficient file system operations in a cloud environment. https://www.openfabrics.org/2023-ofa-virtual-workshop-agenda/
Title: DPFS: DPU-powered File System Virtualization
Authors: Peter-Jan Gootzen, IBM Research Zurich; Jonas Pfefferle, IBM Research Zurich; Radu Stoica, IBM Research Zurich; Animesh Trivedi, VU University Amsterdam
Abstract: Today many cloud infrastructure services, such as storage and networking, run in the hypervisor on the host CPU alongside the tenants’ virtual machines. Such an approach, although flexible and hardware agnostic, has several disadvantages. It requires taking CPU cycles away from the tenants to run the client-side drivers, provides poor isolation between the virtual tenants, and requires baremetal tenants to install, configure, and maintain additional drivers. State-of-art Data Processing Units (DPU), that support offload of advanced network and storage protocols, now provide an opportunity to move client-side drivers out of the host CPU. An offload approach reduces client CPU overhead, improves the isolation between the cloud tenants, and provides support for baremetal tenants. In this talk, we propose to decouple the file system client from its backend implementation by virtualizing it with an off-the-shelf DPU using the Linux virtio-fs/FUSE framework. The decoupling allows us to offload the file system client execution to a DPU, which is managed and optimized by the cloud provider, while freeing the host CPU cycles. Our proposed framework is 4.4× more CPU efficient per I/O, delivers comparable performance to a tenant with zero-configuration or modification to their host software stack, while allowing workload-specific backend optimizations.
Github code: https://github.com/IBM/DPFS
Github code: https://www.youtube.com/watch?v=2cTxELxCG_g