A user-space virtual device driver framework for Kubernetes

Jinyong Yin, Boming Liu, Hongzhi Liu
{"title":"A user-space virtual device driver framework for Kubernetes","authors":"Jinyong Yin, Boming Liu, Hongzhi Liu","doi":"10.1109/ICPECA53709.2022.9718896","DOIUrl":null,"url":null,"abstract":"Virtualization and Kubernetes have been widely used now in cloud platform. SRIOV-enabled devices can simulate multiple virtual devices from the hardware layer, each of which can be bound to a Pod from Kubernetes. So multiple Pods can share hardware resources, and resource utilization can be increased greatly. However, the existing drivers of virtual devices are mainly implemented in the Linux kernel space. If the driver fails, it will affect all applications on the host. In this paper, a user-space virtual device driver framework for Kubernetes is proposed. In the framework, only the driver and virtualization of physical device are implemented in kernel space. The IO address of virtual device is mapped into user space through VFIO and the driver of the virtual device is implemented in the Pause container. Other application containers in the same Pod can communicate with drivers in the Pause container through the API interface. Based on the framework, the user only needs to write drivers of virtual devices in the user space, which reduces the difficulty of developing the drivers and improves the reliability of the system. At the same time, because drivers of virtual device run in Pause containers, they can be distributed with applications together, which increases driver’s capability of isolation and distribution.","PeriodicalId":244448,"journal":{"name":"2022 IEEE 2nd International Conference on Power, Electronics and Computer Applications (ICPECA)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-01-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 IEEE 2nd International Conference on Power, Electronics and Computer Applications (ICPECA)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICPECA53709.2022.9718896","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Virtualization and Kubernetes have been widely used now in cloud platform. SRIOV-enabled devices can simulate multiple virtual devices from the hardware layer, each of which can be bound to a Pod from Kubernetes. So multiple Pods can share hardware resources, and resource utilization can be increased greatly. However, the existing drivers of virtual devices are mainly implemented in the Linux kernel space. If the driver fails, it will affect all applications on the host. In this paper, a user-space virtual device driver framework for Kubernetes is proposed. In the framework, only the driver and virtualization of physical device are implemented in kernel space. The IO address of virtual device is mapped into user space through VFIO and the driver of the virtual device is implemented in the Pause container. Other application containers in the same Pod can communicate with drivers in the Pause container through the API interface. Based on the framework, the user only needs to write drivers of virtual devices in the user space, which reduces the difficulty of developing the drivers and improves the reliability of the system. At the same time, because drivers of virtual device run in Pause containers, they can be distributed with applications together, which increases driver’s capability of isolation and distribution.
Kubernetes的用户空间虚拟设备驱动程序框架
虚拟化和Kubernetes已经在云平台上得到了广泛的应用。支持sriov的设备可以从硬件层模拟多个虚拟设备,每个虚拟设备都可以从Kubernetes绑定到一个Pod。因此多个pod可以共享硬件资源,大大提高了资源利用率。然而,现有的虚拟设备驱动程序主要是在Linux内核空间实现的。如果驱动程序失败,它将影响主机上的所有应用程序。本文提出了一个用户空间的Kubernetes虚拟设备驱动框架。在该框架中,只有驱动程序和物理设备的虚拟化在内核空间中实现。虚拟设备的IO地址通过VFIO映射到用户空间,虚拟设备的驱动程序在Pause容器中实现。同一Pod中的其他应用程序容器可以通过API接口与Pause容器中的驱动程序通信。基于该框架,用户只需在用户空间中编写虚拟设备的驱动程序,降低了驱动程序开发的难度,提高了系统的可靠性。同时,由于虚拟设备的驱动程序运行在Pause容器中,可以与应用程序一起分发,从而提高了驱动程序的隔离和分发能力。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信