CN106339257B - Method and system for making client operating system light weight and virtualization operating system - Google Patents
Method and system for making client operating system light weight and virtualization operating system Download PDFInfo
- Publication number
- CN106339257B CN106339257B CN201510411803.0A CN201510411803A CN106339257B CN 106339257 B CN106339257 B CN 106339257B CN 201510411803 A CN201510411803 A CN 201510411803A CN 106339257 B CN106339257 B CN 106339257B
- Authority
- CN
- China
- Prior art keywords
- operating system
- module
- client operating
- lightweight
- thread
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Stored Programmes (AREA)
Abstract
The invention discloses a method for lightening a client operating system, a lightweight client operating system in a cloud environment and a virtualization operating system based on the lightweight client operating system, aiming at solving the limitation of an application program on the performance and the function in the cloud environment, simplifying the design of the client operating system, improving the performance of the client operating system and reducing the number of abstract and protection layers. The lightweight operating system mainly comprises a virtual hardware driving module, a file system module, a network module, a memory management module, a thread scheduling module and a system calling module. The lightweight client operating system only runs one application program, redundant and costly isolation in the client operating system is reduced, a single address space is used, and all threads and kernels use one page table, so that context switching is reduced. The c/c + + application program and the java program can be run, the performance of the application program can be effectively improved, and the application program running container is efficient.
Description
Technical Field
The invention relates to a method for lightening a client operating system, a lightweight operating system in a cloud environment and a virtualization system based on the lightweight operating system, and provides an efficient application program running container in a virtualization environment, so that the performance of an application program can be effectively improved.
Background
With the development of cloud computing and virtualization, more and more applications are running in a virtualized environment. The mainstream virtualization software comprises kvm, xen and vmware, the client operating system comprises linux, windows and the like, and the application program runs on the client operating system.
Although the utilization rate of the device is increased by the virtualization method, and the flexibility is increased, the architecture has many disadvantages, such as: because the virtualization layer and the guest operating system overlap in many functions, such as hardware abstraction, resource isolation, resource virtualization, memory management, etc., there are too many levels of redundancy, resulting in degraded application performance.
Referring to fig. 1, an original guest operating system 300 mainly includes a driver module 310, a file system module 320, a network module 330, a memory management module 340, a process management module 350, a device control module 360, a system call module 370, a C/C + + runtime library 380, a JAVA runtime library 390, and a PYTHON runtime library 530, and the system structure thereof is very complex, mainly due to historical legacy reasons, the existing guest operating system 300 has very mature and complex implementations in aspects of hardware abstraction, isolation, resource virtualization, memory management, IO protocol stack, scheduling, CPU management, and the like. Since the conventional guest operating system 300 is designed for physical machines and a large amount of driver code is used to support hardware, it is not an optimal application running container in virtualization and cloud computing environments.
In practical applications, a conventional virtualization environment provides multiple virtual machines on the server hardware through a virtual machine monitor, and needs to run a guest operating system 300 in each virtual machine, and then run a c/c + + application 400 or a JAVA application 520 or a Python application 540 on the guest operating system. Under the framework, the JAVA virtual machine, the client operating system 300 and the virtual machine monitor have their own implementations in terms of hardware abstraction, isolation, resource virtualization, memory management, IO protocol stack, scheduling, CPU management, etc. For the application program, since the JAVA virtual machine, the virtual machine monitor and the guest operating system 300 are overlapped in many functions, the redundancy level is excessive, resulting in the performance degradation of the application program.
Disclosure of Invention
In view of the foregoing, an object of the present invention is to provide a method for making a client operating system lightweight, a lightweight client operating system in a cloud environment and a virtualized operating system based on the lightweight client operating system, which provide an application program running container with superior performance for virtualization and cloud computing, and the method is mainly designed to solve the limitations of the application program in performance and function in the cloud environment, simplify the design of the client operating system, improve the performance of the client operating system, and reduce the number of abstraction and protection layers.
In order to achieve the above purpose, the main technical scheme provided by the invention comprises:
a method of making a client operating system lightweight, characterized by:
only one application is running in a guest operating system to reduce redundant, costly functions in the guest operating system.
In an embodiment of the method for lightening the client operating system, a thread scheduling module of the client operating system adopts a lock-free design, so that scheduling overhead is reduced.
In an embodiment of the method for lightening the client operating system, the thread scheduling module of the client operating system constructs a single-process multi-thread environment, and only performs scheduling among threads without performing scheduling among processes.
In one embodiment of the method for lightening the client operating system, the thread scheduling module of the client operating system reserves a running queue on each CPU, stores all runnable threads of the CPU (preferably, no dormant threads are included in the running queue), and enables each CPU to have an independent running queue.
In one embodiment of the method for lightening the client operating system, each CPU runs a load balancing thread to ensure the scheduling fairness; preferably, these load balancing threads are run at intervals, and check if the size of the run queues of the other CPUs is smaller than their own queue, and if so, select a thread from their own queue and place the thread into the run queue of the corresponding CPU (e.g., the run queue is smaller than one of their own CPUs).
In one embodiment of the method of lightening a client operating system, the network module and/or the file system module of the client operating system are zero-copy, asynchronous io.
In an embodiment of any of the above methods for making a guest operating system lightweight, the memory management module of the guest operating system uses a single address space, and is not divided into a user space and a kernel space.
In one embodiment of the method for lightening the weight of the guest operating system, one page table is used by all threads and kernels of a memory management module of the guest operating system (preferably, the same page table is used by all threads and kernels of the memory management module), so that context switching is reduced.
A lightweight guest operating system, characterized by:
only one application program is operated in a lightweight client operating system; and/or
The memory management module uses a single address space; and/or
All threads and kernels of the system use a page table; and/or
The thread scheduling module adopts a lockless design; and/or
The network module and/or the file system module thereof are zero-copy and asynchronous io; and/or
It only runs in a virtualized environment.
In an embodiment of the lightweight client operating system, the thread scheduling module constructs a single-process multi-thread environment for the lightweight client operating system, and only performs scheduling among threads without performing scheduling among processes.
In one embodiment of the described lightweight guest operating system, the thread scheduling module maintains a run queue on each CPU that stores all runnable threads for that CPU.
In one embodiment of the lightweight guest operating system, each CPU runs a load balancing thread; preferably, these load balancing threads are run at intervals, and check if the size of the run queues of the other CPUs is smaller than their own queue, and if so, select a thread from their own queue and place the thread into the run queue of the corresponding CPU (e.g., the run queue is smaller than one of their own CPUs).
In an embodiment of the lightweight guest os, the system call of the lightweight guest os includes a file system operation, a file read-write operation, a network operation, a socket, and a memory management, but does not support a process creation operation.
In an embodiment of the lightweight guest os, the lightweight guest os uses flat physical memory mapping or virtual memory.
In one embodiment of the lightweight guest os, the lightweight guest os employs a large page policy and uses a single address space, and all threads and kernels use a page table.
In an embodiment of the lightweight guest os, a memory management module of the lightweight guest os uses a single address space and is not divided into a user space and a kernel space.
In an embodiment of the light-weight guest operating system, the driver of the virtual hardware driver module of the light-weight guest operating system only includes a para-virtualization driver, SATE, such as a keyboard and virtio.
A lightweight guest operating system in a cloud environment, comprising:
the memory management module adopts flat physical memory mapping or virtual memory, adopts a large-page strategy, uses a single address space, and reduces context switching by using a page table for all threads and kernels;
the thread scheduling module is used for constructing a single-process and multi-thread environment, only relates to scheduling among threads, does not have scheduling among the threads, reserves an operation queue on each CPU and stores all operable threads of the CPU, so that each CPU has an independent operation queue, and the lock-free design is realized;
the virtual hardware driving module is used for enabling a light-weight client operating system to only run in a virtualization environment, and a virtualization layer on the physical server provides a simple and stable hardware abstraction layer, so that the driving of the light-weight client operating system only comprises semi-virtualization driving such as a keyboard, virtio and the like, SATE;
the file system module follows VFS design in linux, is compatible with a file interface of a traditional linux client operating system, and adopts ZFS as a main file system; and
the network module realizes the functions of zero copy, asynchronous IO, batch processing and the like to improve the IO performance;
wherein only one application is running in a lightweight guest operating system.
In an embodiment of the lightweight guest operating system, it further comprises:
a C/C + + loading module and a JAVA virtual machine module.
A virtualized operating system, comprising:
server hardware;
a virtual machine monitor;
a number of lightweight guest operating systems of any of the foregoing descriptions;
C/C + + application programs or JAVA virtual machines; and
a JAVA application;
one or more virtual machines are provided on the server hardware through a virtual machine monitor, the lightweight client operating system runs on the virtual machine, and a C/C + + application program or a JAVA virtual machine and a JAVA application program run on the lightweight client operating system.
Compared with the prior art, the invention has the beneficial technical effects that:
1. the invention uses the design concept of libOS for reference in the design of the client operating system and combines the advantages of libOS in virtualization. The design goal of libOS is to address the performance and functional limitations of applications, which are mostly derived from the design of traditional OS. The method puts resource management to an application layer, and directly exposes hardware to an application program through a safe API (application programming interface), thereby reducing the number of abstraction and protection layers.
2. The invention relates to a lightweight client operating system designed in a cloud environment, wherein each lightweight client operating system runs an application program. The invention reduces redundant and costly isolation in the client operating system, uses a single address space, uses a page table for all threads and kernels, reduces context switching and the like, and is particularly suitable for being used as an application container.
Drawings
FIG. 1 is a schematic diagram of a conventional guest operating system;
FIG. 2 is a schematic diagram of the major modules of the lightweight guest operating system of the present invention.
Description of the reference numerals
(Prior Art)
300: client operating system
320: file system module
330: network module
340: memory management module
350: process management module
360: equipment control module
370: system calling module
380: C/C + + runtime library
390: JAVA runtime libraries
400: c/c + + applications
520: JAVA application
530: PYTHON runtime library
540: python program
(present invention)
400: c/c + + applications
520: JAVA application
600: lightweight operating system
610: virtual hardware driver module
620: file system module
630: network module
640: memory management module
650: thread scheduling module
660: system calling module
670: c/c + + loading module
680: a JAVA virtual machine module.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more clearly apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and do not limit the scope of the invention.
Before the present invention is introduced, two concepts of the prior art used in the present invention are first explained, respectively:
1) virtual machine monitor-an intermediate software layer running between the underlying physical server and the operating system that allows multiple operating systems and applications to share hardware. The hypervisor has access to all physical devices on the server, including disks and memory, and not only coordinates access to these hardware resources, but also enforces protections between the various virtual machines. When the server starts up and executes the hypervisor, it loads all the operating systems of the virtual machine clients and allocates appropriate amounts of memory, CPU, network and disk to each virtual machine.
2) In the server virtualization technology, a virtualized server is called a virtual machine, an operating system running in the virtual machine is called a client operating system, and common client operating systems include linux, windows and the like.
As shown in fig. 2, the lightweight guest operating system provided in the present invention mainly includes a virtual hardware driver module 610, a network module 630, a memory management module 640, a thread scheduling module 650, a system call module 660, a c/c + + loading module 670, and a JAVA virtual machine module 680.
The following describes specific embodiments of the various modules:
virtual hardware driver module 610-the lightweight operating system 600 of the present invention runs only in a virtualized environment, and the virtualization layer provides a simple and stable hardware abstraction layer, so the drivers of the lightweight operating system 600 of the present invention include only paravirtualized drivers such as keyboard, virtio, etc., SATE, etc.
File System Module 620 — the lightweight operating system 600 of the present invention follows the VFS design in linux, is compatible with the file interface of a traditional linux client operating system, and employs ZFS as the primary file system. The ZFS file system has many advantages: support snapshot and volume management, employ copy-on-write models, adaptive caching mechanisms, data consistency protection, and the like.
Network module 630-implementing functions such as zero copy, asynchronous IO, batch processing, etc. to improve IO performance. Since a single address space is used instead of being divided into a user space and a kernel space, the zero-copy function is easily implemented. And the asynchronous io is easy to realize by using the lockless design of thread scheduling.
Memory management module 640-the lightweight operating system 600 of the present invention can use flat physical memory mapping or virtual memory, but takes virtual memory into account that the x86_64 architecture uses virtual memory in long mode, while some applications call map/unmap memory, similar to the traditional guest operating system 300. However, the lightweight operating system 600 defaults to 2MB large page management, which can effectively improve cache hit of the application program, thereby improving performance.
And a large page strategy is adopted, a single address space is used, and a page table is used by all threads and a kernel, so that the context switching is reduced. In the conventional guest operating system 300, because multiple processes are supported, an address space needs to be maintained for each process, and the address space is divided into a user space and a kernel space to protect the kernel security. However, in lightweight guest operating system 600, only one application is running on each operating system, so a single address space can be used, thereby simplifying design and improving performance.
The thread scheduling module 650, in thread scheduling, uses a lock-free implementation to reduce the overhead of scheduling. Lightweight guest operating system 600 is a single-process, multi-threaded environment, where only inter-thread scheduling is involved, and no inter-process scheduling exists. The thread scheduling module has the following characteristics: no lock, preemptive, fair, and efficient.
No lock: the thread scheduling module reserves a running queue on each CPU and stores all runnable threads of the CPU. The sleeping thread is not on this queue. When the running thread requires rescheduling or overtime-caused preemption, the thread scheduling module starts to run. At this time, the thread scheduling module selects a most suitable thread from its running queue to run, and refers to the fairness criterion. Because each CPU has its own independent run queue, no locks are required for this portion of the scheduling. The separate run queues may result in a situation where the queue size of one CPU exceeds the queues of other CPUs, thereby undermining the fairness of the thread scheduling module. We balance the load by running one load balancing thread in each CPU. These threads are run at intervals and check if the size of the run queues of the other CPUs is smaller than their own queues. If so, a thread is selected from its own queue and placed in the run queue of the remote CPU.
Preemptible: support for multitask preemption. Although a thread may request a reschedule (waiting, yielding, or activating other threads), it may occur at any time, such as by a clock or ipi. This feature is useful in some scenarios, such as maintaining CPU variables and RCU locks. When a thread is stalled, it does not cause a rescheduling if an interrupt occurs, but when the thread resumes preemptible mode, the scheduling is restarted.
Fairness: each time it is scheduled, the thread scheduling module needs to decide the next thread to run, and the time to run.
Efficiency: and a single address space is used, and a page table and a flush TLB are not required to be replaced when context is switched.
The system call module 660 is a program interface formed by all system calls provided by the operating system, and is an interface between the application system and the operating system.
The lightweight guest operating system 600 is substantially compatible with system calls of the legacy guest operating system 300 so that both c/c + + applications and java applications can run on the lightweight guest operating system 600. The system calls supported by lightweight client operating system 600 include file system operations, file read-write operations, network operations, socket sockets, and memory management, but do not support process creation operations.
The lightweight client operating system provided by the invention fully considers the software and hardware architecture in the cloud computing environment, makes a brand-new design and realization in the aspects of memory management, IO stack, scheduling, CPU virtualization and the like by using the design concept of libOS, and can effectively solve the problems in the traditional client operating system 300.
The lightweight guest operating system 600 of the present invention can replace the existing guest operating system 300, and the c/c + + application 400 and the JAVA application 520 can run on the lightweight guest operating system 600 without modification.
In summary, the main differences of the lightweight guest operating system in the cloud environment provided by the present invention compared with the prior art include:
in the whole architecture, only one application program is operated in a lightweight client operating system, so that redundant and costly functions in the client operating system are reduced, the performance of the application program can be effectively improved, and the application program operating container is efficient;
the memory management module uses a single address space, and all threads and kernels use a page table, so that context switching is reduced;
the thread scheduling module adopts a lockless design, so that the scheduling overhead is reduced;
zero copy and asynchronous io of a network module and a file system module of the system realize high-efficiency io;
the system is a simple and efficient lightweight client operating system, is used for replacing the original client operating system in a cloud environment, and can run a c/c + + application program and a java program.
Claims (9)
1. A method of making a client operating system lightweight, characterized by:
only one application is run in one client operating system to reduce redundant, costly functions in the client operating system;
the thread scheduling module of the client operating system adopts a lock-free design, so that the scheduling overhead is reduced;
and the network module and/or file system module of the client operating system is zero-copied, asynchronous io;
moreover, the resource management is arranged in an application layer, and the hardware is directly exposed to an application program through a safe API;
the thread scheduling module of the client operating system constructs a single-process multi-thread environment, and only performs scheduling among threads without performing scheduling among the threads; the thread scheduling module reserves a running queue on each CPU, stores all runnable threads of the CPU, and does not include a dormant thread in the running queue, so that each CPU has an independent running queue.
2. The method of claim 1, wherein: running a load balancing thread in each CPU to ensure the scheduling fairness; the load balancing threads are run once every a period of time, whether the size of the running queues of other CPUs is smaller than that of the own queue is checked, if so, one thread is selected from the own queue, and the thread is put into the running queue of which the running queue is smaller than that of the own CPU.
3. The method of claim 1 or 2, wherein:
the memory management module of the client operating system uses a single address space and is not divided into a user space and a kernel space; all threads and kernels of the memory management module use one page table, reducing context switching.
4. A lightweight guest operating system, characterized by:
only one application program is operated in a lightweight client operating system;
it only runs in a virtualized environment;
the thread scheduling module of the client operating system adopts a lock-free design, so that the scheduling overhead is reduced;
and the network module and/or file system module of the client operating system is zero-copied, asynchronous io;
moreover, the resource management is arranged in an application layer, and the hardware is directly exposed to an application program through a safe API;
the thread scheduling module constructs a single-process multi-thread environment for the lightweight client operating system, and only performs scheduling among threads without performing scheduling among the threads; the thread scheduling module reserves a running queue on each CPU and stores all runnable threads of the CPU.
5. The lightweight guest operating system of claim 4 wherein: running a load balancing thread in each CPU; the load balancing threads are run once every a period of time, whether the size of the running queues of other CPUs is smaller than that of the own queue is checked, if so, one thread is selected from the own queue, and the thread is put into the running queue of which the running queue is smaller than that of the own CPU.
6. The lightweight guest operating system of claim 5 wherein: the lightweight client operating system adopts flat physical memory mapping or virtual memory; the lightweight guest operating system employs a large page policy and uses a single address space, with one page table for all threads and kernels.
7. The lightweight guest operating system of claim 4 wherein:
the system call of the lightweight client operating system comprises file system operation, file read-write operation, network operation, socket and memory management, but does not support process creation operation;
or
The memory management module of the lightweight client operating system uses a single address space and is not divided into a user space and a kernel space;
or
The driver of the virtual hardware driver module of the lightweight client operating system only comprises a paravirtualization driver and SATE, and the paravirtualization driver comprises a keyboard and a virtio.
8. A lightweight guest operating system in a cloud environment, comprising:
the memory management module adopts flat physical memory mapping or virtual memory, adopts a large-page strategy, uses a single address space, and reduces context switching by using a page table for all threads and kernels;
the thread scheduling module is used for constructing a single-process and multi-thread environment, only relates to scheduling among threads, does not have scheduling among the threads, reserves an operation queue on each CPU and stores all operable threads of the CPU, so that each CPU has an independent operation queue, and the lock-free design is realized;
the virtual hardware driving module is used for enabling the light-weight client operating system to only run in a virtualization environment, and a virtualization layer on the physical server provides a simple and stable hardware abstraction layer, so that the driving of the light-weight client operating system only comprises a paravirtualization driving module and SATE, wherein the paravirtualization driving module comprises a keyboard and a virtio;
the file system module follows VFS design in linux, is compatible with a file interface of a traditional linux client operating system, and adopts ZFS as a main file system; and
the network module realizes zero copy, asynchronous IO and batch processing functions to improve the IO performance;
wherein, only one application program is operated in one light-weight client operating system; it still includes:
a C/C + + loading module and a JAVA virtual machine module;
furthermore, resource management is provided in the application layer, and hardware is directly exposed to the application program through a secure API.
9. A virtualized operating system, comprising:
server hardware;
a virtual machine monitor;
a number of lightweight client operating systems as claimed in any of claims 4 to 7;
C/C + + application programs or JAVA virtual machines; and
a JAVA application;
one or more virtual machines are provided on the server hardware through a virtual machine monitor, the lightweight client operating system is operated on the virtual machine, and a C/C + + application program or a JAVA virtual machine and a JAVA application program are operated on the lightweight client operating system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510411803.0A CN106339257B (en) | 2015-07-10 | 2015-07-10 | Method and system for making client operating system light weight and virtualization operating system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510411803.0A CN106339257B (en) | 2015-07-10 | 2015-07-10 | Method and system for making client operating system light weight and virtualization operating system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106339257A CN106339257A (en) | 2017-01-18 |
CN106339257B true CN106339257B (en) | 2020-03-24 |
Family
ID=57827136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510411803.0A Active CN106339257B (en) | 2015-07-10 | 2015-07-10 | Method and system for making client operating system light weight and virtualization operating system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106339257B (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109800061B (en) * | 2019-02-27 | 2023-04-25 | 上海美亦健健康管理有限公司 | Multi-instance virtualization method for embedded software |
CN110955886B (en) * | 2019-11-08 | 2022-06-21 | 广州供电局有限公司 | Sandbox-based data security fusion service device and method |
CN111552668B (en) * | 2020-07-09 | 2020-10-23 | 南京云信达科技有限公司 | High-performance cross-domain copying method based on zfs file system |
CN113672411B (en) * | 2021-08-25 | 2023-08-11 | 烽火通信科技股份有限公司 | Method and device for realizing network equipment virtualization driving adaptation layer |
CN114978589B (en) * | 2022-04-13 | 2023-08-08 | 中国科学院信息工程研究所 | Lightweight cloud operating system and construction method thereof |
CN117389691B (en) * | 2023-12-11 | 2024-03-22 | 利尔达科技集团股份有限公司 | Virtual machine based on embedded operating system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102236603A (en) * | 2010-04-29 | 2011-11-09 | 国际商业机器公司 | Garbage recycling method and system in virtual environment |
CN103473135A (en) * | 2013-09-23 | 2013-12-25 | 中国科学技术大学苏州研究院 | Processing method for spinlock LHP (Lock-Holder Preemption) phenomenon under virtual environment |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102497434B (en) * | 2011-12-16 | 2014-11-05 | 中国科学院计算技术研究所 | Establishing method of kernel state virtual network equipment and packet transmitting and receiving methods thereof |
CN104539642A (en) * | 2014-10-29 | 2015-04-22 | 杭州银江智慧医疗集团有限公司 | Device and method for hardware acceleration of Internet of things module equipment based on infection control protocol package |
-
2015
- 2015-07-10 CN CN201510411803.0A patent/CN106339257B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102236603A (en) * | 2010-04-29 | 2011-11-09 | 国际商业机器公司 | Garbage recycling method and system in virtual environment |
CN103473135A (en) * | 2013-09-23 | 2013-12-25 | 中国科学技术大学苏州研究院 | Processing method for spinlock LHP (Lock-Holder Preemption) phenomenon under virtual environment |
Also Published As
Publication number | Publication date |
---|---|
CN106339257A (en) | 2017-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106339257B (en) | Method and system for making client operating system light weight and virtualization operating system | |
Hong et al. | GPU virtualization and scheduling methods: A comprehensive survey | |
Gu et al. | A state-of-the-art survey on real-time issues in embedded systems virtualization | |
EP2519877B1 (en) | Hypervisor-based isolation of processor cores | |
Mergen et al. | Virtualization for high-performance computing | |
US8539499B1 (en) | Symmetric multiprocessing with virtual CPU and VSMP technology | |
CN108037994B (en) | Scheduling mechanism supporting multi-core parallel processing in heterogeneous environment | |
US9086925B2 (en) | Methods of processing core selection for applications on manycore processors | |
US20170147369A1 (en) | Performance-imbalance-monitoring processor features | |
JP2018190454A (en) | Dynamic virtual machine sizing | |
Cheng et al. | vScale: Automatic and efficient processor scaling for SMP virtual machines | |
US11934862B1 (en) | Physical memory management for virtual machines | |
CN113778612A (en) | Embedded virtualization system implementation method based on microkernel mechanism | |
Hong et al. | FairGV: fair and fast GPU virtualization | |
US20150193249A1 (en) | Idle processor management in virtualized systems via paravirtualization | |
Zhao et al. | Efficient sharing and fine-grained scheduling of virtualized GPU resources | |
US20060212840A1 (en) | Method and system for efficient use of secondary threads in a multiple execution path processor | |
Suzuki et al. | Gloop: An event-driven runtime for consolidating gpgpu applications | |
Li et al. | A light-weighted virtualization layer for multicore processor-based rich functional embedded systems | |
CN113032154B (en) | Scheduling method and device for virtual CPU, electronic equipment and storage medium | |
CN114281529A (en) | Distributed virtualized client operating system scheduling optimization method, system and terminal | |
US8402191B2 (en) | Computing element virtualization | |
Saeki et al. | Bash on Ubuntu on macOS | |
Lackorzynski et al. | Combining predictable execution with full-featured commodity systems | |
KR101534139B1 (en) | Method for Coordinated Scheduling For virtual machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |