CN106250217A - Synchronous dispatching method between a kind of many virtual processors and dispatching patcher thereof - Google Patents

Synchronous dispatching method between a kind of many virtual processors and dispatching patcher thereof Download PDF

Info

Publication number
CN106250217A
CN106250217A CN201610587456.1A CN201610587456A CN106250217A CN 106250217 A CN106250217 A CN 106250217A CN 201610587456 A CN201610587456 A CN 201610587456A CN 106250217 A CN106250217 A CN 106250217A
Authority
CN
China
Prior art keywords
processor
virtual
virtual processor
concurrent physical
group
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.)
Pending
Application number
CN201610587456.1A
Other languages
Chinese (zh)
Inventor
许广彬
郑军
张银滨
刘继江
常建忠
仇大玉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi Huayun Data Technology Service Co Ltd
Original Assignee
Wuxi Huayun Data Technology Service Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuxi Huayun Data Technology Service Co Ltd filed Critical Wuxi Huayun Data Technology Service Co Ltd
Priority to CN201610587456.1A priority Critical patent/CN106250217A/en
Publication of CN106250217A publication Critical patent/CN106250217A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Abstract

The invention provides the synchronous dispatching method between many virtual processors and dispatching patcher thereof, the method comprises the following steps: S1, creates and at least includes some virtual processor groups of a virtual processor;S2, for concurrent physical processor create scheduling queue;S3, with timeslice as dispatching cycle, load according to concurrent physical processor and the priority of virtual processor group, to determine whether to call in virtual processor scheduling queue, and perform to call in virtual processor the operation of scheduling queue by the scheduler run on concurrent physical processor;S4, determine the virtual processor group of allocated concurrent physical processor and update scheduling queue.In the present invention, can be according to the load of concurrent physical processor and the priority of virtual processor group, with the different virtual processors rearrangement being pointed in same scheduling queue, achieve the isochronous schedules between the multiple virtual processors being pointed in different concurrent physical processor, improve the implementation effect to concurrent operations.

Description

