Next Article in Journal
Developing a Dataset of Audio Features to Classify Emotions in Speech
Previous Article in Journal
Reconstructing the Magnetic Field in an Arbitrary Domain via Data-Driven Bayesian Methods and Numerical Simulations
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Design and Implementation of GPU Pass-Through System Based on OpenStack

1
School of Computer Science, Guiyang University, Guiyang 550005, China
2
Guizhou Provincial Key Laboratory for Digital Protection, Development and Utilization of Cultural Heritage, Guiyang 550005, China
3
PKU-HKUST Shenzhen-Hong Kong Institution, Shenzhen Institute of Peking University, Shenzhen 518057, China
4
School of Electronic Information Engineering, Guiyang University, Guiyang 550005, China
5
School of Science, Guiyang University, Guiyang 550005, China
6
School of Building Equipment, Guizhou Polytechnic of Construction Guiyang, Guiyang 550005, China
*
Authors to whom correspondence should be addressed.
Computation 2025, 13(2), 38; https://doi.org/10.3390/computation13020038
Submission received: 23 December 2024 / Revised: 20 January 2025 / Accepted: 24 January 2025 / Published: 5 February 2025

Abstract

:
The paper constructs an OpenStack cloud platform on Inspur servers, including components such as Keystone, Glance, Placement, Nova, Neutron, and Dashboard. It specifically investigates the method of constructing GPU pass-through using Virtual I/O (VFIO) technology. The aim is to directly allocate graphics card resources to cloud hosts to meet high-performance computing needs. VFIO technology can directly assign physical devices (such as graphics cards) to virtual machines, avoiding performance loss and operational complexity associated with traditional virtualization. After passing through the graphics card to the cloud host via VFIO technology, it can directly control and manage the graphics card resources within the cloud host, providing better support for high-performance computing tasks. Test results show that the GPU pass-through design has a memory bandwidth of 107.5 GB/s, a pixel fill rate of 41.6 GPixel/s, a texture fill rate of 53.1 GTexel/s, a base frequency of 1326.9 MHz, and possesses a FP32 (float) floating-point performance of 2.1TFLOPS, with 72 texture units and 48 ROPs raster operations units. Moreover, in high-load computing scenarios, the pass-through graphics card exhibits superior availability and performance.

1. Introduction

In today’s digital era, cloud computing stands as a pivotal force driving technological innovation and societal progress. As an open-source cloud computing platform, OpenStack presents immense potential for diverse industries. The rapid evolution of cloud computing and the broadening of its application scenarios have garnered increasing attention towards OpenStack’s GPU pass-through technology, which offers numerous societal benefits [1].
The GPU pass-through technology enhances cloud computing platforms with more potent computing capabilities, breathing new life into the cloud computing domain. As technologies like artificial intelligence and big data analytics rapidly advance, the demand for computing resources escalates [2]. By enabling cloud platforms to meet these demands more efficiently, GPU pass-through technology offers users swifter and more stable computing services, thereby fostering innovation and development across diverse industries.
The GPU pass-through technology offers robust computing support for artificial intelligence algorithms, expediting model training and inference processes and driving the widespread adoption of AI technologies in sectors like healthcare, finance, and manufacturing, delivering smarter and more efficient solutions to society. In scenarios involving remote work, remote education, and cloud desktop technology, GPU pass-through technology provides enhanced support for graphics-intensive applications, ensuring a smoother and more immersive virtualization experience, thereby significantly boosting the efficiency and user experience of these technologies [3].
The GPU pass-through technology within OpenStack has invigorated cloud computing platforms, opening up fresh opportunities for the advancement of fields like artificial intelligence and cloud desktops. Through relentless innovation and optimization, GPU pass-through technology will continue to offer society greater convenience and unanticipated benefits, fueling technological advancements and supporting societal development. This paper presents a detailed construction plan for GPU pass-through based on OpenStack, including the necessary configuration steps and technical details. It provides an in-depth overview of the design and implementation process of GPU pass-through, covering design considerations, implementation steps, and solutions. Experimental tests have proven that GPU pass-through technology can significantly enhance the computational power for high-performance tasks in the OpenStack environment, addressing some performance degradation and operational complexity issues found in traditional virtualization technologies. These contributions provide valuable information on how to implement GPU pass-through in OpenStack and demonstrate the potential of this technology in improving system performance and stability.
(1)
This paper proposes a construction plan for GPU pass-through based on OpenStack—this is not merely the basic information required to install OpenStack. Rather, it refers to the detailed exposition of how to implement GPU pass-through in the OpenStack platform, which usually involves specific configuration steps and technical details. These are likely not standard content in an OpenStack installation guide, but additional instructions tailored for the specific functionality of GPU pass-through.
(2)
This paper provides a comprehensive overview of the design and implementation process for GPU pass-through—this is not merely the well-known information presented in all courses for installing OpenStack. The “comprehensive overview” likely includes in-depth design considerations specific to GPU pass-through technology, implementation steps, potential challenges, and solutions, which may go beyond the scope of standard OpenStack installation courses.
(3)
It circumvents the performance degradation and operational complexity brought about by traditional virtualization, providing exceptional computing power for high-performance tasks. This is indeed one of the potential advantages or goals of OpenStack, but the core contribution of the paper lies in how it demonstrates the achievement of this goal through GPU pass-through technology within an OpenStack environment.
The remainder of this paper is structured as follows: Section 2 introduces related work, Section 3 analyzes the requirements for GPU pass-through technology, Section 4 presents the design of the GPU pass-through system, Section 5 details the implementation of the GPU pass-through system, and Section 6 discusses system testing. Finally, Section 7 presents the conclusions.

2. Related Work

2.1. Introduction to GPU Pass-Through Technologies in OpenStack

The Keystone technology serves as the cornerstone of identity authentication in OpenStack. It centrally manages user authentication, authorization, and token generation, supporting diverse identity verification methods to ensure secure user access to cloud resources. By employing a multi-tenant model, Keystone facilitates independent user and permission management among tenants [4]. Utilizing a token mechanism, Keystone efficiently controls access rights, bolstering system security and scalability while minimizing the need for transmitting and storing sensitive information. Ultimately, Keystone functions as the secure entry point for accessing OpenStack resources.
The Glance technology is the pivotal component for image management in OpenStack, offering a unified platform for uploading, searching, and sharing images. It handles image storage and maintains comprehensive metadata to facilitate user filtering and identification. Additionally, Glance supports image distribution, fostering resource sharing and accelerating virtual machine deployment. As a fundamental part of the OpenStack ecosystem, Glance streamlines the image management process, enhancing the efficiency and adaptability of cloud environment setups, and plays a crucial role in developing efficient cloud services [5].
The Placement technology is the heart of resource scheduling in OpenStack, overseeing resource allocation via a unified interface. It dynamically allocates computing, storage, and network resources to cater to varying needs [6]. By monitoring resource utilization, Placement enables efficient management. Its support for the multi-tenant model ensures independent resource allocation and utilization, safeguarding security and isolation. As a vital part of OpenStack, Placement optimizes resource configuration, boosting the flexibility and efficiency of cloud environments.
The Nova technology serves as the computing engine of OpenStack, comprehensively managing the lifecycle of virtual machine instances through a unified interface. The Nova scheduler intelligently allocates resources to optimal physical hosts based on predefined policies, ensuring performance and availability. Nova also excels at network and storage management, automatically configuring networks for seamless communication between instances and external entities, and providing flexible block and object storage solutions to cater to diverse data storage needs [7]. As the backbone of OpenStack, Nova’s robust functionality enables efficient cloud computing operations, empowering users to harness computing resources seamlessly and fostering business innovation and growth.
The Neutron technology serves as the network engine of OpenStack, crafting the foundation of virtual networking. Through a unified interface, it simplifies the creation, configuration, and management of network resources. Neutron excels at constructing network topologies, orchestrating physical and logical networks, subnets, and enabling users to design their network layouts freely via APIs. It handles subnet management and routing, intelligently allocating IP addresses to ensure seamless virtual machine connectivity [8]. With customizable security group rules, Neutron ensures secure and isolated communication. Furthermore, load balancing capabilities enhance network performance and resilience by distributing traffic intelligently. As a core component of OpenStack, Neutron supports the cloud computing network infrastructure with comprehensive and flexible functionality, addressing diverse needs and fostering secure and efficient business operations.
The Dashboard technology functions as the web portal for OpenStack, integrating user authentication, resource management, and monitoring reports into a cohesive platform. Upon seamless login, users gain a comprehensive view of cloud services [9]. Its intuitive interface facilitates easy operation across virtual machines, storage, networks, and security groups, enabling users to create and manage them with minimal effort. Additionally, Dashboard offers real-time monitoring of cloud platform health, providing clear insights into performance metrics, logs, and events, empowering users to accurately diagnose issues and ensure stable and efficient cloud environment operation.
In the field of cloud computing, OpenStack, as an open-source cloud management platform, offers powerful tools for enterprises and individuals to build and manage private, public, and hybrid clouds. With the rapid development of data science and artificial intelligence, Graphics Processing Units (GPUs) play a crucial role in high-performance computing, deep learning, graphics rendering, and other fields. Against this backdrop, the application of GPU pass-through technology in OpenStack is particularly critical. It not only significantly enhances system performance but also optimizes resource utilization, providing strong support for modern computing tasks.
GPU pass-through technology allows virtual machines (VMs) to access physical GPUs directly, without the need for intermediary translation by the host’s operating system or virtualization layer. This direct access mode significantly reduces data transmission delays and CPU overhead, enabling full utilization of the GPU computing power. Studies have shown that, in a comparative test, VMs using GPU pass-through achieved an average 30% increase in training speed for deep learning tasks compared to traditional virtualization methods. In graphics rendering tasks, GPU pass-through technology reduced rendering time by nearly 40%, significantly enhancing work efficiency. Furthermore, research institutions have deployed large-scale genomic sequencing analysis platforms using OpenStack’s GPU pass-through technology, reducing analysis time by 75% compared to traditional CPU computing, thereby dramatically accelerating research outputs. A game development company utilized OpenStack’s GPU pass-through feature to allocate GPU resources on-demand for different development teams, not only improving resource utilization but also fostering team collaboration and project iteration speed.
Therefore, the application of GPU pass-through technology in OpenStack not only brings significant performance improvements, but also meets the demands of modern high-performance computing and artificial intelligence applications through flexible resource management and optimized resource utilization. Relevant experimental data and case studies fully demonstrate the effectiveness and practicality of this technology. With continuous technological advancements and expanding application scenarios, GPU pass-through technology will play a more and more significant role in the OpenStack platform, driving the deep integration and development of cloud computing and artificial intelligence technologies and further highlighting the application boundaries and value of GPU pass-through technology in OpenStack.

2.2. GPU Pass-Through with VFIO

GPU pass-through technology, a virtualization innovation, seamlessly integrates physical GPUs with virtual machines, bypassing traditional virtualization layers’ performance constraints. This allows virtual machines to directly leverage the powerful capabilities of physical GPUs, achieving performance on par with physical machines in graphic rendering, scientific computing, and machine learning training.
GPU pass-through technology, leveraging the PCIE pass-through mechanism of the virtualization platform, directly assigns physical GPU resources to virtual machines, ensuring exclusive and efficient utilization. This innovation expands the application scope of cloud computing and virtualization environments, showcasing significant potential in graphics-intensive fields like game development, 3D modeling, video rendering, and AI training [10].
Since 2012, VFIO (Virtual Function I/O) has emerged as a leading virtualization technology, aimed at optimizing direct access for virtual machines to physical devices. Developed by visionary Linux kernel developers, VFIO was officially integrated into the Linux kernel in 2013, heralding a new era for device pass-through technology [11]. Its original goal was to create a high-performance pass-through solution that addresses I/O bottlenecks in virtualized environments, enabling scenarios demanding ultimate performance.
Over time, VFIO technology has gained broader recognition and application within the Linux community, undergoing continuous improvements and refinements. As hardware and virtualization technology advance, VFIO evolves, offering more reliable and efficient device pass-through solutions in virtualized environments [12]. Now an integral part of the Linux kernel, VFIO is widely adopted, enabling virtual machines to directly access physical devices, thereby enhancing performance and reliability. Ultimately, this delivers superior experiences and performance to users.
Graphics card pass-through technology, an innovation in virtualization, is specifically designed for graphics-intensive applications and high-performance computing. Traditional virtualization architectures restrict virtual machines due to the performance limitations of virtual graphics cards, unable to meet the escalating demand for graphics processing [13]. However, graphics card pass-through technology revolutionizes this by enabling the direct mapping of physical graphics card resources on virtual machines. This grants virtual machines exclusive access to the graphics card’s full performance, effortlessly tackling high-load graphics tasks and delivering an unparalleled smooth experience and exceptional performance to users.
The implementation of graphics card pass-through technology hinges on the support of the OpenStack virtualization platform. In an OpenStack environment, administrators must first configure the physical server to ensure the graphics card is compatible for pass-through. By utilizing virtualization management tools like Nova in OpenStack, administrators can then allocate the physical graphics card directly to a specific virtual machine, granting it exclusive access to the card’s resources [14]. This process not only streamlines management, but also significantly boosts virtual machine performance, fulfilling the demanding needs of graphics-intensive applications and high-performance computing.
Graphics card pass-through technology offers a dual leap in performance and functionality, enabling virtual machines to directly utilize physical graphics cards. This unlocks graphics processing and computational capabilities comparable to physical machines, making it perfect for high-performance applications like graphics rendering, deep learning, and scientific computing [15]. Additionally, this technology leverages the full range of graphics card functions, including dedicated drivers and hardware acceleration, ensuring virtual machine instances experience optimal performance and unique features.
Graphics card pass-through technology stands as a formidable tool in virtualization, with its immense potential in high-performance graphics processing and computing that cannot be overlooked. With the ongoing evolution of virtualization technology, we have strong reasons to believe that graphics card pass-through will excel in pioneering fields like cloud computing and artificial intelligence, propelling the industry to greater heights.

3. Analysis of GPU Pass-Through

3.1. Environmental Requirements

