{"title":"SVFF:FPGA 加速虚拟化环境中 SR-IOV 虚拟功能管理的自动化框架","authors":"Stefano Cirici, Michele Paolino, Daniel Raho","doi":"arxiv-2406.01225","DOIUrl":null,"url":null,"abstract":"FPGA accelerator devices have emerged as a powerful platform for implementing\nhigh-performance and scalable solutions in a wide range of industries,\nleveraging their reconfigurability and virtualization capabilities.\nVirtualization, in particular, offers several benefits including improved\nsecurity by resource isolation and sharing, and SR-IOV is the main solution for\nenabling it on FPGAs. This paper introduces the SR-IOV Virtual Function Framework (SVFF), a\nsolution that aims to simplify and enhance the management of Virtual Functions\n(VFs) on PCIe-attached FPGA devices in Linux and QEMU/KVM environments, solving\nthe lack of SR-IOV re-configuration support on guests. The framework leverages\nthe SR-IOV support in the Xilinx Queue-based Direct Memory Access (QDMA) to\nautomate the creation, attachment, detachment, and reconfiguration of VFs to\ndifferent Virtual Machines (VMs). A novel pause functionality for the VFIO\ndevice has been implemented in QEMU to enable the detachment of VFs from the\nhost without detaching them from the guest, making reconfiguration of VFs\ntransparent for guests that already have a VF attached to them without any\nperformance loss. The proposed solution offers the ability to automatically and\nseamlessly assign a set of VFs to different VMs and adjust the configuration on\nthe fly. Thanks to the pause functionality, it also offers the ability to\nattach additional VFs to new VMs without affecting devices already attached to\nother VMs.","PeriodicalId":501333,"journal":{"name":"arXiv - CS - Operating Systems","volume":"28 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-06-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"SVFF: An Automated Framework for SR-IOV Virtual Function Management in FPGA Accelerated Virtualized Environments\",\"authors\":\"Stefano Cirici, Michele Paolino, Daniel Raho\",\"doi\":\"arxiv-2406.01225\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"FPGA accelerator devices have emerged as a powerful platform for implementing\\nhigh-performance and scalable solutions in a wide range of industries,\\nleveraging their reconfigurability and virtualization capabilities.\\nVirtualization, in particular, offers several benefits including improved\\nsecurity by resource isolation and sharing, and SR-IOV is the main solution for\\nenabling it on FPGAs. This paper introduces the SR-IOV Virtual Function Framework (SVFF), a\\nsolution that aims to simplify and enhance the management of Virtual Functions\\n(VFs) on PCIe-attached FPGA devices in Linux and QEMU/KVM environments, solving\\nthe lack of SR-IOV re-configuration support on guests. The framework leverages\\nthe SR-IOV support in the Xilinx Queue-based Direct Memory Access (QDMA) to\\nautomate the creation, attachment, detachment, and reconfiguration of VFs to\\ndifferent Virtual Machines (VMs). A novel pause functionality for the VFIO\\ndevice has been implemented in QEMU to enable the detachment of VFs from the\\nhost without detaching them from the guest, making reconfiguration of VFs\\ntransparent for guests that already have a VF attached to them without any\\nperformance loss. The proposed solution offers the ability to automatically and\\nseamlessly assign a set of VFs to different VMs and adjust the configuration on\\nthe fly. Thanks to the pause functionality, it also offers the ability to\\nattach additional VFs to new VMs without affecting devices already attached to\\nother VMs.\",\"PeriodicalId\":501333,\"journal\":{\"name\":\"arXiv - CS - Operating Systems\",\"volume\":\"28 1\",\"pages\":\"\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2024-06-03\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"arXiv - CS - Operating Systems\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/arxiv-2406.01225\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Operating Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2406.01225","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
SVFF: An Automated Framework for SR-IOV Virtual Function Management in FPGA Accelerated Virtualized Environments
FPGA accelerator devices have emerged as a powerful platform for implementing
high-performance and scalable solutions in a wide range of industries,
leveraging their reconfigurability and virtualization capabilities.
Virtualization, in particular, offers several benefits including improved
security by resource isolation and sharing, and SR-IOV is the main solution for
enabling it on FPGAs. This paper introduces the SR-IOV Virtual Function Framework (SVFF), a
solution that aims to simplify and enhance the management of Virtual Functions
(VFs) on PCIe-attached FPGA devices in Linux and QEMU/KVM environments, solving
the lack of SR-IOV re-configuration support on guests. The framework leverages
the SR-IOV support in the Xilinx Queue-based Direct Memory Access (QDMA) to
automate the creation, attachment, detachment, and reconfiguration of VFs to
different Virtual Machines (VMs). A novel pause functionality for the VFIO
device has been implemented in QEMU to enable the detachment of VFs from the
host without detaching them from the guest, making reconfiguration of VFs
transparent for guests that already have a VF attached to them without any
performance loss. The proposed solution offers the ability to automatically and
seamlessly assign a set of VFs to different VMs and adjust the configuration on
the fly. Thanks to the pause functionality, it also offers the ability to
attach additional VFs to new VMs without affecting devices already attached to
other VMs.