Deployment method and system of multi-client operating system for preventing resource contention
By building a static partitioning mechanism for hardware resources in a multi-core processor system, the problems of insufficient hardware resource isolation and performance latency in virtualization technology are solved. Hardware-level isolation of the guest operating system is achieved, improving system performance and security, and optimizing energy efficiency.
Patent Information
- Application Number
- CN202511616878.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-06
- Publication Date
- 2026-02-10
AI Technical Summary
Existing virtualization technologies in multi-core processor systems suffer from high performance overhead, insufficient hardware resource isolation, and security risks, leading to performance latency and resource contention issues.
By constructing a static partitioning mechanism for hardware resources in a multi-core processor system, processing cores and hardware resources are allocated to various processing groups, achieving hardware-level isolation of the guest operating system, avoiding context switching and virtual device emulation, and directly driving the underlying hardware resources.
It achieves strict isolation of hardware resources, improves the performance and security of guest operating systems, reduces the performance loss and resource contention of virtualization, and enhances the overall performance and energy efficiency of multi-core processor systems.
Smart Images

Figure CN121501419A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of deployment technology for multi-client operating systems, and more particularly to a deployment method and system for a multi-client operating system that prevents resource contention. Background Technology
[0002] With the continuous development of computing technology, multi-core processors play a crucial role in high-performance computing, data centers, and embedded systems. In these application scenarios, users often expect to run multiple isolated operating systems concurrently on a single hardware platform to meet the diverse needs of heterogeneous computing, security-critical business operations, or hybrid workloads.
[0003] To achieve this goal, existing technologies generally rely on virtualization technology. Whether it is a semi-virtualization or full virtualization solution, the core of both requires the introduction of a virtualization monitoring layer, the Hypervisor layer, which is responsible for abstracting hardware resources and providing services to multiple guest operating systems at the upper layer. Commonly used virtualization technology solutions can be roughly divided into two types: (1) The first type: using the native Hypervisor layer to directly control hardware resources and guest operating systems, such as the Xen architecture (see Figure 1 (2) The second type: The Hypervisor layer runs on top of the host operating system, typically in VMware architecture, KVM architecture, etc. In this case, the Hypervisor layer is just an application of the host operating system (see...). Figure 2 (As shown).
[0004] However, existing virtualization technologies, especially on the ARM64 architecture, face the following bottlenecks: First, virtualization technology incurs significant performance overhead because every I / O operation of the guest operating system must be processed through the Hypervisor layer, resulting in high latency due to frequent context switching and exception handling. Second, hardware resource isolation is insufficient. The Hypervisor layer itself consumes the already limited CPU and memory resources of the SoC chip. Furthermore, as a shared software layer, it is difficult to completely eliminate hardware resource interference and "noisy neighbor" phenomena between different virtual machines at the hardware level, posing potential security risks. Summary of the Invention
[0005] The purpose of this invention is to provide a deployment method and system for a multi-client operating system that can achieve hardware resource isolation, improve the access performance of each client operating system, and save CPU and memory resources of multi-core chips to prevent resource contention.
[0006] To achieve the above objectives, this invention discloses a deployment method for a multi-client operating system that prevents resource contention, used in a multi-core processor system. The multi-core processor system includes a system control core for managing the system and several processing cores capable of high-performance computing. The deployment method comprises: Based on the service requirements and total number of hardware resources of the multi-core processor system, a grouping information table and a resource allocation table are generated. The grouping information table includes several processing groups. The number of processing groups is configured to be less than or equal to the total number of independently divisible hardware resources in the multi-core processor system. The resource allocation table is used to store several hardware resource allocation information corresponding to the processing groups. Based on the service requirements of the multi-core processor system and the grouping information table, the processing cores are divided into processing groups. Based on the resource allocation table, hardware resources are configured for each processing group to obtain multiple hardware resource-isolated guest operating systems.
[0007] Specifically, the hardware resources of the multi-core processor system include at least one of a communication interface controller, a storage management unit, an attack protection engine, and shared storage resources.
[0008] Specifically, before generating the grouping information table and the resource allocation table, the deployment method further includes the following steps: Control the startup of the system control core; Configure a system clock for the multiprocessor system to generate a clock signal; Configure a bus protocol that supports hardware resource data consistency for the multiprocessor system.
[0009] Specifically, the step of configuring hardware resources for each processing group based on the resource allocation table to obtain multiple guest operating systems includes: Each processing group designates one of its processing cores as the master processing core and the remaining processing cores as slave processing cores. The system control core controls the startup of the master processing core in each processing group. Based on the resource allocation table, each main processing core initializes and configures the guest operating system corresponding to its processing group to start each guest operating system; The system control core controls the startup of the slave processing cores in each processing group, performs basic environment configuration on each slave processing core, and registers the hardware resource allocation information corresponding to each processing group into the kernel resource table entry of the guest operating system corresponding to each processing group, so that each guest operating system can recognize and drive the corresponding hardware resources.
[0010] Furthermore, the step of initializing the configuration of the processing group to which each of the main processing cores belongs includes: Configure ATF firmware for the client operating system corresponding to each of the processing groups; Configure system boot firmware for the guest operating system corresponding to each of the processing groups to initialize the hardware resources corresponding to the guest operating system; Start the kernel of each of the aforementioned guest operating systems.
[0011] The present invention also discloses a deployment system for a multi-client operating system that prevents resource contention, the deployment system operating based on the deployment method for a multi-client operating system that prevents resource contention as described above.
[0012] This invention also discloses a deployment system for a multi-client operating system that prevents resource contention, comprising: One or more processors; Memory; And one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the programs including instructions for performing a deployment method of a multi-client operating system with anti-resource contention as described above.
[0013] The present invention also discloses a computer-readable storage medium, characterized in that it includes a computer program, which can be executed by a processor to perform the deployment method of a multi-client operating system with anti-resource contention as described above.
[0014] Compared with existing technologies, the multi-guest operating system deployment method for preventing resource contention provided by the above-mentioned technical solution of this invention constructs a physical-level static hardware resource partitioning mechanism by allocating processing cores and hardware resources among various processing groups. This completely avoids the inherent performance loss and uncertainty caused by software emulation and resource sharing in traditional virtualization architectures. This deployment method, through precise pre-planning based on business needs and the total amount of hardware resources, completes the binding of the guest operating system to each processing group and corresponding hardware resources before startup. This allows the corresponding guest operating system to directly drive the underlying hardware resources with near-bare-metal performance, eliminating the latency and overhead caused by context switching and virtual device emulation in the Hypervisor layer. This physical-level isolation prevents resource contention and performance interference between different guest operating systems and provides a security boundary beyond the software layer for multi-core processor systems. Furthermore, thanks to the independent operation of each processing group, its hardware resource management strategy can be finely adjusted based on the multi-processor system's own load, thereby achieving better overall energy efficiency. Attached Figure Description
[0015] Figure 1 This is a technical block diagram of the first type of common virtualization technology in the background art of this invention.
[0016] Figure 2 This is a technical block diagram of the second type of common virtualization technology in the background art of this invention.
[0017] Figure 3 This is a flowchart illustrating a method for deploying a multi-client operating system to prevent resource contention, as described in an embodiment of the present invention.
[0018] Figure 4 This is a system architecture block diagram of a multi-core processor system in an embodiment of the present invention.
[0019] Figure 5 This is an architectural block diagram of a multi-core processor system in an embodiment of the present invention.
[0020] Figure 6 This is a business process diagram of a multi-client operating system deployment method for preventing resource contention, as shown in another embodiment of the present invention. Detailed Implementation
[0021] To illustrate the technical content, structural features, objectives, and effects of the present invention in detail, the following description is provided in conjunction with the embodiments and accompanying drawings.
[0022] This invention discloses a deployment method for a multi-guest operating system that prevents resource contention, thereby isolating hardware resources among multiple guest operating systems and optimizing the performance and resource consumption of multiprocessor systems. See also... Figures 3 to 4 As shown, this deployment method is used for multi-core processor systems (such as ARM64 multi-core SoC chips, which will be used as an example in this example). Such multi-core processor systems typically include a system control core (referred to as the M core in the figure, which manages the initialization configuration and power of the multi-core processor system) and several processing cores (hereinafter referred to as B cores) capable of high-performance computing. Specifically, the deployment method includes the following steps: S11: Based on the service requirements and total number of hardware resources of the multi-core processor system, a grouping information table and a resource allocation table are generated. The grouping information table includes several processing groups, and each processing group is configured such that its number is less than or equal to the total number of independently divisible hardware resources in the multi-core processor system. The resource allocation table stores hardware resource allocation information corresponding to several processing groups. In this embodiment, both the grouping information table and the resource allocation table are stored in the data variable area of the system control core M in the form of structured data tables for the M core to read during startup.
[0023] S12: Based on the business requirements and grouping information table of the multi-core processor system, several processing cores are divided into processing groups.
[0024] S13: Based on the resource allocation table, configure hardware resources for each processing group to obtain multiple guest operating systems with isolated hardware resources.
[0025] See Figure 4 As shown, Figure 4 This is a block diagram of the multi-core processor system in this embodiment. This deployment method eliminates the Hypervisor layer and instead directly builds several isolated guest operating systems at the hardware layer. Compared with existing technologies, the resource contention-preventing multi-guest operating system deployment method proposed in this invention innovates in hardware resource allocation mechanisms and the system architecture design of multi-core processor systems. In traditional virtualization architectures, software simulation and resource sharing methods have inherent defects. Software simulation requires simulating the behavior of various hardware devices, which introduces additional computational overhead, leading to performance degradation in multi-core processor systems. Resource sharing causes conflicts when different guest operating systems compete for hardware resources, resulting in performance uncertainty. These problems seriously affect the overall performance and reliability of the multi-guest operating system.
[0026] The deployment method of this invention constructs a static hardware resource partitioning mechanism at the physical layer by allocating processing cores and hardware resources to various processing groups. This mechanism fundamentally avoids the drawbacks of traditional virtualization architectures, completely eliminating performance losses and uncertainties caused by software emulation and resource sharing. Specifically, during implementation, this deployment method pre-plans according to business needs and the total amount of hardware resources to complete the binding operation between the guest operating system and each processing group and corresponding hardware resources before the guest operating system starts. Through this binding, the corresponding guest operating system can directly drive the underlying hardware resources with near-bare-metal performance at runtime, without needing to go through the Hypervisor layer for context switching and virtual device emulation, thereby avoiding the latency and overhead caused by these processes.
[0027] This physical-level isolation effectively prevents resource contention and performance interference between different guest operating systems. Each guest operating system runs in an independent hardware resource environment, without affecting each other, ensuring the stability of the multiprocessor system. Furthermore, for multi-core processor systems, this physical-level isolation provides a security boundary beyond the software layer, enhancing the system's security and reliability in multi-core environments.
[0028] Furthermore, thanks to the independent operation of each processing group, its hardware resource management strategy can be finely adjusted based on the load of the multiprocessor system itself. It can dynamically adjust the allocation of hardware resources according to its real-time load, achieving efficient resource utilization. This fine-tuning not only helps improve the overall performance of the multi-core processor system but also optimizes energy efficiency and reduces energy consumption.
[0029] In summary, the multi-guest operating system deployment method for preventing resource contention of the present invention achieves strict isolation and efficient utilization of physical resources between guest operating systems while reducing the performance loss of virtualization by constructing a hardware-level static partitioning mechanism.
[0030] Specifically, see Figure 4 and Figure 5 As shown, taking a typical ARM64 SoC chip as an example, the hardware resources of a multi-core processor system include at least one of the following: a communication interface controller, a memory management unit, an attack protection engine, and shared memory resources. The communication interface controller includes PCIe controllers, I2C controllers, SPI controllers, and ITS controllers, etc.; the memory management unit includes a DDR controller; the attack protection engine includes a security accelerator; and the shared memory resources include SLC resources.
[0031] See Figure 6 As shown, in another embodiment, the deployment method can be further refined. Specifically, the deployment method includes: S21: Control system core starts.
[0032] S22: Configure the system clock for the multiprocessor system to generate a clock signal. Specifically, this is the PLL / CLOCK initialization step. Configuring the system clock for the multiprocessor system is mainly to coordinate the synchronous operation of the system control core and each processing core, ensuring the consistency of data processing and exchange.
[0033] S23: Configure a bus protocol that supports hardware resource data consistency for the multiprocessor system. Specifically, this is the NoC coherent bus initialization, which configures a bus protocol that supports hardware resource data consistency for the multiprocessor system. This is mainly to ensure that the data in the caches of the system control core and multiple processing cores is consistent with the main memory, avoiding data inconsistency problems such as dirty reads and non-repeatable reads caused by untimely data updates.
[0034] S24: Based on the service requirements and total number of hardware resources of the multi-core processor system, generate a grouping information table and a resource allocation table. The grouping information table includes several processing groups. The number of processing groups is configured to be less than or equal to the total number of independently divisible hardware resources in the multi-core processor system. The resource allocation table is used to store hardware resource allocation information corresponding to several processing groups.
[0035] S25: Based on the business requirements and grouping information table of the multi-core processor system, several processing cores are divided into processing groups.
[0036] S26: Based on the resource allocation table, configure hardware resources for each processing group to obtain multiple guest operating systems with isolated hardware resources.
[0037] More specifically, step S26 above can be further refined as follows: S261: Designate one processing core in each processing group as the master processing core and the rest as slave processing cores. The system control core controls the startup of the master processing core in each processing group.
[0038] S262: Based on the resource allocation table, each main processing core initializes and configures the corresponding guest operating system of its processing group to start each guest operating system.
[0039] S263: The system control kernel controls the startup of the slave processing cores in each processing group, performs basic environment configuration for each slave processing core, and registers the hardware resource allocation information corresponding to each processing group into the kernel resource table entry of the corresponding guest operating system of each processing group, so that each guest operating system can recognize and drive the corresponding hardware resources.
[0040] In this embodiment, the main processing core is primarily responsible for the initialization configuration within its processing group. The main processing core reads the resource configuration table and configures the available hardware resources for its group, and then reports the available hardware resources to the guest operating system (i.e., registers them in the kernel resource table of the corresponding guest operating system).
[0041] Furthermore, step S262 above can be further divided into: S2621: Configure ATF firmware for the corresponding guest operating system of each processing group. Configuring ATF firmware for the guest operating system is mainly to provide a root of trust and secure boot functionality, ensuring that the guest operating system is in a trusted state from power-on and protecting sensitive data and code through hardware-level isolation.
[0042] S2622: Configure the system boot firmware for the guest operating system corresponding to each processing group to initialize the hardware resources corresponding to the guest operating system. The initialization configuration of hardware resources includes initializing the DDR controller, MMU memory mapping, PCIe enumeration, and slave device driver loading, etc.
[0043] S2623: Start the kernel of each guest operating system.
[0044] In this embodiment, both the grouping information table and the resource allocation table are stored in the data variable area of the system control core M in the form of structured data tables for the M core to read during startup. When the M core starts, it obtains the structured data of hardware resource allocation from the data variable area, and then powers on the main processing core of each group according to the grouping status. Simultaneously, the M core shares the hardware resource allocation information with all B cores in each processing group via shared memory. After the main processing core of each processing group powers on, it reads the hardware resource allocation information shared by the M core to obtain the description information of the hardware resources owned by its processing group, and initializes the available hardware resources of its group according to the grouping information table. Then, when it reaches the stage of starting the guest operating system, it wakes up all the slave processing cores in its group through the OS standard slave processing core wake-up mechanism to execute subsequent guest operating system operations.
[0045] The present invention also discloses a deployment system for a multi-client operating system that prevents resource contention, which operates based on the deployment method for a multi-client operating system that prevents resource contention as described above.
[0046] This invention also discloses another deployment system for a multi-client operating system that prevents resource contention, comprising one or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors. The programs include instructions for performing the deployment method of the multi-client operating system that prevents resource contention as described above. The processors may be general-purpose central processing units (CPUs), microprocessors, application-specific integrated circuits (ASICs), or one or more integrated circuits, used to execute relevant programs to implement the functions required by the modules in the deployment system of the multi-client operating system that prevents resource contention according to the embodiments of this application, or to execute the deployment method of the method embodiments of this application.
[0047] This invention also discloses a computer-readable storage medium comprising a computer program executable by a processor to perform the deployment method of a multi-client operating system with anti-resource contention as described above. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium can be read-only memory (ROM), random access memory (RAM), or magnetic media, such as floppy disks, hard disks, magnetic tapes, magnetic disks, or optical media, such as digital versatile discs (DVDs), or semiconductor media, such as solid-state disks (SSDs).
[0048] The above-disclosed embodiments are merely preferred embodiments of the present invention and should not be construed as limiting the scope of the present invention. Therefore, any equivalent variations made in accordance with the claims of the present invention are still within the scope of the present invention.
Claims
1. A method for deploying a multi-client operating system to prevent resource contention, for a multi-core processor system, the multi-core processor system comprising a system control core for managing the multi-core processor system and several processing cores capable of high-performance computing, characterized in that, The deployment method includes: Based on the service requirements and total number of hardware resources of the multi-core processor system, a grouping information table and a resource allocation table are generated. The grouping information table includes several processing groups. The number of processing groups is configured to be less than or equal to the total number of independently divisible hardware resources in the multi-core processor system. The resource allocation table is used to store several hardware resource allocation information corresponding to the processing groups. Based on the service requirements of the multi-core processor system and the grouping information table, the processing cores are divided into processing groups. Based on the resource allocation table, hardware resources are configured for each processing group to obtain multiple hardware resource-isolated guest operating systems.
2. The deployment method for a multi-client operating system to prevent resource contention according to claim 1, characterized in that, The hardware resources of the multi-core processor system include at least one of a communication interface controller, a storage management unit, an attack protection engine, and shared storage resources.
3. The deployment method for a multi-client operating system to prevent resource contention according to claim 1, characterized in that, Before generating the grouping information table and the resource allocation table, the deployment method further includes the following steps: Control the startup of the system control core; Configure a system clock for the multiprocessor system to generate a clock signal; Configure a bus protocol that supports hardware resource data consistency for the multiprocessor system.
4. The deployment method for a multi-client operating system to prevent resource contention according to claim 1, characterized in that, The step of configuring hardware resources for each processing group based on the resource allocation table to obtain multiple guest operating systems includes: Each processing group designates one of its processing cores as the master processing core and the remaining processing cores as slave processing cores. The system control core controls the startup of the master processing core in each processing group. Based on the resource allocation table, each main processing core initializes and configures the guest operating system corresponding to its processing group to start each guest operating system; The system control core controls the startup of the slave processing cores in each processing group, performs basic environment configuration on each slave processing core, and registers the hardware resource allocation information corresponding to each processing group into the kernel resource table entry of the guest operating system corresponding to each processing group, so that each guest operating system can recognize and drive the corresponding hardware resources.
5. The deployment method for a multi-client operating system to prevent resource contention according to claim 4, characterized in that, The step of initializing and configuring the processing group to which each of the main processing cores belongs includes: Configure ATF firmware for the client operating system corresponding to each of the processing groups; Configure system boot firmware for the guest operating system corresponding to each of the processing groups to initialize the hardware resources corresponding to the guest operating system; Start the kernel of each of the aforementioned guest operating systems.
6. A deployment system for a multi-client operating system that prevents resource contention, characterized in that, The deployment system operates based on the deployment method of the multi-client operating system for preventing resource contention as described in any one of claims 1 to 5.
7. A deployment system for a multi-client operating system that prevents resource contention, characterized in that, include: One or more processors; Memory; And one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the programs including instructions for performing a deployment method of a multi-client operating system with anti-resource contention as described in any one of claims 1 to 5.
8. A computer-readable storage medium, characterized in that, Includes a computer program that can be executed by a processor to perform the deployment method of a multi-client operating system for preventing resource contention as described in any one of claims 1 to 5.