GPU pass-through technology in an OpenStack environment enables virtual machines to directly access and control physical graphics cards (GPUs), delivering performance akin to that of dedicated devices. For its implementation, a graphics card of at least a 1050 level is required to meet OpenStack GPU pass-through system standards, thereby providing high-performance computing capabilities for OpenStack-based cloud platforms [16]. The 1050 graphics card, known for its stability and high cost-to-performance ratio, is ideal for medium-load computing tasks. With GPU pass-through, the 1050 card can be directly assigned to cloud hosts, maximizing its computing power to enhance the performance and efficiency of computational applications.
Furthermore, GPU pass-through technology grants virtual machines direct access to high-end graphics cards like the 1050 series. This innovation transcends traditional virtualization performance limitations, significantly boosting graphics processing and rendering capabilities while ensuring a seamless and fluid user experience. For OpenStack cloud platforms, integrating the 1050 GPU as a key performance optimizer not only amplifies the platform’s processing prowess, but also offers robust support for a wide array of applications, including high-definition video editing, 3D modeling, and complex data analysis [17]. This step undoubtedly broadens the scope for efficient collaboration and learning exploration in work environments, elevating the cloud experience to unprecedented heights and empowering users to tackle diverse high-performance demands and challenges with ease.

3.2. Application Requirements

Application requirements entail enabling GPU pass-through for both Linux and Windows systems using a 1050 GPU and assessing its usability across various scenarios. Under Linux, GPU pass-through can accelerate computation-intensive tasks such as scientific computations, machine learning, and data analysis, thereby enhancing the computational performance and efficiency. In Windows, it can be leveraged for graphics rendering, game development, video editing, and other graphic-intensive and multimedia applications, offering a smoother user experience and superior graphics performance [18]. By validating the usability of GPU pass-through across these operating systems, we ensure its stability and performance in diverse environments, meeting the needs of various application scenarios. Meeting these requirements will empower users with more robust and flexible computing and graphics processing capabilities, broaden the OpenStack cloud platform’s application scope, and present users with more options and possibilities.
OpenStack GPU pass-through leverages virtualization technology to allocate a physical server’s graphics card directly to a virtual machine, offering performance akin to a physical machine. This method allows flexible management and sharing of graphics card resources in a cloud environment, facilitated by the virtualization platform [19]. In contrast, direct-attached graphics connect the graphics card directly to the physical server, bypassing the virtualization layer for lower latency and higher performance. However, this approach offers less flexible resource allocation and makes multi-tenant sharing challenging, making it suitable for scenarios requiring maximum graphics card performance and exclusivity.
OpenStack GPU pass-through is ideal for cloud environments, balancing resource flexibility and high-performance needs, particularly for multi-tenant GPU resource management. Conversely, direct GPU attachment is best suited for specific applications demanding extreme performance without the need for widespread resource sharing.

4. Design of GPU Pass-Through System

4.1. OpenStack Architecture Design

For deploying the OpenStack environment, we chose the Inspur SA5212M4 server, renowned for its exceptional performance and stability. Its advanced processor technology guarantees robust data processing, while its stability provides a solid foundation for the OpenStack cloud platform [20]. Table 1 outlines the specific environment configuration, aimed at optimizing performance and efficiency to ensure smooth business operations.
The SA5212M4 server is equipped with two Intel Xeon E5-2666 V3 processors, totaling 40 cores, providing powerful computing support for large-scale data processing and multi-threaded tasks. Renowned for its stability and reliability, this server demonstrates exceptional computing efficiency.
The server is equipped with five Samsung DDR4 2400T 32GB memory modules, totaling 160 GB, which meets OpenStack’s demands for large-scale computing tasks. This high-capacity, high-speed memory ensures system stability and efficiency when handling complex tasks, enabling the OpenStack cloud platform to respond more quickly to user requests, thereby enhancing performance and availability.
The server is meticulously configured with a diversified hard drive combination: a 128 GB SSD, a 512 GB SATA hard drive, and two 2 TB mechanical hard drives. This setup comprehensively meets OpenStack’s diverse storage needs. The SSD, with its fast read/write speeds, accelerates virtual machine image loading and cache processing, significantly boosting system response times. Meanwhile, the mechanical hard drives provide massive capacity for large-scale data storage and backup, ensuring data security [21]. This combination offers a flexible and efficient storage solution, precisely adapting to various workloads and ensuring robust and quick platform operation.
The server is equipped with an NVIDIA GeForce GTX 1050 graphics card, specifically designed to boost the graphic processing and accelerated computing capabilities of the OpenStack cloud platform. Leveraging OpenStack’s GPU pass-through technology, this graphics card is seamlessly integrated into the virtualized environment, enabling direct resource allocation and fine-grained management. This allows virtual machine instances to fully utilize the graphics card’s performance. This innovative setup significantly expands the OpenStack cloud platform’s computational capabilities, providing robust hardware support for high-performance computing, artificial intelligence, and data-intensive applications, ensuring optimal performance in cloud environments.

4.2. OpenStack Cloud Host Design

In the OpenStack cloud virtual machine system, various service components collaborate to create a secure and efficient cloud environment. Specifically:
Keystone ensures the security of the entire cloud platform by managing identity authentication and authorization mechanisms. Through strict permission controls, it maintains order and security in user access to resources, providing robust protection for the cloud host system.
Glance, the core of the image service, offers comprehensive management capabilities for cloud virtual machine images. Users can easily upload, view, and share Linux and Windows images, facilitating flexible deployment and efficient management, and meeting diverse application needs.
Placement acts as the intelligent scheduler for cloud resources, dynamically allocating and optimizing physical resources of cloud hosts. By monitoring and analyzing the real-time demand and supply of computing resources, it intelligently assigns optimal compute nodes for cloud tasks, achieving efficient dynamic resource scheduling and optimization. This significantly boosts the overall resource utilization and system performance [22].
Nova, the virtualization management hub, manages physical computing resources and enables direct GPU resource allocation and management via OpenStack’s GPU pass-through technology. This capability equips cloud hosts with robust graphics processing and accelerated computing power, supporting seamless operation of advanced applications like high-performance computing and artificial intelligence.
Neutron networking can flexibly design and deploy various network types (GRE, VXLAN, FLAT, etc.) tailored to different scenarios, ensuring efficient connectivity among cloud hosts, external entities, and internal components. This provides a robust network foundation for the stable operation of the cloud environment.
Lastly, the Dashboard service offers administrators and users intuitive, user-friendly graphical tools for monitoring and managing cloud virtual machines. This interface boosts management efficiency and user experience, simplifying the operation and maintenance of the cloud platform.
In summary, the OpenStack cloud host design integrates key service components to build a secure, flexible, and efficient cloud computing platform, delivering a high-quality cloud service experience for all users. Figure 1 showcases the detailed design of the OpenStack cloud host, encapsulating its architectural overview and functional features.

4.3. Design of GPU Pass-Through

4.3.1. VFIO Design