Synchronous dispatching method between a kind of many virtual processors and dispatching patcher thereof
Technical field
The present invention relates to virtual machine technique field, particularly relate to the synchronous dispatching method between a kind of virtual processor and base thereof Isochronous schedules system between a kind of many virtual processors of this synchronous dispatching method.
Background technology
Virtual machine manager (VMM) mainly includes KVM, XEN, VMware, Hyper-V, and by Intel Virtualization Technology at thing Multiple virtual machine is fictionalized on reason machine.Virtual processor (VCPU) is a core component of virtual machine, is also virtual machine simultaneously Manager realizes the base unit of scheduling, and it is similar to the system call process of legacy operating system (OS).
Virtual processor is controlled by virtual machine manager, and the virtual processor that namely virtual machine is seen is not likely to be Run simultaneously.Under actual physical situation, the concurrent physical processor (PCPU) that operating system is seen be always at can running status, so Cause virtualized environment and actual physical situation inconsistent.This scene and then the task of virtual machine internal can be affected, virtual machine Internal program is many one layer of scheduling than under conventional physical environment.Virtual processor is without operation, then appointing above it Business queue all can be suspended, and the operating system of virtual machine can not control.In the case of this, parallel task is run and holds The scene of lock task, virtual machine internal is to can't resolve the demand that they are suspended parallel and not.
Current virtual machine manager more take into account the fairness of each virtual processor, have ignored between them Relation, the problem of the most same virtual machine internal multiple virtual processor synchronous operation.
Summary of the invention
It is an object of the invention to disclose the synchronous dispatching method between a kind of many virtual processors, and based on the method Isochronous schedules system between a kind of many virtual processors, in order to realize the multiple virtual process being pointed in different concurrent physical processor Isochronous schedules between device, improves the implementation effect to concurrent operations.
For realizing above-mentioned first goal of the invention, the invention provides the isochronous schedules side between a kind of many virtual processors Method, comprises the following steps:
S1, create and at least include some virtual processor groups of a virtual processor;
S2, for concurrent physical processor create scheduling queue;
S3, with timeslice as dispatching cycle, according to load and the priority of virtual processor group of concurrent physical processor, with Determine whether to call in virtual processor scheduling queue, and performed virtual place by the scheduler run on concurrent physical processor The operation of scheduling queue called in by reason device;
S4, determine the virtual processor group of allocated concurrent physical processor and update scheduling queue.
As a further improvement on the present invention, the described virtual processor group device that is scheduled in units of SMP virtual machine is created Build.
As a further improvement on the present invention, the scheduler described concurrent physical processor run is based on concurrent physical processor Idling-resource surplus, preferentially calls the concurrent physical processor being in idle condition to occurring position to become in same scheduling queue The virtual processor changed.
As a further improvement on the present invention, also include, according to concurrent physical processor idling-resource surplus, passing through scheduler The concurrent physical processor associated by virtual processor that preempting priority is relatively low also calls to position occurs in same scheduling queue The virtual processor of change.
As a further improvement on the present invention, when the concurrent physical processor that two idling-resource surpluses of existence are equal, then Using the virtual processor group relatively low as priority of less group of the virtual coprocessor number in virtual processor group, and by adjusting Spend the relatively low concurrent physical processor associated by virtual processor of device preempting priority and call to generation in same scheduling queue The virtual processor of change in location.
As a further improvement on the present invention, when the virtual place comprised in the scheduling queue associated by concurrent physical processor The quantity of reason device is identical, then using the virtual processor group relatively low as priority that concurrent physical processor id is bigger, and by scheduling The concurrent physical processor associated by virtual processor that device preempting priority is relatively low also calls to position occurs in same scheduling queue Put the virtual processor of change.
As a further improvement on the present invention, also include the initialization operation to virtual processor group in step S1, to incite somebody to action Virtual processor model in virtual processor group, virtual coprocessor number, socket attribute, numa node attribute, vm-id Attribute is advanced and is indicated and be recorded in virtual processor group.
As a further improvement on the present invention, described scheduler includes global scheduler, preemption scheduling device or mixing Formula scheduler.
For realizing above-mentioned second goal of the invention, present invention also offers the isochronous schedules system between a kind of many virtual processors System, including:
Initialization module, physical processor resource detection module, virtual processor management and running module, scheduling queue manage Module;Wherein,
Initialization module, in order to create the some virtual processor groups at least including a virtual processor, and is physics Processor creates scheduling queue;
Physical processor resource detection module, for detecting the load of concurrent physical processor;
Virtual processor management and running module, with timeslice as dispatching cycle, according to load and the void of concurrent physical processor Intend the priority of processor group, to determine whether to call in virtual processor scheduling queue, and transported by concurrent physical processor The scheduler of row performs to call in virtual processor the operation of scheduling queue;
Scheduling queue management module, determines the virtual processor group of allocated concurrent physical processor and updates scheduling queue.
As a further improvement on the present invention, also including physical processor resource arbitration modules, it is according to virtual processor The demand of group, prepares the concurrent physical processor of respective number;
If concurrent physical processor number is inadequate, then the concurrent physical processor associated by virtual processor that preempting priority is relatively low;
If there is the virtual processor group that two or more priority are equal, then with in virtual processor group simultaneously The virtual processor group relatively low as priority of less group of virtual coprocessor number, and relatively low by scheduler preempting priority The concurrent physical processor associated by virtual processor and call to the virtual process that change in location occurs in same scheduling queue Device;
If the quantity of the virtual processor comprised in the scheduling queue associated by concurrent physical processor is identical, then with physics The virtual processor group relatively low as priority that processor id is bigger, and pass through the virtual place that scheduler preempting priority is relatively low Manage the concurrent physical processor associated by device and call to the virtual processor that change in location occurs in same scheduling queue.
Compared with prior art, the invention has the beneficial effects as follows: in the present invention, can according to the load of concurrent physical processor with And the priority of virtual processor group, with the different virtual processors rearrangement being pointed in same scheduling queue, to guarantee Multiple virtual processors in same virtual processor group keep synchronizing, it is achieved thereby that be pointed to different concurrent physical processor (PCPU) isochronous schedules between multiple virtual processors (VCPU) in, improves the implementation effect to concurrent operations.
Accompanying drawing explanation
Fig. 1 is the synchronous dispatching method flow chart between a kind of many virtual processors of the present invention;
Fig. 2 is the scene graph that four concurrent physical processors installed by a main frame;
Fig. 3 is that the multiple virtual processors in four scheduling queues formed in four concurrent physical processors in Fig. 2 exist Schematic diagram before isochronous schedules;
Fig. 4 is that the multiple virtual processors in four scheduling queues formed in four concurrent physical processors in Fig. 2 exist Schematic diagram after isochronous schedules;
Fig. 5 is the program execution flow figure of the synchronous dispatching method of a kind of many virtual processors of the present invention;
Fig. 6 is the structure chart in a kind of detailed description of the invention of the dispatching patcher between a kind of many virtual processors of the present invention;
Fig. 7 is the structure in another kind of detailed description of the invention of the dispatching patcher between a kind of many virtual processors of the present invention Figure.
Detailed description of the invention
The present invention is described in detail for each embodiment shown in below in conjunction with the accompanying drawings, but it should explanation, these Embodiment not limitation of the present invention, those of ordinary skill in the art according to these embodiment institute work energy, method, Or the equivalent transformation in structure or replacement, within belonging to protection scope of the present invention.
In this specification, the concurrent physical processor of indication includes the physical central processor being installed on physical machine mainboard (PCPU), it is possible to for having ASIC (the Application Specific Integrated of logic and/or ordering calculation function Circuit) chip, it is possible to for FPGA (Field-Programmable Gate Array) chip.
Method disclosed in one or more embodiment, device, system or application disclosed in this specification are all Can be individually or to represent in the way of combination.Described module or the division of unit, only a kind of logic of computer-internal The division of function, be actually alternatively other dividing mode, the most multiple unit or module or assembly can in conjunction with or Person is integrated or is cured in another computer system or computer installation.
Wherein, computer system or computer installation can be local physical computer, include but not limited to desktop computer, Laptop computer, server, it is possible to be configured to distributed computing system or various types of cloud computing main frame or void Intend computer cluster server.
In the detailed description of the invention of this specification, concurrent physical processor is with the central processing unit (Processor) of physical aspect As a example by exemplary illustrated, PCPU is equivalent to concurrent physical processor, but therefore concurrent physical processor can not be constituted any restriction.Below In, PCPU and concurrent physical processor have equivalents, and VCPU and virtual processor have equivalents.
The virtual management mode of VMM can be closed from the mapping of the aspect sweetly disposition physical resource of software and hardware and virtual resource System, it is provided that the several functions such as performance isolation, security isolation and condition monitoring.VMM is as a kind of software management layers, and it is implemented in firmly Between part layer and legacy operating system, and it is used for managing physical equipment, such as: concurrent physical processor (PCPU), internal memory (MEMORY) Deng equipment, and it is corresponding virtual equipment interface by the hardware abstraction of bottom, makes multiple operating system be assigned to customization Virtual hardware resource (virtual processor resources, virtual memory etc.), so that multiple operating system can be simultaneously run in same On equipment.
Fig. 1 shows the flow chart of the synchronous dispatching method between a kind of many virtual processors of the present invention, and concrete, how empty this is The synchronous dispatching method intended between processor comprises the following steps.
S1, create and at least include some virtual processor groups of a virtual processor;
S2, for concurrent physical processor create scheduling queue;
S3, with timeslice as dispatching cycle, according to load and the priority of virtual processor group of concurrent physical processor, with Determine whether to call in virtual processor scheduling queue, and performed virtual place by the scheduler run on concurrent physical processor The operation of scheduling queue called in by reason device;
S4, determine the virtual processor group of allocated concurrent physical processor and update scheduling queue.
Concrete, please join shown in Fig. 2, shown in Fig. 2 a host A, it includes four concurrent physical processors (PCPU), i.e. PCPU_1, PCPU_2, PCPU_3 and PCPU_4, these four concurrent physical processors are based on VMM (virtual machine Monitor), the Intel Virtualization Technology such as such as KVM, XEN, VMware or Hyper-V, virtual by the way of software dissolve one Or multiple virtual machines, each virtual machine includes virtual processor (VCPU).Four concurrent physical processors (PCPU) can be based on virtual Change technology, supports the structure of SMP virtual machine.
Symmetric multiprocessor (Symmetrical Multi-Processing, SMP) is widely used in virtualization field, Also it is the multiprocessor default option of many software virtual machines.SMP has equal access to memorizer, I/O and external interrupt Authority.The single copy of operating system just can control all kernels, makes any processor can run all of thread, and without Consider kernel, apply or interrupt the differentiation serviced.
In the present embodiment, PCPU_1 creates its exclusive scheduling queue 11, and in like manner PCPU_2 creates has it exclusive Scheduling queue 12, PCPU_3 creates its exclusive scheduling queue 13, and PCPU_4 creates its exclusive scheduling queue 14.Tool Body, can be by the initialization operation to virtual processor group of the initialization module 10 in Fig. 6, with by virtual processor group (i.e. VCPU group 21, VCPU group 22, VCPU group 23, VCPU group 24 and VCPU group 25) in virtual processor model, virtual processor number Amount, socket attribute, numa node attribute, vm-id attribute are advanced and are indicated and be recorded in virtual processor group.Each PCPU One or more VCPU that group is formed by Intel Virtualization Technology is included in same scheduling queue.
As it is shown on figure 3, scheduler creates five virtual processor groups, i.e. VCPU in Fig. 3 in units of SMP virtual machine Group 21, VCPU group 22, VCPU group 23, VCPU group 24, VCPU group 25.Preferably volume, this scheduler includes global scheduler, seizes Formula scheduler or mixed schedule device, and most preferably preemption scheduling device.Preemption scheduling device allows appointing of high priority Business interrupts the task that (interrupt) currently performs, and seizes the control of VCPU.
Meanwhile, the VCPU in VCPU follows same VCPU group puts into the basic principle of different scheduling queues.Due to The quantity of the VCPU in virtual processor group is the most equal, therefore define as Fig. 3 structure.In figure 3, host A Four concurrent physical processors define 16 virtual processors by Intel Virtualization Technology;Wherein,
VCPU_1, VCPU_5, VCPU_8, VCPU_12 have collectively constituted VCPU group 21,
VCPU_2, VCPU_6, VCPU_9, VCPU_13 have collectively constituted VCPU group 22,
VCPU_3, VCPU_7, VCPU_10, VCPU_14 have collectively constituted VCPU group 23,
VCPU_4, VCPU_11, VCPU_15 have collectively constituted VCPU group 24,
VCPU_16 has collectively constituted VCPU group 21.
VCPU group 21, VCPU group 22, VCPU group 23, VCPU group 24 and VCPU group 25 are corresponding with five virtual machines respectively, and The task such as data throughput and computing of execution.
Whole carrying can not be crossed with all virtual processors in a scheduling queue in a PCPU owing to being positioned at OK, the multiple virtual processors being positioned in different concurrent physical processor being positioned in same virtual process group cannot be complete complete same Step.As shown in Figure 3, VCPU_1 and VCPU_8 in VCPU group 21 is in idle condition, and VCPU_5 with VCPU_12 is in non- Idle condition.Now, just with timeslice as dispatching cycle, according to the load of concurrent physical processor (PCPU1, PCPU3) and virtual The priority of processor group (VCPU group 22), to determine whether to call in virtual processor scheduling queue, and passes through physical treatment The scheduler run on device performs to call in virtual processor the operation of scheduling queue.
Timeslice is the time that concurrent physical processor (PCPU) distributes to each program, and each thread is allocated a time Section, is referred to as the time that its timeslice, i.e. this process allow to run, makes each program carry out the most simultaneously.As Fruit process at the end of timeslice is also being run, then PCPU will be deprived of and distribute to another process.If process is in the time Sheet blocks before terminating or terminates, then PCPU switches at once.Without causing the PCPU wasting of resources.
Shown in Fig. 4, in order to ensure that four virtual processors in VCPU group 21 keep synchronizing, therefore can be by VCPU_5 With VCPU_6 under the scheduling of scheduler, scheduling queue 12 occurs change in location, and transposition;Meanwhile, VCPU_12 with Under the scheduling of scheduler, in scheduling queue 14, there is change in location, and transposition in VCPU_13.So that VCPU group Four virtual processors in 21 are all in upstate, and achieve isochronous schedules, it is to avoid in virtualization in prior art Probably due to some or certain several virtual processors are not allocated to enough when environment is inconsistent with real physical environment Idling-resource and the problem that is suspended.Finally, scheduling queue 12 and scheduling queue 13 are updated operation.
Under the scheduler program of virtual machine internal and traditional physical machine environment, many one layer of dispatch layers.Therefore, if one One or more virtual machine formed by Intel Virtualization Technology in concurrent physical processor is because being not previously allocated or having taken Effect resource and cannot properly functioning time, then this virtual processor will be suspended, and pseudo operation based on this virtual machine System is the most uncontrollable.In this case, for concurrent tasks and the scene of holder lock task, virtual machine cannot solve these positions One or more virtual processor in multiple virtual processors in same concurrent physical processor is in default of resource The demand not being suspended, and also cannot realize the execution to concurrent tasks.And in the present invention, be exactly based on according to physical treatment The load of device (PCPU1, PCPU3) and the priority of virtual processor group (VCPU group 22), to determine whether virtual process Scheduling queue called in by device, and performs virtual processor is called in scheduling queue by the scheduler run on concurrent physical processor The technical scheme of operation, solves above-mentioned technical problem, and can successfully manage concurrent tasks and the application scenarios of lock task.
Preferably, in the present embodiment, the synchronous dispatching method between these many virtual processors also includes, at physics Reason device idling-resource surplus, by the concurrent physical processor associated by the virtual processor that scheduler preempting priority is relatively low and adjust With giving the virtual processor that change in location occurs in same scheduling queue.When there is the thing that two idling-resource surpluses are equal During reason processor, then using the virtual process relatively low as priority of less group of the virtual coprocessor number in virtual processor group Device group, and pass through the relatively low concurrent physical processor associated by virtual processor of scheduler preempting priority and call at same tune Degree queue occurs the virtual processor of change in location.Virtual when being comprised in the scheduling queue associated by concurrent physical processor The quantity of processor is identical, then using the virtual processor group relatively low as priority that concurrent physical processor id is bigger, and by adjusting Spend the relatively low concurrent physical processor associated by virtual processor of device preempting priority and call to generation in same scheduling queue The virtual processor of change in location.
Concrete, what synchronous dispatching method between these many virtual processors was more specific realize step can join shown in Fig. 5.
First, step S10, VCPU virtualization are performed.
Then, performing step S11, create VCPU group by initialization module 10 (shown in ginseng Fig. 6), VCPU group includes one Individual or multiple VCPU.
Then, perform step S12, be that each PCPU creates scheduling queue by initialization module 10.
Then, perform step S13, performed scheduling queue management by scheduling queue management module 40, and many with host A Individual concurrent physical processor performs " request-response " operation.
Then, perform step S15, by scheduler according to the load of concurrent physical processor (such as, PCPU1, PCPU3) and void Intend the priority of processor group (such as, VCPU group 22), to determine whether virtual processor is called in scheduling queue.In this step In S15, need one or more scheduling queue that invocation step S12 is created.
Then, perform the number whether >=2 of step S16, the VCPU judged in VCPU group, if 1, the most directly should VCPU directly runs without the operation of memory queue scheduling, and redirects execution step S19, VCPU operation, the VCPU that will be scheduled State be loaded into PCPU (concurrent physical processor);If number >=2 of the VCPU in VCPU group, then perform step S17.This step S16 specifically can be performed by physical processor resource monitoring modular 50.
Step S17, preparation PCPU.
Then, redirect execution step S18, judge that PCPU resource is the most sufficient, and mould can be monitored by physical processor resource Block 50 performs.If PCPU resource is sufficient, the most directly redirect execution step S19;If PCPU resource is inadequate, then returns up and jump Turn and perform step S15, and the operation that moves in circles successively, until finding suitable concurrent physical processor (PCPU).
Terminate.
Embodiment two:
Please join a kind of specific embodiment party of isochronous schedules system between a kind of many virtual processors of the present invention illustrated in fig. 6 Formula.
In the present embodiment, the isochronous schedules system between these many virtual processors, including:
Initialization module 10, physical processor resource detection module 50, virtual processor management and running module 20, scheduling team Row management module 40;Wherein,
Initialization module 10, in order to create the some virtual processor groups at least including a virtual processor, and is thing Reason processor creates scheduling queue;
Physical processor resource detection module 50, for detecting the load of concurrent physical processor;
Virtual processor management and running module 20, with timeslice as dispatching cycle, according to the load of concurrent physical processor and The priority of virtual processor group, to determine whether to call in virtual processor scheduling queue, and by institute on concurrent physical processor The scheduler run performs to call in virtual processor the operation of scheduling queue;
Scheduling queue management module 40, determines the virtual processor group of allocated concurrent physical processor and updates scheduling queue.
The technical scheme that the present embodiment is identical with embodiment one does not repeats them here, and please join described in embodiment one.
Embodiment three:
The another kind of scheduling that please join the isochronous schedules system between a kind of many virtual processors of the present invention illustrated in fig. 7 is System.Isochronous schedules system between these many virtual processors relative to the difference existing for embodiment two is, in the present embodiment, Isochronous schedules system between many virtual processors also includes physical processor resource arbitration modules 30, and it is according to virtual processor group Demand, prepare respective number concurrent physical processor;
If concurrent physical processor number is inadequate, then the concurrent physical processor associated by virtual processor that preempting priority is relatively low;
If there is the virtual processor group that two or more priority are equal, then with in virtual processor group simultaneously The virtual processor group relatively low as priority of less group of virtual coprocessor number, and relatively low by scheduler preempting priority The concurrent physical processor associated by virtual processor and call to the virtual process that change in location occurs in same scheduling queue Device;
If the quantity of the virtual processor comprised in the scheduling queue associated by concurrent physical processor is identical, then with physics The virtual processor group relatively low as priority that processor id is bigger, and pass through the virtual place that scheduler preempting priority is relatively low Manage the concurrent physical processor associated by device and call to the virtual processor that change in location occurs in same scheduling queue.
In the present embodiment, this scheduler includes global scheduler, preemption scheduling device or mixed schedule device, and It is preferably preemption scheduling device.
Each functional unit in each embodiment of the present invention can be integrated in a processing unit, it is also possible to is each Unit is individually physically present, it is also possible to two or more unit are integrated in a unit.Above-mentioned integrated unit both may be used To use the form of hardware to realize, it would however also be possible to employ the form of SFU software functional unit realizes.
If described integrated unit realizes and as independent production marketing or use using the form of SFU software functional unit Time, can be stored in a computer read/write memory medium.Based on such understanding, technical scheme is substantially The part that in other words prior art contributed or this technical scheme completely or partially can be with the form of software product Embodying, this computer software product is stored in a storage medium, including some instructions with so that a computer Equipment (can be personal computer, server, or the network equipment etc.) or processor (processor) perform the present invention each All or part of step of method described in embodiment.And aforesaid storage medium includes: USB flash disk, portable hard drive, read only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory) magnetic disc, non-volatile The various media that can store program code such as storage arrangement (NVM) or CD.
The a series of detailed description of those listed above is only for the feasibility embodiment of the present invention specifically Bright, they also are not used to limit the scope of the invention, all equivalent implementations made without departing from skill of the present invention spirit Or change should be included within the scope of the present invention.
It is obvious to a person skilled in the art that the invention is not restricted to the details of above-mentioned one exemplary embodiment, Er Qie In the case of the spirit or essential attributes of the present invention, it is possible to realize the present invention in other specific forms.Therefore, no matter From the point of view of which point, all should regard embodiment as exemplary, and be nonrestrictive, the scope of the present invention is by appended power Profit requires rather than described above limits, it is intended that all by fall in the implication of equivalency and scope of claim Change is included in the present invention.Should not be considered as limiting involved claim by any reference in claim.
Although moreover, it will be appreciated that this specification is been described by according to embodiment, but the most each embodiment only wraps Containing an independent technical scheme, this narrating mode of description is only that for clarity sake those skilled in the art should Description can also be formed those skilled in the art through appropriately combined as an entirety, the technical scheme in each embodiment May be appreciated other embodiments.

Claims (10)

1. synchronous dispatching method between virtual processor more than, it is characterised in that comprise the following steps:
S1, create and at least include some virtual processor groups of a virtual processor;
S2, for concurrent physical processor create scheduling queue;
S3, with timeslice as dispatching cycle, according to load and the priority of virtual processor group of concurrent physical processor, to determine Whether virtual processor is called in scheduling queue, and is performed virtual processor by the scheduler run on concurrent physical processor Call in the operation of scheduling queue;
S4, determine the virtual processor group of allocated concurrent physical processor and update scheduling queue.
Synchronous dispatching method the most according to claim 1, it is characterised in that described virtual processor group is with SMP virtual machine Created by the unit device that is scheduled.
Synchronous dispatching method the most according to claim 1 and 2, it is characterised in that run on described concurrent physical processor Scheduler idling-resource based on concurrent physical processor surplus, preferentially calls the concurrent physical processor being in idle condition to same One scheduling queue occurs the virtual processor of change in location.
Synchronous dispatching method the most according to claim 3, it is characterised in that also include according to concurrent physical processor idling-resource Surplus, by the concurrent physical processor associated by the virtual processor that scheduler preempting priority is relatively low and call at same tune Degree queue occurs the virtual processor of change in location.
Synchronous dispatching method the most according to claim 4, it is characterised in that two idling-resource surpluses are equal when existing Concurrent physical processor time, then using less group of the virtual coprocessor number in virtual processor group as relatively low virtual of priority Processor group, and pass through the relatively low concurrent physical processor associated by virtual processor of scheduler preempting priority and call to same One scheduling queue occurs the virtual processor of change in location.
Synchronous dispatching method the most according to claim 5, it is characterised in that when the scheduling queue associated by concurrent physical processor In the quantity of the virtual processor comprised identical, then using the virtual place relatively low as priority that concurrent physical processor id is bigger Reason device group, and pass through the relatively low concurrent physical processor associated by virtual processor of scheduler preempting priority and call to same Scheduling queue occurs the virtual processor of change in location.
Synchronous dispatching method the most according to claim 1, it is characterised in that also include virtual processor group in step S1 Initialization operation, with by the virtual processor model in virtual processor group, virtual coprocessor number, socket attribute, Numa node attribute, vm-id attribute are advanced and are indicated and be recorded in virtual processor group.
Synchronous dispatching method the most according to claim 1, it is characterised in that described scheduler includes global scheduler, robs Account for formula scheduler or mixed schedule device.
9. isochronous schedules system between virtual processor more than a kind, it is characterised in that including:
Initialization module, physical processor resource detection module, virtual processor management and running module, scheduling queue management mould Block;Wherein,
Initialization module, in order to create the some virtual processor groups at least including a virtual processor, and is physical treatment Device creates scheduling queue;
Physical processor resource detection module, for detecting the load of concurrent physical processor;
Virtual processor management and running module, with timeslice as dispatching cycle, according to load and the virtual place of concurrent physical processor The priority of reason device group, to determine whether to call in virtual processor scheduling queue, and by being run on concurrent physical processor Scheduler performs to call in virtual processor the operation of scheduling queue;
Scheduling queue management module, determines the virtual processor group of allocated concurrent physical processor and updates scheduling queue.
Isochronous schedules system the most according to claim 9, it is characterised in that also include that physical processor resource arbitrates mould Block, it, according to the demand of virtual processor group, prepares the concurrent physical processor of respective number;
If concurrent physical processor number is inadequate, then the concurrent physical processor associated by virtual processor that preempting priority is relatively low;
If there is the virtual processor group that two or more priority are equal simultaneously, then virtual with in virtual processor group The virtual processor group relatively low as priority of processor negligible amounts group, and pass through the void that scheduler preempting priority is relatively low Intend the concurrent physical processor associated by processor and call to the virtual processor that change in location occurs in same scheduling queue;
If the quantity of the virtual processor comprised in the scheduling queue associated by concurrent physical processor is identical, then with physical treatment The virtual processor group relatively low as priority that device id is bigger, and pass through the virtual processor that scheduler preempting priority is relatively low Associated concurrent physical processor also calls to the virtual processor that change in location occurs in same scheduling queue.
CN201610587456.1A 2016-07-22 2016-07-22 Synchronous dispatching method between a kind of many virtual processors and dispatching patcher thereof Pending CN106250217A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610587456.1A CN106250217A (en) 2016-07-22 2016-07-22 Synchronous dispatching method between a kind of many virtual processors and dispatching patcher thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610587456.1A CN106250217A (en) 2016-07-22 2016-07-22 Synchronous dispatching method between a kind of many virtual processors and dispatching patcher thereof

Publications (1)

Publication Number Publication Date
CN106250217A true CN106250217A (en) 2016-12-21

Family

ID=57603361

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610587456.1A Pending CN106250217A (en) 2016-07-22 2016-07-22 Synchronous dispatching method between a kind of many virtual processors and dispatching patcher thereof

Country Status (1)

Country Link
CN (1) CN106250217A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107589995A (en) * 2017-08-16 2018-01-16 广东电网有限责任公司电力调度控制中心 Preview method for scheduling task before a kind of data service is broadcast
CN108415876A (en) * 2017-02-28 2018-08-17 张家口浩扬科技有限公司 A kind of dynamic computing device
CN109586965A (en) * 2018-12-04 2019-04-05 郑州云海信息技术有限公司 A kind of network interface card RSS method of automatic configuration, device, terminal and storage medium
CN110990139A (en) * 2019-12-06 2020-04-10 安徽芯智科技有限公司 SMP scheduling method and system based on RTOS
CN111459622A (en) * 2020-04-15 2020-07-28 腾讯科技(深圳)有限公司 Method and device for scheduling virtual CPU, computer equipment and storage medium
WO2023165485A1 (en) * 2022-03-04 2023-09-07 阿里巴巴(中国)有限公司 Scheduling method and computer system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101470635A (en) * 2007-12-24 2009-07-01 联想(北京)有限公司 Method for multi-virtual processor synchronous scheduling and computer thereof
CN102662763A (en) * 2012-04-11 2012-09-12 华中科技大学 Virtual machine resource scheduling method based on service quality
CN103677990A (en) * 2013-12-13 2014-03-26 清华大学 Virtual machine real-time task scheduling method and device and virtual machine
CN103795621A (en) * 2013-12-12 2014-05-14 华为技术有限公司 Virtual machine data exchange method and device, and physical host

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101470635A (en) * 2007-12-24 2009-07-01 联想(北京)有限公司 Method for multi-virtual processor synchronous scheduling and computer thereof
CN102662763A (en) * 2012-04-11 2012-09-12 华中科技大学 Virtual machine resource scheduling method based on service quality
CN103795621A (en) * 2013-12-12 2014-05-14 华为技术有限公司 Virtual machine data exchange method and device, and physical host
CN103677990A (en) * 2013-12-13 2014-03-26 清华大学 Virtual machine real-time task scheduling method and device and virtual machine

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
丁晓波: "面向实时应用的虚拟机调度研究", 《万方学位论文数据库》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108415876A (en) * 2017-02-28 2018-08-17 张家口浩扬科技有限公司 A kind of dynamic computing device
CN107589995A (en) * 2017-08-16 2018-01-16 广东电网有限责任公司电力调度控制中心 Preview method for scheduling task before a kind of data service is broadcast
CN107589995B (en) * 2017-08-16 2020-06-09 广东电网有限责任公司电力调度控制中心 Pre-broadcast preview task scheduling method for data service
CN109586965A (en) * 2018-12-04 2019-04-05 郑州云海信息技术有限公司 A kind of network interface card RSS method of automatic configuration, device, terminal and storage medium
CN110990139A (en) * 2019-12-06 2020-04-10 安徽芯智科技有限公司 SMP scheduling method and system based on RTOS
CN111459622A (en) * 2020-04-15 2020-07-28 腾讯科技(深圳)有限公司 Method and device for scheduling virtual CPU, computer equipment and storage medium
CN111459622B (en) * 2020-04-15 2023-10-13 腾讯科技(深圳)有限公司 Method, device, computer equipment and storage medium for scheduling virtual CPU
WO2023165485A1 (en) * 2022-03-04 2023-09-07 阿里巴巴(中国)有限公司 Scheduling method and computer system

Similar Documents

Publication Publication Date Title
JP6646114B2 (en) Dynamic virtual machine sizing
CN106250217A (en) Synchronous dispatching method between a kind of many virtual processors and dispatching patcher thereof
Wu et al. Flep: Enabling flexible and efficient preemption on gpus
AU2014311463B2 (en) Virtual machine monitor configured to support latency sensitive virtual machines
Phillips et al. Adapting a message-driven parallel application to GPU-accelerated clusters
JP6294586B2 (en) Execution management system combining instruction threads and management method
Tabish et al. A real-time scratchpad-centric os for multi-core embedded systems
EP1628214B1 (en) Systems and methods for implementing an operating system in a virtual machine environment
CN103064746B (en) The accurate distribution method of processor resource of forecast dispatching is carried out based on current credit
CN103744716B (en) A kind of dynamically interruption Well-Balanced Mapping method based on current VCPU dispatch state
US8271990B2 (en) Removing operating system jitter-induced slowdown in virtualized environments
CN103677990B (en) Dispatching method, device and the virtual machine of virtual machine real-time task
CN104094235B (en) Multithreading calculates
US11579908B2 (en) Containerized workload scheduling
JP2013524386A (en) Runspace method, system and apparatus
WO2012028214A1 (en) High-throughput computing in a hybrid computing environment
US10942824B2 (en) Programming model and framework for providing resilient parallel tasks
CN110447012B (en) Collaborative virtual processor scheduling
Suo et al. Preserving i/o prioritization in virtualized oses
Razaghi et al. Host-compiled multicore RTOS simulator for embedded real-time software development
JP5178778B2 (en) Virtual machine and CPU allocation method
Neves et al. Scheduling mapreduce jobs in HPC clusters
CN102508696A (en) Asymmetrical resource scheduling method and device
Suzuki et al. Real-time GPU resource management with loadable kernel modules
Tellabi et al. Empirical study of real-time hypervisors for industrial systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20161221

RJ01 Rejection of invention patent application after publication