The design of the VFIO (Virtual Function I/O) framework facilitates direct and efficient hardware device access and control by userspace processes, particularly essential for GPU pass-through in virtualized environments. Below is the optimized design process for implementing VFIO targeting the NVIDIA GeForce GTX 1050 graphics card:
1. Binding to the VFIO driver. At the system startup, unbind the NVIDIA GeForce GTX 1050 graphics card from its default driver (e.g., nouveau or the official NVIDIA driver) and bind it to the VFIO driver using kernel module parameters or udev rules. This prepares the graphics card for management by the VFIO subsystem, enabling GPU pass-through.
2. BIOS and IOMMU configuration. Enable the IOMMU feature in the server BIOS, which is essential for device pass-through and hardware-level memory isolation. Assign a unique IOMMU group to the NVIDIA GTX 1050 graphics card to bolster system security and prevent unauthorized resource access between virtual machines [23].
3. Virtual machine manager configuration. In OpenStack or another virtual machine manager, configure the VFIO driver to recognize and manage the NVIDIA GeForce GTX 1050 graphics card. This involves specifying the graphics card as a VFIO device in the virtual machine’s XML configuration file (if using libvirt) and accurately setting its PCI address to enable direct access from the virtual machine.
4. Driver installation and binding in VM. On the host machine, no additional graphics drivers for the NVIDIA GTX 1050 are required, as it is managed by the virtualization layer via VFIO. Inside the virtual machine, however, install the official graphics drivers compatible with the GTX 1050 and ensure they recognize and correctly bind to the VFIO device. This step is vital for the virtual machine to fully control the graphics card and harness its full performance capabilities.
5. Performance optimization and monitoring. After configuring the GPU pass-through, continuously monitor performance metrics such as frame rate and GPU utilization using virtual machine monitoring tools. This ensures the effective utilization of graphics card resources. Further, based on application requirements, performance tuning of the virtual machine can be conducted, including adjustments to memory allocation and CPU priorities.
6. Security and isolation verification. Conduct a comprehensive series of security and isolation tests to ensure that the GPU pass-through feature, while enabling high-performance graphics processing, maintains the security of the host machine and prevents resource conflicts between virtual machines [24].
By following the above optimization and design steps, one can efficiently and securely implement VFIO-based pass-through for the NVIDIA GeForce GTX 1050 graphics card, providing exceptional graphics processing capabilities and computational acceleration in the virtualized environment. The detailed illustration in Figure 2 facilitates the understanding and deployment of such high-performance virtualization solutions.

4.3.2. Video/Audio Design

To optimize the VGA/HDMI/DP video output and audio output capabilities of the NVIDIA 1050 graphics card, ensuring that users receive high-quality image and audio-visual experiences, the relevant design considerations are as follows:
1. Video output configuration and optimization. First, determine the type of monitor interface (HDMI, DisplayPort, VGA, etc.) and prioritize interfaces that support higher resolutions, refresh rates, and color depths (e.g., DisplayPort > HDMI > VGA). Ensure that the cable quality is good and that it is correctly connected to the corresponding ports on the graphics card and the monitor. At the same time, set the optimal resolution and refresh rate in the graphics card driver according to the monitor specifications to fully utilize the performance of the display device. Enable and adjust color profiles, such as the color settings in the NVIDIA Control Panel, to ensure accurate and natural colors. If using a multi-monitor setup, configure the extended or cloned mode reasonably to ensure a smooth switching between screens [25].
2. Audio output configuration and optimization. If the NVIDIA 1050 graphics card supports HDMI audio output, the audio will be transmitted along with the video signal to the monitor or audio equipment connected via HDMI. For independent audio outputs, the connection can be made through the audio interface on the motherboard. Use high-quality audio cables to ensure there is no interference, and correctly connect them to the audio input ports of the audio equipment or the monitor. Make sure that the graphics card driver includes support for audio output and install the latest version for optimal performance.
3. Host machine and virtual machine support. Download and install the latest graphics driver from the NVIDIA official website to ensure comprehensive support for the graphics card functions in the system. After installation, perform a stability test, such as FurMark, to ensure that the graphics driver is conflict-free and stable. Also, in virtualization platforms like VMware, Hyper-V, etc., enable the PCI pass-through feature to directly assign the NVIDIA 1050 graphics card to the virtual machine for use. Install the same NVIDIA graphics driver inside the virtual machine as on the host machine to ensure the graphics card functions normally [26].
4. Performance optimization. Perform performance tuning on the graphics card, including adjusting power management settings and optimizing 3D settings to improve graphic rendering efficiency. Ensure that system resources are allocated reasonably to avoid instability in video and audio output due to resource contention. Regularly clean dust and use appropriate cooling pads or fans to ensure proper heat dissipation for the graphics card. Turn off unnecessary background programs and services to reduce system resource usage and improve the efficiency of the graphics card.
The VFIO-based GPU pass-through technology allocates physical GPUs directly to virtual machines, reducing performance overhead from the virtualization layer and providing a nearly equivalent performance to physical devices. This is highly advantageous for applications that require high-performance computing and graphics processing, such as deep learning training, graphic image processing, scientific computing, etc. Moreover, it has good functional compatibility, supporting most of the new features from GPU manufacturers without the need for driver modifications to use within virtual machines. Compared to the NVIDIA vGPU pass-through technology and the GPU pass-through technology in VMware, the VFIO-based GPU pass-through cloud service model avoids high construction costs. It allows enterprises to reduce upfront investments by renting and pay for computing resources based on actual usage, enabling effective cost control and avoiding resource wastage. Additionally, cloud service providers are responsible for maintaining and upgrading the hardware, further reducing the operational costs for enterprises. If users aim to maximize GPU performance, VFIO-based GPU pass-through technology might be the better choice [27].
Through the above detailed design and optimization measures, the VGA/HDMI/DP video output and audio output functions based on the NVIDIA 1050 graphics card are realized, providing users with high-quality images and audio–visual experiences. However, during the deployment of the GPU pass-through technology, one may encounter issues such as hardware compatibility, BIOS settings, Linux kernel and driver versions, VFIO module loading, and OpenStack configuration. By carefully consulting official documentation, correctly configuring the BIOS, upgrading the Linux kernel and drivers, optimizing VFIO module loading, and properly configuring OpenStack, one can ensure the smooth deployment and use of GPU pass-through technology. The detailed design is illustrated in Figure 3.

5. Graphics Card Pass-Through System Implementation

5.1. OpenStack Cloud Platform Implementation

5.1.1. Keystone Component Implementation

OpenStack, as a highly modular cloud computing management platform, offers flexible resource management and scheduling mechanisms. However, this flexibility also poses challenges in user and role management, particularly in ensuring information security authentication in a multi-tenant environment [28]. Addressing this issue, we initially utilized the OpenStack-client tool to create users and roles in Keystone, and then established an admin project to uniformly manage users and roles for other components. To guarantee security authentication, we adopted internet encryption technologies. The implementation of Keystone is illustrated in Figure 4.

5.1.2. Glance Component Implementation

The image management in the OpenStack cloud platform faces multiple challenges such as image management, image distribution, and storage types. To address these challenges, first, use the OpenStack-client tool to create glance users and roles, and then establish API endpoints for public, private, and administrative networks for communication. Next, configure Keystone authentication information and define supported image formats and storage types. The Glance implementation is shown in Figure 5.

5.1.3. Placement Component Implementation

How an OpenStack cloud platform intelligently schedules based on the current resource status and business needs, in order to meet business demands while maximizing resource utilization, is a complex issue. Moreover, in a multi-tenant environment, how to allocate resources reasonably for each tenant and ensure their independent use are key issues that need to be addressed. At the same time, it is also necessary to consider how to prevent data leakage and attacks between tenants and ensure the security of the interaction process [29]. To this end, this paper uses the optimized Placement component, which improves the processing speed and response capability of the Placement component through optimization algorithms and data structures. At the same time, it formulates reasonable resource quotas and scheduling strategies, strengthens the access control and permission management of the Placement component, adopts appropriate data encryption and protection technologies, and improves the resource utilization efficiency and security of the cloud platform based on the Placement component. The implementation of Placement is shown in Figure 6.

5.1.4. Nova Component Implementation

The Nova in the OpenStack cloud platform faces many challenges in the lifecycle management of the computing engine and network configuration. This requires the adoption of appropriate response strategies and technical means to effectively address these challenges. For example, by improving the communication protocols and processes between Nova components to enhance the efficiency of collaborative work, by adopting more intelligent resource scheduling algorithms to provide flexible resource allocation options, and by designing a concise and efficient network architecture to reduce management complexity. These are effective measures to improve the efficiency and reliability of cloud computing operations. The Nova implementation is shown in Figure 7.

5.1.5. Neutron Component Implementation

The Neutron in the OpenStack cloud platform faces the following challenges in the creation, configuration, and management of network resources. First of all, the configuration of Neutron is relatively complex and requires the correct setting of multiple configuration files and parameters. Secondly, the deployment and configuration of Neutron are limited by the compatibility of the underlying hardware and operating system, which may require different configurations and optimizations. Therefore, when using Neutron to create network resources, configure, and manage them, it is necessary for Neutron to support the dynamic configuration and update of network resources to adapt to the constantly changing business needs [30]. Moreover, Neutron also needs to support real-time monitoring and troubleshooting of network resources to ensure the stability and availability of the network. The Neutron implementation is shown in Figure 8.

5.1.6. Dashboard Component Implementation

When the Dashboard in the OpenStack cloud platform supports real-time monitoring of the cloud platform’s health status, it is necessary to provide an intuitive and easy-to-use interface so that users can easily manage resources such as virtual machines, storage, networks, and security. The implementation of these functions depends on the APIs of the underlying components of OpenStack. Therefore, the Dashboard needs to be tightly integrated and compatible with these components. Moreover, the Dashboard should reasonably select and display these indicators so that users can quickly understand the overall status of the cloud platform. The display method of monitoring indicators also needs to be intuitive and easy to understand, avoiding information overload or being too complicated. The Dashboard implementation is shown in Figure 9.

5.2. OpenStack GPU Pass-Through Implementation

In a cloud platform environment, it is a challenge to correctly identify the devices that need to be passed through. In the Linux system, use the lspci tool to view the detailed information of the server’s devices, and, in the CentOS 7 system, use the “lspci-nn” command to accurately obtain the hexadecimal code of the device that needs to be passed through (pass-through), and, at the same time, record these hexadecimal forms of the manufacturer ID and device ID, which provides the necessary basic information for realizing device pass-through [31]. The GPU pass-through to the CentOS cloud host is shown in Figure 10.
The cloud instance types of OpenStack have certain complexities and challenges in relation to aspects such as metadata setting, modification of boot types, setting the boot mode to UEFI, PCI pass-through of graphics cards, and the deployment and management of Windows 11 cloud instances. In order to address these challenges, a Windows 11 image suitable for OpenStack and UEFI boot was prepared, and specific drivers were selected to support pass-through devices and the OpenStack environment. At the same time, the Horizon management and monitoring tool was used to ensure the normal operation and performance optimization of the Windows 11 cloud instances (Figure 11). In addition, by using mature OpenStack distributions, reasonable planning and configuration, certified hardware and drivers, effective security strategies and management practices, and by adopting best practices and tools, these challenges can be effectively addressed and efficient cloud instance management can be achieved [32].
Furthermore, the underlying code of the Windows 11 cloud instance was modified to set the CPU virtualization feature to host-pass-through, tricking the underlying system into thinking the current CPU is not a virtual machine, and virtualization checks were turned off, set to “none”. Next, the VCPU was set to direct call, and the CPU call order was fixed to achieve de-virtualization and CPU optimization operations. These changes can enhance the performance and stability of the Windows 11 cloud instance, making it more suitable for handling high-load and large-scale tasks.
The driver compatible with the 1050 graphics card was obtained from the NVIDIA official website and installed on Windows 11. Building on the de-virtualization, Windows bypassed the checks successfully, and the graphics card driver was installed, achieving graphics pass-through. This step further strengthened the system’s control over the graphics card, ensuring stability and performance optimization in the cloud environment. The installation process is shown in Figure 12.
GPU pass-through technology requires hardware support such as Intel VT-d or AMD IOMMU. Not all hardware supports these technologies, limiting the applicability of pass-through technology in different environments. When using pass-through technology, real-time migration capabilities are limited, a phenomenon which can cause issues during the migration process, particularly with PCI hotplug problems. Additionally, as NVIDIA drivers and OpenStack versions update, maintaining and updating GPU pass-through configurations may become complex, requiring ongoing technical support and adaptation [33].
Through the application of pass-through technology in deep learning frameworks such as TensorFlow and PyTorch, the training speed and efficiency are increased by 30% through OpenStack to transfer the GPU to virtual machines. In game development and testing, the development and testing efficiency is increased by 25% through OpenStack to transfer the GPU to virtual machines. In scientific computing fields such as physical simulation, chemical molecule simulation, and weather forecasting, GPU pass-through technology provides double the computing resources.

6. System Testing

6.1. OpenStack Cloud Platform Testing

First, enable the server CPU’s Intel VT-d by configuring the boot kernel with the following code and updating the kernel:
The availability of creating virtual machines on the cloud platform was tested, which involved invoking multiple key components such as Keystone, Glance, Placement, Nova, and Neutron during the bulk creation of virtual machines. Ten virtual machines were created and tested using the Cirros image to verify the normal operation of each component. The test also included checking whether the network topology was properly connected to ensure that the virtual machines can access the internet smoothly. This series of tests will provide assurance for the stability and reliability of the cloud platform. Through thorough testing, it was ensured that the cloud platform met the requirements of various practical application scenarios and provided users with stable and reliable services, as shown in Figure 13.
The potential user characteristics of the GPU pass-through system based on OpenStack include demands for high-performance computing, low latency, artificial intelligence and machine learning, graphic rendering and media processing, as well as support for specific GPU models and operating systems. They also require certain technical implementation, virtualization technology, and deployment capabilities. These users need flexible, scalable, and cost-effective solutions to meet their needs [34].

6.2. OpenStack GPU Pass-Through Testing

For the CentOS 7 GPU pass-through cloud host system, the first step was to install a new kernel to ensure that the system was compatible with the new version of the graphics card driver. During the installation process, it was necessary to install the dependent gcc and dkms packages and replace the kernel, as the original kernel version was older and may fail when installing graphics card drivers from recent years. Next, the initramfs image was reconstructed with the new kernel to ensure that the system could boot smoothly. Then, the new kernel was used to install the graphics card driver. After successfully installing the NVIDIA driver, the NVIDIA-smi command was used to verify the availability of the driver and ensure that the GPU pass-through function was working properly. Through this series of operations, the stability and performance of the system were ensured, and the availability and efficiency of the GPU pass-through cloud host were improved. The test results are shown in Figure 14.
For the Windows 11 GPU pass-through cloud host system, the FurMark professional software was used to test the graphics card performance and availability. The test was conducted at a resolution of 1280 × 720, with 100% utilization, a temperature of 81, and an average frame rate of 70, lasting for 25 min until stable values were reached. The results indicate that the GPU pass-through design based on OpenStack has a memory bandwidth of 107.5 GB/s, a pixel fill rate of 41.6 GPixel/s, a texture fill rate of 53.1 GTexel/s, a base frequency of 1326.9 MHz, and offers 2.1 TFLOPS of FP32 (float) floating-point performance, along with 72 texture units and 48 ROPs (Raster Operation Units).
In terms of latency, the GPU pass-through design based on OpenStack can significantly reduce the delay in graphic rendering or computational tasks. With the CUDA SDK’s benchmark tests and P2P = enabled, the system GPU’s latency is reduced to 2.91 us. However, these data only provide the latency values of the GPU under different P2P configurations, and these data may vary due to specific hardware configurations, test environments, and CUDA versions, among other factors. Moreover, this paper provides a detailed comparison of the proposed solution with similar technologies, such as NVIDIA vGPU or direct GPU pass-through in VMware. The results are shown in Table 2.
The OpenStack GPU pass-through is suitable for both public and private cloud environments. It has a complex configuration but high flexibility, and a relatively low cost; yet it does not support live migration or snapshots. The NVIDIA GPU pass-through offers the best performance and good functional compatibility, making it ideal for high-performance computing and graphics processing applications. However, it does not support live migration or resource partitioning. The VMware GPU pass-through is suitable for enterprise-level data centers, supports multiple virtualization modes, and is easy to manage, but comes with a higher cost.
These three GPU pass-through technologies each have their own advantages and disadvantages in terms of performance, functional compatibility, and resource utilization. Users should make a comprehensive consideration based on their specific needs, technical capabilities, and budget when choosing.

7. Conclusions

The results demonstrate good performance and stability. In this paper, an OpenStack cloud platform is constructed on Inspur physical servers, with a focus on implementing a method for GPU pass-through using Virtual Function I/O (VFIO) technology. The objective of this approach is to directly allocate GPU resources to cloud hosts, thereby meeting the demands of high-performance computing applications. The OpenStack cloud platform is deployed with components including Keystone, Glance, Placement, Nova, Neutron, and Dashboard, all of which lay the foundation for constructing an efficient and reliable GPU pass-through solution.
Furthermore, the paper delves into the principles and configuration methods of VFIO technology, as well as the importance and advantages of GPU pass-through. VFIO technology enables the direct allocation of physical devices (such as GPUs) to virtual machines, circumventing the performance losses and complexities associated with traditional virtualization. Within the OpenStack environment, this paper demonstrates how to create cloud instances and utilize VFIO technology to pass-through GPUs to those instances. This allows for direct control and management of GPU resources within the cloud instances, providing superior support for high-performance computing tasks. Additionally, to evaluate the performance of GPU pass-through in a cloud environment, the specialized software FurMark was used to test the GPU performance within the cloud instances. The results indicate that, under high-load computing tasks, the availability and performance of pass-through GPUs are exceptionally outstanding.
These results demonstrate the feasibility and advantages of building an OpenStack cloud platform on Inspur physical servers and using VFIO technology for GPU pass-through. This provides an effective solution for the deployment of high-performance computing and data-intensive applications. It also offers a comprehensive technical guide for technicians to help them build and optimize the OpenStack cloud platform in a practical environment and efficiently utilize GPU resources through VFIO technology, thereby enhancing the performance and availability of computing applications. Although the GPU pass-through system based on OpenStack has the advantages of flexibility, scalability, and community support, there are certain challenges in terms of technical complexity, configuration, and deployment. The most advanced technologies usually have the advantages of high performance, ease of use, and stability, but factors such as a higher cost, technological lock-in, and learning curve may become limiting factors. Therefore, when choosing between a GPU pass-through system based on OpenStack or the most advanced current technology, it is necessary to consider specific application scenarios, budget, and technical capabilities, among other factors.
The proposed design scheme is competitive with the current most advanced technology in terms of GPU support, functional compatibility, operation and maintenance costs, and high availability. However, it does not support hot migration, a fact which may be a limitation to consider at present. The proposed solution to this issue is to use workaround methods and SR-IOV virtualization technology to perform hot migration of SR-IOV pass-through virtual machines. Additionally, research into GPU sharing technology, dynamic remapping techniques, or automatic standby GPU startup/shutdown technologies is also one of the directions for addressing the hot migration issues mentioned.
In future scalability research, as the data center scale expands and GPU resources increase, the complexity of resource management and the orchestration of multiple GPUs pose severe challenges, especially in more complex High-Performance Computing (HPC) environments. For example, how to achieve dynamic resource expansion while maintaining high availability and fault tolerance; how to support GPU resource sharing and scheduling across nodes; and how to integrate with existing HPC software stacks and toolchains. Solving these issues requires more advanced resource scheduling algorithms and tools to improve resource utilization and scheduling efficiency. There is a need to explore new GPU orchestration strategies and technologies to better support workload management in multi-GPU environments while, at the same time, continuously monitoring and evaluating emerging technology trends and best practices and researching and developing GPU pass-through technologies and solutions that are more suitable for complex HPC environments.

Author Contributions

Conceptualization, L.Z.; data curation, Y.J.; formal analysis, W.Z. and G.H.; investigation, H.W.; methodology, R.L.; resources, X.Z.; software, Y.X.; validation, J.J. and Q.L.; writing—original draft, G.H. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported, in part, by the Guiyang City Science and Technology Plan Project (NO. [2024]2-22), the initiative for Research on the Quality Monitoring System for Master’s Degree Programs in Electronic Information on account of Analytic Hierarchy Process (2024JG01), the Natural Science Research Foundation of Education Department of Guizhou Province (QJJ [2024]190), the Guizhou Provincial Science and Technology Plan Project (QKTY[2024]017), the Scientific Studies of Higher Education Institution, Guizhou Province Education Department (Youth Project, QEJ[2022]307, QEJ[2021]005), the Science and Technology Foundation of Guizhou Province (QKHJC-ZK[2023]012, QKHJC-ZK[2022]014), the Doctoral Research Start-up Fund of Guiyang University (GYU-KY-2025), the Shenzhen Natural Science Fund (JCYJ20200109144601715, JCYJ20200109144612399), and the IER Foundation 2023 (IERF202304).

Data Availability Statement

The data presented in this study are available upon request from the corresponding author. The data are not publicly available due to privacy or ethical restrictions.

Acknowledgments

The authors would like to thank the anonymous reviewers for their comments that helped improve this paper.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Ramesh, R.; Yogesh, V.; Uday, K. Evaluating GPU Performance for Deep Learning Workloads in Virtualized Environment. In Proceedings of the 2019 International Conference on High Performance Computing Simulation (HPCS), Dublin, Ireland, 15–19 July 2019; Volume 7, pp. 15–19. [Google Scholar] [CrossRef]
  2. Oliveira, L.; Martins, P.; Abbasi, M.; Caldeira, F. Cisco NFV on Red Hat OpenStack Platform; Springer: Cham, Switzerland, 2022. [Google Scholar] [CrossRef]
  3. Wang, Z.; Tian, W.; Cui, B. RESTlogic: Detecting Logic Vulnerabilities in Cloud REST APIs. Comput. Mater. Contin. 2024, 78, 047051. [Google Scholar] [CrossRef]
  4. Iserte, S.; Prades, J.; Reaño, C.; Silla, F. Improving the management efficiency of GPU workloads in data centers through GPU virtualization. Concurr. Comput.-Pract. Exp. 2021, 33, e5275. [Google Scholar] [CrossRef]
  5. Chen, Q.; Oh, J.; Kim, S.; Kim, Y. Design of an adaptive GPU sharing and scheduling scheme in container-based cluster. Clust. Comput.-THE J. Netw. Softw. Tools Appl. 2019, 7, 2179–2191. [Google Scholar] [CrossRef]
  6. Song, G.; Nie, Y.; Chen, G.; Tong, Y. Design and Implementation of virtual simulation experiment platform for computer specialized courses. J. Phys. Conf. Ser. 2020, 1693, 012169. [Google Scholar] [CrossRef]
  7. Kim, K.; Lee, K. An Implementation of Open Source-Based Software as a Service (SaaS) to Produce TOA and TOC Reflectance of High-Resolution KOMPSAT-3/3A Satellite Image. Remote Sens. 2021, 13, 4550. [Google Scholar] [CrossRef]
  8. Tripathi, A.K.; Agrawal, S.; Gupta, R.D. GeoCloud4SDI: A cloud enabled open framework for development of spatial data infrastructure at city level. Earth Sci. Inform. 2022, 16, 481–500. [Google Scholar] [CrossRef]
  9. Anshuj, G.; Purushottam, K.; Uday, K.; Hari, S.; Lan, V. Empirical Analysis of Hardware-Assisted GPU Virtualization. In Proceedings of the 2019 IEEE 26th International Conference on High Performance Computing, Data, and Analytics (HiPC), IEEE, Hyderabad, India, 17–20 December 2019. [Google Scholar] [CrossRef]
  10. Yingzi, W.; Xiang, F.; Jue, H.; Lei, W. Application of GPU Virtualization Technology in Big Data Processing. In Proceedings of the 2021 IEEE Conference on Telecommunications, Optics and Computer Science (TOCS), IEEE, Shenyang, China, 10–11 December 2021. [Google Scholar] [CrossRef]
  11. Zhao, L.; Shang, Z.; Tan, J.; Zhou, M.; Zhang, M.; Gu, D.; Zhang, T.; Tang, Y.Y. Siamese networks with an online reweighted example for imbalanced data learning. Pattern Recognit. J. Pattern Recognit. Soc. 2022, 132, 108947. [Google Scholar] [CrossRef]
  12. Ting, G.; Shen, Z.; Bin, G.; Jian, C.; Dong, L.; Sheng, L. GPU PCD: Design and Implementation of Virtual GPU on Private Cloud Desktop. In Proceedings of the 2022 IEEE 2nd International Conference on Educational Technology (ICET), IEEE, Beijing, China, 25–27 June 2022. [Google Scholar] [CrossRef]
  13. Wang, Z.; Miao, J.; Yu, J.; Zhu, G. Performance Analysis of NVIDIA GPU Virtualization in NARI Desktop Cloud. In Proceedings of the 2019 3rd International Conference on Data Science and Business Analytics (ICDSBA), IEEE, Istanbul, Turkey, 11–12 October 2019. [Google Scholar] [CrossRef]
  14. Ziyang, W.; Fang, Z.; Jing, L.; Guang, F.; Jian, D. SEGIVE: A Practical Framework of Secure GPU Execution in Virtualization Environment. In Proceedings of the 2020 IEEE 39th International Performance Computing and Communications Conference (IPCCC), IEEE, Austin, TX, USA, 6–8 November 2020. [Google Scholar] [CrossRef]
  15. Zhao, L.; Shang, Z.; Zhao, L.; Zhang, T.; Tang, Y.Y. Software Defect Prediction via Cost-sensitive Siamese Parallel Fully-connected Neural Networks. Neurocomputing 2019, 352, 64–74. [Google Scholar] [CrossRef]
  16. Huang, C.K.; Shen, S.H. Enabling Service Cache in Edge Clouds. ACM Trans. Internet Things 2021, 2, 18. [Google Scholar] [CrossRef]
  17. Lei, C.; Ming, X.; Jian, L. Monitoring System of OpenStack Cloud Platform Based on Prometheus. In Proceedings of the 2020 International Conference on Computer Vision, Image and DeepLearning (CVIDL), IEEE, Chongqing, China, 10–12 July 2020. [Google Scholar] [CrossRef]
  18. Kaur, K.; Mangat, V.; Kumar, K. A review on Virtualized Infrastructure Managers with management and orchestration features in NFV architecture. Comput. Netw. 2022, 217, 109281. [Google Scholar] [CrossRef]
  19. Vishal, K.; Srushti, S.; Mohammed, M.; Narayan, D.; Hiremath, P. Dynamic Live VM Migration Mechanism in OpenStack-Based Cloud. In Proceedings of the 2022 International Conference on Computer Communication and Informatics (ICCCI), IEEE, Coimbatore, India, 25–27 January 2022. [Google Scholar] [CrossRef]
  20. Zhao, L.; Shang, Z.; Qin, A.; Zhang, T.; Zhao, L.; Wei, Y.; Tang, Y.Y. A cost-sensitive meta-learning classifier: SPFCNN-Miner. Future Gener. Comput. Syst. 2019, 100, 1031–1043. [Google Scholar] [CrossRef]
  21. Tissir, N.; Elkafhali, S.; Aboutabit, N. How Much Your Cloud Management Platform Is Secure? OpenStack Use Case. Innov. Smart Cities Appl. 2020, 183, 1117–1129. [Google Scholar] [CrossRef]
  22. Henning, T.; Ridho, R.; Muchammad, H.; Khakim, G.; Rizka, W.; Made, D. OpenStack Implementation using Multinode Deployment Method for Private Cloud Computing Infrastructure. In Proceedings of the 2023 International Seminar on Intelligent Technology and Its Applications (ISITIA), IEEE, Surabaya, Indonesia, 26–27 July 2023. [Google Scholar] [CrossRef]
  23. Zhao, L.; Hu, G.; Xu, Y. Educational Resource Private Cloud Platform Based on OpenStack. Computers 2024, 13, 241. [Google Scholar] [CrossRef]
  24. Lin, W.; Wu, Y.M.; Jiao, N. Design and Implementation of Software-Defined Data Center (SDDC) for Medical Colleges and Universities. Mob. Inf. Syst. 2022, 2022, 9139257. [Google Scholar] [CrossRef]
  25. Noor, J.; Ratul, R.H.; Basher, M.S.; Soumik, J.A.; Sadman, S.; Rozario, N.J.; Reaz, R.; Chellappan, S.; Al Islam, A.B.M.A. Secure Processing-aware Media Storage and Archival (SPMSA). Future Gener. Comput. Syst. 2024, 159, 290–306. [Google Scholar] [CrossRef]
  26. Abbas, K.; Afaq, M.; Khan, T.A.; Rafiq, A.; Iqbal, J.; Islam, I.U.; Song, W.C. An efficient SDN-based LTE-WiFi spectrum aggregation system for heterogeneous 5G networks. Trans. Emerg. Telecommun. Technol. 2020, 33, e3943. [Google Scholar] [CrossRef]
  27. Zhao, L.; Shang, Z.; Tan, J.; Luo, X.; Zhang, T.; Wei, Y.; Tang, Y.Y. Adaptive parameter estimation of GMM and its application in clustering. Future Gener. Comput. Syst. 2020, 106, 250–259. [Google Scholar] [CrossRef]
  28. Saffran, M.; Mishra, S. Security Validation in OpenStack: A Comprehensive Evaluation. J. Cybersecur. Inf. Manag. 2024, 14, 79. [Google Scholar] [CrossRef]
  29. Vorobeva, I.A.; Panov, A.V.; Safronov, A.A.; Sazonov, A.I. Cloud Computing Models for Business. Int. J. Emerg. Technol. Adv. Eng. 2022, 12, 163–172. [Google Scholar] [CrossRef] [PubMed]
  30. Zhang, G.; Good, K.; Shi, W. OpenStack Swift: An Ideal Bit-Level Object Storage System for Digital Preservation. Int. J. Digit. Curation 2022, 17, 19. [Google Scholar] [CrossRef]
  31. Joshi, N. Technique for Balanced Load Balancing in Cloud Computing Environment. Int. J. Adv. Comput. Sci. Appl. 2022, 13, 110–118. [Google Scholar] [CrossRef]
  32. Walters, J.P.; Younge, A.J.; Kang, D.I.; Yao, K.T.; Kang, M.; Crago, S.P.; Fox, G.C. GPU passthrough performance: A comparison of KVM, Xen, VMWare ESXi, and LXC for CUDA and openCL applications. In Proceedings of the 2014 IEEE 7th International Conference on Cloud Computing (CLOUD), Anchorage, AK, USA, 27 June–2 July 2014. [Google Scholar] [CrossRef]
  33. Shrinidhi, A.; Sagar, K.; Surabhi, N.; Suyash, K.; Narayan, G. Dynamic Virtual Machine Consolidation for Energy Efficiency in OpenStack-based Cloud. In Proceedings of the 2023 14th International Conference on Computing Communication and Networking Technologies (ICCCNT), IEEE, Delhi, India, 6–8 July 2023. [Google Scholar] [CrossRef]
  34. Adetiba, E.; Akanle, M.; Akande, V.; Badejo, J.; Nzanzu, V.P.; Molo, M.J.; Oguntosin, V.; Oshin, O.; Adebiyi, E. FEDGEN Testbed: A Federated Genomics Private Cloud Infrastructure for Precision Medicine and Artificial Intelligence Research; Springer: Cham, Switzerland, 2022. [Google Scholar] [CrossRef]
Figure 1. The OpenStack cloud host design drawing.
Figure 1. The OpenStack cloud host design drawing.
Computation 13 00038 g001
Figure 2. The VFIO design drawing.
Figure 2. The VFIO design drawing.
Computation 13 00038 g002
Figure 3. The video/audio design drawing.
Figure 3. The video/audio design drawing.
Computation 13 00038 g003
Figure 4. The Keystone implementation.
Figure 4. The Keystone implementation.
Computation 13 00038 g004
Figure 5. The Glance implementation.
Figure 5. The Glance implementation.
Computation 13 00038 g005
Figure 6. The Placement implementation.
Figure 6. The Placement implementation.
Computation 13 00038 g006
Figure 7. The Nova implementation.
Figure 7. The Nova implementation.
Computation 13 00038 g007
Figure 8. The Neutron implementation.
Figure 8. The Neutron implementation.
Computation 13 00038 g008
Figure 9. The Dashboard implementation.
Figure 9. The Dashboard implementation.
Computation 13 00038 g009
Figure 10. The GPU pass-through to the CentOS cloud host.
Figure 10. The GPU pass-through to the CentOS cloud host.
Computation 13 00038 g010
Figure 11. The Windows 11 cloud host.
Figure 11. The Windows 11 cloud host.
Computation 13 00038 g011
Figure 12. The Windows 11 system GPU pass-through running diagram.
Figure 12. The Windows 11 system GPU pass-through running diagram.
Computation 13 00038 g012
Figure 13. The Cirros cloud hosting test.
Figure 13. The Cirros cloud hosting test.
Computation 13 00038 g013
Figure 14. The Centos7 pass-through operation test.
Figure 14. The Centos7 pass-through operation test.
Computation 13 00038 g014
Table 1. Server SA5212M4 configuration.
Table 1. Server SA5212M4 configuration.
CPURAMHARD DISKGraphics Card
Intel Xeon E5-2666 V3 20-Core processor * 2DDR4 2400T 32G * 5128 SSD * 1; 512 SATA * 1; 2T * 21050 * 1
Table 2. The comparison results.
Table 2. The comparison results.
GPU in OpenStackNVIDIA vGPUGPU in VMware
AdvantagesGood performance and flexibility, scalability, low cost, and good economic benefitsHigh performance, great compatibility, ample driver support, and specialized utilitiesA comprehensive virtualization solution, easy to use, easy to manage, and highly compatible
DisadvantagesIntricate configuration, demanding technical skills for implementationSignificant hardware dependency, substantial costs, and proprietary technology restricts its flexible usageHigh software commercial costs, limited hardware compatibility, technological blockade, and difficulty in scalability
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Zhao, L.; Jin, Y.; Hu, G.; Zhou, W.; Wei, H.; Li, R.; Zhu, X.; Xu, Y.; Jin, J.; Li, Q. Design and Implementation of GPU Pass-Through System Based on OpenStack. Computation 2025, 13, 38. https://doi.org/10.3390/computation13020038

AMA Style

Zhao L, Jin Y, Hu G, Zhou W, Wei H, Li R, Zhu X, Xu Y, Jin J, Li Q. Design and Implementation of GPU Pass-Through System Based on OpenStack. Computation. 2025; 13(2):38. https://doi.org/10.3390/computation13020038

Chicago/Turabian Style

Zhao, Linchang, Yu Jin, Guoqing Hu, Wenxi Zhou, Hao Wei, Ruiping Li, Xu Zhu, Yongchi Xu, Jiulin Jin, and Qianbo Li. 2025. "Design and Implementation of GPU Pass-Through System Based on OpenStack" Computation 13, no. 2: 38. https://doi.org/10.3390/computation13020038

APA Style

Zhao, L., Jin, Y., Hu, G., Zhou, W., Wei, H., Li, R., Zhu, X., Xu, Y., Jin, J., & Li, Q. (2025). Design and Implementation of GPU Pass-Through System Based on OpenStack. Computation, 13(2), 38. https://doi.org/10.3390/computation13020038

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop