CN103049331B - A kind of dynamic dispatching method of virtual functions - Google Patents

A kind of dynamic dispatching method of virtual functions Download PDF

Info

Publication number
CN103049331B
CN103049331B CN201210521557.0A CN201210521557A CN103049331B CN 103049331 B CN103049331 B CN 103049331B CN 201210521557 A CN201210521557 A CN 201210521557A CN 103049331 B CN103049331 B CN 103049331B
Authority
CN
China
Prior art keywords
queue
virtual machine
node
virtual
functions
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
Application number
CN201210521557.0A
Other languages
Chinese (zh)
Other versions
CN103049331A (en
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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201210521557.0A priority Critical patent/CN103049331B/en
Publication of CN103049331A publication Critical patent/CN103049331A/en
Application granted granted Critical
Publication of CN103049331B publication Critical patent/CN103049331B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

A dynamic dispatching method for virtual functions, belongs to computer virtualized field, and the problem of extensibility deficiency, very flexible during the virtual functions that the network interface card solving the virtual standard of single input and output provides uses, to improve the utilization factor of described network interface card.The present invention includes initialization step, establishment queue step, virtual machine classifying step, distribute virtual functions step, judge that wake-up step, virtual machine increase step, virtual machine reduces step, dynamic adjustment step and sleep step.The present invention is within a period of time, by statistics virtual machine I/O interruption times and the length of one's sleep, dynamic dispatching is carried out to the virtual functions that the network interface card of the virtual standard of single input and output (SR-IOV) provides, ensure that virtual functions is used by the virtual machine that I/O priority value is large, improve its network performance, take full advantage of hardware, for the virtual machine platform of the direct allocation scheme of support equipment.

Description

A kind of dynamic dispatching method of virtual functions
Technical field
The invention belongs to computer virtualized field, be specifically related to a kind of dynamic dispatching method of virtual functions, for the virtual machine platform of the direct allocation scheme of support equipment, dynamic dispatching is carried out to the virtual functions that the network interface card of the virtual standard of single input and output (SR-IOV) provides.
Background technology
Along with the progress of science and technology, Intel Virtualization Technology range of application is more and more wider.Intel Virtualization Technology can be divided into that CPU is virtual, internal memory virtualization and I/O virtual.At present, the virtual and internal memory virtualization technology comparative maturity of CPU, and the virtualized performance of I/O has much room for improvement.
The I/O equipment that virtual machine uses is divided into two classes, the I/O equipment of software simulation and the I/O equipment by the direct allocation scheme distribution of equipment.The I/O equipment of software simulation comprises equipment that general virtual mode simulates and the equipment that Full-virtualization mode is simulated.The I/O equipment that the direct allocation scheme of equipment is distributed comprises the virtual functions of the equipment of physical equipment and the virtual standard of the single input and output of support.
Software simulation I/O DeviceMode has the advantage of favorable expandability, but I/O action needs all under which is caught by monitor of virtual machine and is performed, add virtual machine switching times, frequently the growth in contextual processing and I/O path, make this mode I/O poor-performing.
It is the physical equipment of hardware platform is distributed to the exclusive use of some virtual machines that the direct allocation scheme of use equipment distributes physical equipment, and other virtual machine can not use.Although this mode better performances, poor expandability, the utilization factor of resource is lower.
The single input and output of new standard that Peripheral Component Interconnect special interest group (PCI-SIG) is announced are virtual, be intended to high speed peripheral component interlinkage standard (PCI-E) physical function to be abstracted into multiple virtual functions, and virtual functions can be distributed to virtual machine and directly use.Compared to software simulation I/O DeviceMode, its I/O performance improves; Distribute physical equipment compared to the direct allocation scheme of use equipment, under the prerequisite slightly affecting I/O performance, improve extensibility, for providing the foundation based on Ethernet optical-fibre channel etc. in the higher class application deployment to virtual machine of IO performance requirement.
But the equipment of the virtual standard of single input and output still exists some problems: 1, extensibility is not enough, the virtual functions number that equipment following the virtual standard of single input and output can create is subject to the restriction of hardware resource.2, lack dirigibility to the use of virtual functions, after distribution virtual functions gives a virtual machine, virtual functions is just taken by this virtual machine always.The I/O interruption times of its use and virtual machine, the length of one's sleep change irrelevant, may reduce the utilization factor of equipment.
In order to be expressly understood the present invention, below the term used in the present invention is made an explanation:
Virtual standard (the SR-IOV of single input and output, Single Root I/O Virtualization): Peripheral Component Interconnect special interest group (PCI-SIG, Peripheral Component InterconnectSpecial Interest Group) the device virtualization standard announced, the equipment following this standard possesses single input and output virtualization, and physical equipment can be allowed to become shared device.
Peripheral hardware interconnect standard (PCI, Peripheral Component Interconnect): a kind of bus standard connecting robot calculator mainboard and external unit.
High speed peripheral component interlinkage standard (PCI Express, be called for short PCI-E): the one being computer bus peripheral hardware interconnect standard, it has continued to use existing peripheral hardware interconnect standard programming concept and communication standard, but based on serial communication system faster.
Physical function (PF, Physical Function): in high speed peripheral component interlinkage standard, physical equipment (Physical Device) is also called physical function; The present invention refers to the physical equipment supporting the virtual standard of single input and output.
Virtual functions (VF, Virtual Function is also referred to as virtual unit): physical function follows the virtual standard-creation virtual functions of single input and output, and share one or more physical resource, virtual machine directly can use virtual functions.
Virtual machine (VM, Virtual Machine): refer to by software simulation, there is complete hardware system function, the complete computer operated in a completely isolated environment.
Monitor of virtual machine (VMM, Virtual Machine Monitor is also referred to as Hypervisor): a kind of intermediate software layer operated between basic physics server and operating system, can allow multiple operating system and application software to share hardware.
Equipment directly distributes: the direct distributing equipment of monitor of virtual machine is to virtual machine, and the device driver in virtual machine directly can access equipment, only needs the management through a small amount of monitor of virtual machine.
General virtual (Paravirtualization): a kind ofly provide similar with bottom hardware but not identical software interface technology to virtual machine.
Physical network card (NIC, Network Interface Controller is also referred to as network interface controller): be one piece and be designed to allow computing machine to carry out the computer hardware of communication on the computer network, the present invention adopts the physical network card following the virtual standard of single input and output.
Microsoft Loopback Adapter (VNIC, Virtual Network Interface Controller): in virtual platform, by the software simulation network interface controller being supplied to virtual machine use out.
Full-virtualization (Full virtualization): a kind of Intel Virtualization Technology can simulating complete hardware environment.
Summary of the invention
The invention provides a kind of dynamic dispatching method of virtual functions, the problem of extensibility deficiency, very flexible during the virtual functions that the network interface card solving the virtual standard of single input and output provides uses, to improve the utilization factor of described network interface card.
The dynamic dispatching method of a kind of virtual functions provided by the present invention, comprises the steps:
(1) initialization step, order comprises following sub-step:
(1.1) user creates configuration file, and in configuration file, input will ensure each virtual machine title and the bandwidth value of bandwidth, and wherein bandwidth value is the virtual machine bandwidth value that requirement ensures;
(1.2) user enables the single input and output virtualization of physical network card, creates the virtual functions of physical network card;
(2) create queue step, order comprises following sub-step:
(2.1) the first queue, the second queue and the 3rd queue is created respectively for preserving virtual machine information, individual queue is made up of node, each node comprises virtual machine title, I/O priority value, bandwidth value, virtual functions number, and wherein I/O priority value is the I/O priority of the virtual machine of corresponding virtual machine title; Bandwidth value is the bandwidth that the virtual machine of corresponding virtual machine title will ensure in each node of the first queue, and in the second queue and the 3rd queue, each node bandwidth value is 0; The virtual functions number of virtual functions number in each node of the first queue required for the virtual machine of corresponding virtual machine title is 1 in each node of the second queue, is 0 in each node of the 3rd queue; The virtual machine with Bandwidth guaranteed is preserved in first queue according to virtual machine addition sequence, second queue is preserved according to the I/O priority value order from big to small of virtual machine does not have Bandwidth guaranteed but the virtual machine having used virtual functions, and the 3rd queue is preserved according to the I/O priority value order from big to small of virtual machine does not have Bandwidth guaranteed and the virtual machine not using virtual functions;
(2.2) virtual functions queue is created for preserving virtual functions information, this queue is made up of node, each node comprises numbering, service condition, virtual machine title, wherein be numbered virtual functions numbering, service condition is this numbering virtual functions service condition, and virtual machine name is called the virtual machine title using this numbering virtual functions;
Each virtual functions order be worth by number from small to large be saved in each node of virtual functions queue, the service condition in each node be arranged to not use, virtual machine name is called sky simultaneously;
(2.3) variable E is untapped virtual functions number, and variable B is the virtual functions sum that in the first queue, all virtual machines have used; Variable E is set to virtual functions sum, variable B is set to 0;
(3) virtual machine classifying step, order comprises following sub-step:
(3.1) judge whether there is virtual machine in monitor of virtual machine, be, carry out sub-step (3.2), otherwise go to step (9);
(3.2) virtual machines all in monitor of virtual machine is joined in each node of the 3rd queue successively by its order in monitor of virtual machine, and initialization node, the I/O priority value of each node, bandwidth value, virtual functions number are set to 0;
(3.3) all virtual machine titles in configuration file are obtained, use each virtual machine name lookup the 3rd queue, the node identical with this virtual machine title is removed from the 3rd queue, add the first queue successively, revise respective nodes bandwidth value and virtual functions number C simultaneously, bandwidth value is revised as the bandwidth value of this virtual machine in configuration file, virtual functions number C is calculated according to the following formula and revises:
Virtual functions number C=bandwidth value × virtual functions sum/physical network card bandwidth;
(3.4) start timer, its time span is set to 6 ~ 12 hours;
(4) distribute virtual functions step, order comprises following sub-step:
(4.1) judge that whether the first queue is empty, be then rotor step (4.6), otherwise obtain first node in the first queue, carry out sub-step (4.2);
(4.2) judge whether (B+C) > A, be then rotor step (4.5), otherwise carry out sub-step (4.3);
Wherein, variables A=virtual functions sum/4;
(4.3) virtual functions of C service condition corresponding to untapped node in virtual functions queue is distributed to virtual machine corresponding to first team's broomrape front nodal point by order, by the virtual machine title that the virtual machine name modifications of this C node corresponding in virtual functions queue is first team's broomrape front nodal point, the service condition of corresponding this C node is set to use, put E=E-C, put B=B+C;
(4.4) determining whether last node of the first queue, is then rotor step (4.6), otherwise obtains the first queue next node, rotor step (4.2);
(4.5) by present node in the first queue with and subsequent virtual machine corresponding to node close, and these virtual machines to be removed from the first queue and configuration file;
(4.6) calculate the I/O priority value of each node in the second queue, in the 3rd queue and sort:
The I/O interruption times of the virtual machine that each node is corresponding in the second queue, in the 3rd queue, the length of one's sleep is obtained from monitor of virtual machine; Calculate the I/O priority value of all nodes in the second queue, in the 3rd queue according to the following formula:
I/O priority value=I/O interruption times × P+ the length of one's sleep × (1-P), P is 40% ~ 60%;
Result is saved in the I/O priority value of the second queue, the 3rd queue respective nodes, according to I/O priority value order from big to small to the second queue, the 3rd queue order;
(4.7) judge whether that the 3rd queue is for empty, is go to step (9), otherwise obtains the 3rd queue first node, carry out sub-step (4.8);
(4.8) judge whether E > A, be, carry out sub-step (4.9), otherwise go to step (9);
(4.9) this node is removed from the 3rd queue, and added the second queue according to order from big to small according to its I/O priority value, the virtual functions of first service condition corresponding to untapped node in virtual functions queue is distributed in the second queue and adds virtual machine corresponding to ingress, be the virtual machine title adding ingress in the second queue by the virtual machine name modifications of respective nodes in virtual functions queue, the service condition of respective nodes in virtual functions queue is set to use, put E=E-1, rotor step (4.7);
(5) judge wake-up step: judged whether wake-up signal, be, carry out sub-step (5.1); Otherwise go to step (9), described wake-up signal is that virtual machine increases one of signal, virtual machine minimizing signal, timing settling signal; Wake-up signal containing type and virtual machine title, virtual machine increases the title that signal type is increase virtual machine, virtual machine name is called newly-increased virtual machine; Virtual machine reduces the title that signal type is minimizing virtual machine, virtual machine name is called the virtual machine of minimizing; Timing settling signal type is for regularly completing, and virtual machine name is called sky;
(5.1) calculate the I/O priority value of each node in the second queue, in the 3rd queue and sort, its mode is identical with sub-step (4.6);
(5.2) judge whether wake-up signal is that virtual machine increases signal, is go to step (6), otherwise carries out sub-step (5.3);
(5.3) judge whether wake-up signal is that virtual machine reduces signal, is go to step (7), otherwise goes to step (8);
(6) virtual machine increases step, comprises following sub-step:
(6.1) in monitor of virtual machine, inquire about whether there is this virtual machine according to virtual machine title, be, carry out sub-step (6.2), otherwise go to step (9);
(6.2) read configuration file, judge whether described virtual machine title exists in configuration file, is, carry out sub-step (6.3), otherwise rotor step (6.9);
(6.3) virtual machine of described virtual machine title is joined first team and line up end-node, revise respective nodes bandwidth value and virtual functions number C simultaneously, bandwidth value is revised as the bandwidth value of this virtual machine in configuration file, virtual functions number C is calculated according to the following formula and revises:
Virtual functions number C=bandwidth value × virtual functions sum/physical network card bandwidth;
(6.4) judge whether (B+C) > A, be, carry out sub-step (6.5), otherwise rotor step (6.6);
(6.5) close the virtual machine newly adding the first queue, it is deleted from the first queue and configuration file, goes to step (8);
(6.6) judge whether C > (E-A), be, carry out sub-step (6.7), otherwise rotor step (6.8);
(6.7) virtual functions of (C-(the E-A)) virtual machine that individual node is corresponding at the second queue team end is peeled off, and these virtual functions are distributed to the virtual machine newly adding the first queue, be the virtual machine title of the first queue newly added node by the virtual machine name modifications of these virtual functions corresponding node in virtual functions queue; (C-(E-A)) the individual node at the second queue team end is removed from the second queue, and these nodes are added the 3rd queue according to order from big to small according to its I/O priority value;
The virtual functions of (E-A) individual service condition corresponding to untapped node in virtual functions queue is distributed to the virtual machine of the first queue newly added node by order, by the virtual machine title that the virtual machine name modifications of this (E-A) individual node corresponding in virtual functions queue is the first queue newly added node, the service condition of this (E-A) individual node corresponding is set to use, put E=A, B=B+C, goes to step (8);
(6.8) virtual functions of C service condition corresponding to untapped node in virtual functions queue is distributed to the virtual machine of first team's broomrape front nodal point by order, by the virtual machine title that the virtual machine name modifications of this C node corresponding in virtual functions queue is first team's broomrape front nodal point, the service condition of corresponding this C node is set to use, put E=E-C, put B=B+C, go to step (8);
(6.9) newly-increased virtual machine is added the 3rd queue head of the queue node, and the I/O priority value of this node is set to the I/O priority value of second node in the 3rd queue, the bandwidth value of this node, virtual functions number are set to 0, go to step (8);
(7) virtual machine reduces step, comprises following sub-step:
(7.1) whether there is respective nodes according to virtual machine title in the first queue inquiry, be then rotor step (7.3), otherwise carry out sub-step (7.2);
(7.2) whether there is respective nodes according to virtual machine title in the second queue inquiry, is removed by node corresponding for described virtual machine, rotor step (7.5), otherwise rotor step (7.4);
(7.3) removed from the first queue by node, put B=B-N, rotor step (7.5), N is the virtual functions number of virtual machine corresponding to described virtual machine title;
(7.4) whether there is respective nodes according to virtual machine title in the 3rd queue inquiry, be that node corresponding for described virtual machine is removed, go to step (8), otherwise go to step (9);
(7.5) travel through virtual functions queue, the service condition of node corresponding for described virtual machine title is revised as and does not use, put E=E+N;
(7.6) judge whether the 3rd queue is empty, is go to step (8), otherwise obtains the 3rd queue first node, carry out sub-step (7.7);
(7.7) this node is removed from the 3rd queue, and added the second queue according to order from big to small according to its I/O priority value, the virtual functions of first service condition corresponding to untapped node in virtual functions queue is distributed to virtual machine corresponding to the node inserted in the second queue, be in the second queue, insert the virtual machine title of node by the virtual machine name modifications of respective nodes in virtual functions queue, the service condition of respective nodes in virtual functions queue is set to use, put E=E-1, N=N-1;
(7.8) judge whether N is 0, is, goes to step (8), otherwise rotor step (7.6);
(8) dynamic adjustment step, order comprises following sub-step:
(8.1) judge whether the I/O priority value of the second team of queue team end-node is greater than the I/O priority value of the 3rd queue head of the queue node, is, carries out sub-step (8.2), otherwise rotor step (8.3);
(8.2) node of head of the queue in the 3rd queue is removed from the 3rd queue, then added the second queue according to order from big to small according to its I/O priority value; Again the node at the second queue row end is removed from the second queue, added the 3rd queue according to order from big to small according to its I/O priority value and peeled off its virtual functions, the virtual functions of stripping is distributed to the virtual machine that the node that newly adds the second queue is corresponding, the virtual machine title of this virtual functions node in the queue of amendment virtual functions, rotor step (8.1);
(8.3) by the I/O interruption times of virtual machines all in monitor of virtual machine be set to 0 the length of one's sleep, timer duration is set to 6 ~ 12 hours, goes to step (9);
(9) sleep step: after dormancy 0.5 ~ 2 minute, go to step (5).
Existing virtual functions dispatching method is static allocation, and wherein virtual functions is distributed by user, after virtual functions is assigned to certain virtual machine, is used until user peels off virtual functions or closes virtual machine by this virtual machine always.Compared to use virtual functions, when the virtual machine that I/O priority value is large does not use virtual functions, I/O performance can be poor.For the virtual machine that I/O priority value is little, use virtual functions can not bring larger performance boost, and the utilization of virtual functions is also insufficient.Ideal situation is, virtual functions is always used by the virtual machine that I/O priority value is large.
The present invention arranges 3 queues, carries out Bandwidth guaranteed to the first queue, for the virtual machine of the second queue and the 3rd queue, according to I/O interruption times and the length of one's sleep of virtual machine in a period of time, and dynamic dispatching virtual functions.The use of virtual functions is divided into three kinds of situations: the first situation virtual functions is assigned to the virtual machine that will ensure bandwidth, the second situation virtual functions is assigned to does not have the virtual machine of Bandwidth guaranteed to use, and the third situation virtual functions does not carry out point being equipped with and ensures that residue virtual machine uses.By ensureing that not carrying out distributing the number of virtual functions is not less than a lower limit, other virtual functions of dynamic assignment, thus the performance of the first queue virtual machine is satisfied the demands, make the second queued virtual facility have better performance.The present invention is within a period of time, by statistics virtual machine I/O interruption times and dynamic dispatching length of one's sleep virtual functions, ensure that virtual functions is used by the virtual machine that I/O priority value is large, improve the network performance of the large virtual machine of I/O priority value, also take full advantage of hardware.
Accompanying drawing explanation
Fig. 1 is schematic flow sheet of the present invention;
Fig. 2 is for distributing virtual functions step schematic diagram;
Fig. 3 is that virtual machine increases step schematic diagram;
Fig. 4 is that virtual machine reduces step schematic diagram.
Embodiment
Below in conjunction with drawings and Examples, the present invention is further described.
The applied environment of following examples is: 12 virtual machine h1 ~ h12 are present in monitor of virtual machine according to label order from small to large; Intel 82599 network interface card bandwidth is 10000Mb.
Embodiment 1, virtual machine increases, and comprises the steps:
(1) initialization step, order comprises following sub-step:
(1.1) user creates configuration file a, and in configuration file a, input will ensure virtual machine title h1 and the bandwidth value 600Mb of bandwidth, ensure virtual machine title h2 and the bandwidth value 1200Mb of bandwidth;
(1.2) user enables the single input and output virtualization of Intel 82599 network interface card, and this network interface card creates 16 virtual functions;
(2) create queue step, order comprises following sub-step:
(2.1) create the first queue Q1, the second queue Q2 and the 3rd queue Q3 respectively for preserving virtual machine information, individual queue is made up of node, and each node comprises virtual machine title, I/O priority value, bandwidth value, virtual functions number;
(2.2) create virtual functions queue V, this queue is made up of node, and each node comprises numbering, service condition, virtual machine title;
Be saved in each node of virtual functions queue V according to number value order from small to large by 16 virtual functions, the service condition in each node be arranged to not use simultaneously, virtual machine name is called sky;
(2.3) variable E is set to 16, variable B is set to 0;
(3) virtual machine classifying step, order comprises following sub-step:
(3.1) judge whether there is virtual machine in monitor of virtual machine, be, carry out sub-step (3.2), otherwise go to step (9), the present embodiment carries out sub-step (3.2);
(3.2) virtual machine h1 ~ h12 all in monitor of virtual machine is joined in each node of the 3rd queue Q3 by its order in monitor of virtual machine successively, the I/O priority value of 12 nodes in the 3rd queue Q3, bandwidth value, virtual functions number are all set to 0;
(3.3) all virtual machine title h1 and h2 in configuration file a are obtained, use virtual machine title h1, h2 search the 3rd queue Q3, wherein identical with virtual machine title h1, h2 node is removed from the 3rd queue Q3, add the first queue Q1 successively, the bandwidth value of h1 corresponding node is revised as 600Mb, virtual functions number is 1 simultaneously; The bandwidth value of h2 corresponding node is revised as 1200Mb, and virtual functions number is 2;
Above-mentioned virtual functions number calculates according to the following formula:
Virtual functions number=bandwidth value × virtual functions sum (16)/physical network card bandwidth (10000Mb);
(3.4) start timer, its time span is set to 8 hours;
(4) distribute virtual functions step, order comprises following sub-step:
(4.1) judge whether the first queue Q1 is empty, it is then rotor step (4.6), otherwise first node obtained in the first queue Q1, carry out sub-step (4.2), the present embodiment obtains the node that in the first queue Q1, h1 is corresponding, carries out sub-step (4.2);
(4.2) judge whether (B+C) > A, be then rotor step (4.5), otherwise carry out sub-step (4.3), in the present embodiment, B=0, variable C are 1 for h1, are 2 for h2; Variables A=4, therefore carry out sub-step (4.3);
(4.3) virtual functions of C service condition corresponding to untapped node in virtual functions queue V is distributed to the virtual machine of the first queue Q1 present node by order, by the virtual machine title that the virtual machine name modifications of this C node corresponding in virtual functions queue V is the first queue Q1 present node, the service condition of corresponding this C node is set to use, put E=E-C, put B=B+C;
(after process h1, E is 15, B is 1, and in virtual functions queue V, the virtual machine name of first node is called h1, and service condition is set to use;
After process h2, E is 13, B is 3, and in virtual functions queue V, the virtual machine name modifications of second node and the 3rd node is h2, and service condition is set to use; )
(4.4) determining whether first last node of queue Q1, is then rotor step (4.6), otherwise obtains the first queue Q1 next node, rotor step (4.2);
(4.5) by present node in the first queue Q1 with and subsequent virtual machine corresponding to node close, and these virtual machines to be removed from the first queue Q1 and configuration file a, rotor step (4.6);
(4.6) calculate the I/O priority value of each node in the second queue Q2, in the 3rd queue Q3 and sort:
The I/O interruption times of the virtual machine that each node is corresponding in the second queue Q2, in the 3rd queue Q3, the length of one's sleep is obtained from monitor of virtual machine; Calculate the I/O priority value of all nodes in the second queue Q2, in the 3rd queue Q3 according to the following formula:
I/O priority value=I/O interruption times × P+ the length of one's sleep × (1-P), P is 50%;
Result is saved in the I/O priority value of the second queue Q2, the 3rd queue Q3 respective nodes, according to I/O priority value order from big to small, the second queue Q2, the 3rd queue Q3 is sorted; In 3rd queue Q3, from head of the queue, the virtual machine title of each node, I/O priority value are followed successively by: h591, h683, h974, h870, h465, h358, h1050, h747, h1130, h1210;
(4.7) judge whether that the 3rd queue Q3 is for empty, is go to step (9), otherwise obtains the 3rd queue Q3 first node, carry out sub-step (4.8);
(4.8) judge whether E > A, be, carry out sub-step (4.9), otherwise go to step (9);
(4.9) this node is removed from the 3rd queue Q3, and be inserted into the second queue Q2 according to order from big to small according to its I/O priority value, the virtual functions of first service condition corresponding to untapped node in virtual functions queue V is distributed in the second queue Q2 and inserts the corresponding virtual machine of node, be in the second queue Q2, insert the virtual machine title of node by the virtual machine name modifications of respective nodes in virtual functions queue V, the service condition of respective nodes in virtual functions queue V is set to use, put E=E-1, rotor step (4.7);
From the second queue Q2 head of the queue, the virtual machine title of each node is followed successively by h5, h6, h9, h8, h4, h3, h10, h7, h11; From the 3rd queue Q3 head of the queue, the virtual machine title of each node is followed successively by h12; E is 4; From the 4th node, be called h5, h6, h9, h8, h4, h3, h10, h7, h11 to the virtual machine name that the 12 node is corresponding in virtual functions queue V, service condition is all set to use.
(5) judge wake-up step: judged whether wake-up signal, be, carry out sub-step (5.1); Otherwise go to step (9); The present embodiment has wake-up signal, for virtual machine increases the title h13 that signal type is increase virtual machine, virtual machine name is called newly-increased virtual machine; (user creates virtual machine h13, and in configuration file a, input will ensure virtual machine title h13 and the bandwidth value 500Mb of bandwidth; )
(5.1) calculate the I/O priority value of each node in the second queue Q2, the 3rd queue Q3 and sort, its mode is identical with sub-step (4.6); From the second queue Q2 head of the queue, the virtual machine title of each node, I/O priority value are followed successively by h9200, h11186, h4150, h8105, h583, h379, h1069, h755, h632; From the 3rd queue Q3 head of the queue, the virtual machine title of each node, I/O priority value are followed successively by h1259;
(5.2) judge whether wake-up signal is that virtual machine increases signal, and be go to step (6), otherwise carry out sub-step (5.3), the present embodiment goes to step (6);
(5.3) judge whether wake-up signal is that virtual machine reduces signal, is go to step (7), otherwise goes to step (8);
(6) virtual machine increases step, comprises following sub-step:
(6.1) in monitor of virtual machine, inquire about whether there is this virtual machine according to h13, be, carry out sub-step (6.2), otherwise go to step (9); The present embodiment rotor step (6.2);
(6.2) read configuration file a, judge whether h13 exists in configuration file a, is, carry out sub-step (6.3), otherwise rotor step (6.9); The present embodiment rotor step (6.3);
(6.3) virtual machine h13 is joined the first queue Q1 team end-node, revise respective nodes bandwidth value is 500Mb simultaneously, and amendment virtual functions number is 1; Carry out sub-step (6.4);
(6.4) judge whether (B+C) > A, be, carry out sub-step (6.5), otherwise rotor step (6.6); The present embodiment B=3, C=1, A=4, rotor step (6.6);
(6.5) close the virtual machine newly adding the first queue Q1, it is deleted from the first queue Q1 and configuration file a, goes to step (8);
(6.6) judge whether C > (E-A), be, carry out sub-step (6.7), otherwise rotor step (6.8), the present embodiment C=1, E=4, A=4, carry out sub-step (6.7);
(6.7) virtual functions of (C-(the E-A)) virtual machine that individual node is corresponding at the second queue Q2 team end is peeled off, and these virtual functions are distributed to h13, be h13 by the virtual machine name modifications of these virtual functions corresponding node in virtual functions queue V; Remove individual to (C-(E-A)) at the second queue Q2 team end from the second queue Q2, and virtual machine corresponding for these nodes is added the 3rd queue Q3 respective nodes according to descending order according to its I/O priority value;
The virtual functions of (E-A) individual service condition corresponding to untapped node in virtual functions queue V is distributed to h13 by order, be h13 by the virtual machine name modifications of this (E-A) individual node corresponding in virtual functions queue V, the service condition of this (E-A) individual node corresponding is set to use, put E=A, B=B+C, goes to step (8);
Wherein (C-(E-A))=1, (E-A)=0; H9, h11, h4, h8, h5, h3, h10, h7 is followed successively by from the virtual machine title of the second queue Q2 head of the queue start node; H12, h6 is followed successively by from the virtual machine title of the 3rd queue Q3 head of the queue start node; In virtual functions queue V, the virtual machine name modifications of the node that h6 is corresponding is h13;
(6.8) virtual functions of C service condition corresponding to untapped node in virtual functions queue V is distributed to the virtual machine of the first queue Q1 present node by order, by the virtual machine title that the virtual machine name modifications of this C node corresponding in virtual functions queue V is the first queue Q1 present node, the service condition of corresponding this C node is set to use, put E=E-C, put B=B+C, go to step (8);
(6.9) newly-increased virtual machine is added the 3rd queue Q3 head of the queue node, and the I/O priority value of this node is set to the I/O priority value of second node in the 3rd queue Q3, the bandwidth value of this node, virtual functions number are set to 0, go to step (8);
(8) dynamic adjustment step, order comprises following sub-step:
(8.1) judge whether the I/O priority value of the second queue Q2 team end-node is greater than the I/O priority value of the 3rd queue Q3 head of the queue node, is carry out sub-step (8.2), otherwise rotor step (8.3); The present embodiment carries out sub-step (8.2);
(8.2) node of the 3rd queue Q3 head of the queue is removed from the 3rd queue Q3, then added the second queue Q2 according to order from big to small according to its I/O priority value; The node again the second queue Q2 being arranged end removes from the second queue Q2, added the 3rd queue Q3 according to order from big to small according to its I/O priority value and peeled off its virtual functions, the virtual functions of stripping is distributed to the virtual machine that the node that newly adds the second queue Q2 is corresponding, the virtual machine title of this virtual functions node in amendment virtual functions queue V, rotor step (8.1);
H9, h11, h4, h8, h5, h3, h10, h12 is followed successively by from the virtual machine title of the second queue Q2 head of the queue start node; H7, h6 is followed successively by from the virtual machine title of the 3rd queue Q3 head of the queue start node; In virtual functions queue V, the virtual machine name modifications of the node that h7 is corresponding is h12;
(8.3) by the I/O interruption times of virtual machines all in monitor of virtual machine be set to 0 the length of one's sleep, timer duration is set to 8 hours, goes to step (9);
(9) sleep step: after dormancy 1 minute, go to step (5).
Embodiment 2, virtual machine reduces, and comprises the steps:
Step (1), (2), (3), (4) are identical with embodiment 1.
(5) judge wake-up step: judged whether wake-up signal, be, carry out sub-step (5.1); Otherwise go to step (9); The present embodiment has wake-up signal, and for virtual machine reduces signal, type is minimizing virtual machine, virtual machine name is called h2; (now user closes virtual machine h2);
(5.1) calculate the I/O priority value of each node in the second queue Q2, in the 3rd queue Q3 and sort, its mode is identical with sub-step (4.6); From the second queue Q2 head of the queue, the virtual machine title of each node, I/O priority value are followed successively by h8300, h9256, h4224, h6198, h11175, h5148, h7103, h1293, h384; From the 3rd queue Q3 head of the queue, the virtual machine title of each node, I/O priority value are followed successively by h1071;
(5.2) judge whether wake-up signal is that virtual machine increases signal, is go to step (6), otherwise carries out sub-step (5.3); The present embodiment rotor step (5.3);
(5.3) judge whether wake-up signal is that virtual machine reduces signal, is go to step (7), otherwise goes to step (8); The present embodiment goes to step (7);
(7) virtual machine reduces step, comprises following sub-step:
(7.1) whether there is respective nodes according to h2 in the first queue Q1 inquiry, be then rotor step (7.3), otherwise carry out sub-step (7.2); The present embodiment rotor step (7.3);
(7.2) whether there is respective nodes according to virtual machine title in the second queue Q2 inquiry, is removed by node corresponding for described virtual machine, rotor step (7.5), otherwise carries out sub-step (7.4);
(7.3) node corresponding for h2 is removed from the first queue Q1, put B=B-N, (B=1, N=2) rotor step (7.5);
(7.4) whether there is respective nodes according to virtual machine title in the 3rd queue Q3 inquiry, be that node corresponding for described virtual machine is removed, go to step (8), otherwise go to step (9);
(7.5) travel through virtual functions queue V, the service condition of node corresponding for h2 is revised as and does not use, put E=6;
(7.6) judge whether the 3rd queue Q3 is empty, is go to step (8), otherwise obtains the 3rd queue Q3 first node, carry out sub-step (7.7);
(7.7) this node is removed from the 3rd queue Q3, and added the second queue Q2 according to order from big to small according to its I/O priority value, the virtual functions of first service condition corresponding to untapped node in virtual functions queue V is distributed to virtual machine corresponding to the node inserted in the second queue Q2, be in the second queue Q2, insert the virtual machine title of node by the virtual machine name modifications of respective nodes in virtual functions queue V, the service condition of respective nodes in virtual functions queue V is set to use, put E=E-1, N=N-1;
(7.8) judge whether N is 0, is, goes to step (8), otherwise rotor step (7.6);
From the first queue Q1 head of the queue, the virtual machine title of each node is followed successively by h1, and from the second queue Q2 head of the queue, the virtual machine title of each node is followed successively by h8, h9, h4, h6, h11, h5, h7, h12, h3, h10; E=5, B=1, N=0; In virtual functions queue V, the virtual machine name modifications of first node that h2 is corresponding is that the service condition of second node that h10, h2 are corresponding is revised as and does not use, and goes to step (8);
(8) dynamic adjustment step, order comprises following sub-step:
(8.1) judging whether the I/O priority value of the second team of queue Q2 team end-node is greater than the I/O priority value of the 3rd queue Q3 head of the queue node, is then rotor step (8.2), otherwise rotor step (8.3); The present embodiment rotor step (8.3);
(8.2) node of head of the queue in the 3rd queue Q3 is removed from the 3rd queue Q3, then added the second queue Q2 according to order from big to small according to its I/O priority value; The node again the second queue Q2 being arranged end removes from the second queue Q2, added the 3rd queue Q3 according to order from big to small according to its I/O priority value and peeled off its virtual functions, the virtual functions of stripping is distributed to the virtual machine that the node that newly adds the second queue Q2 is corresponding, the virtual machine title of this virtual functions node in amendment virtual functions queue V, rotor step (8.1);
(8.3) by the I/O interruption times of virtual machines all in monitor of virtual machine be set to 0 the length of one's sleep, timer duration is set to 8 hours, goes to step (9);
(9) sleep step: after dormancy 1 minute, go to step (5).

Claims (1)

1. a dynamic dispatching method for virtual functions, comprises the steps:
(1) initialization step, order comprises following sub-step:
(1.1) user creates configuration file, and in configuration file, input will ensure each virtual machine title and the bandwidth value of bandwidth, and wherein bandwidth value is the virtual machine bandwidth value that requirement ensures;
(1.2) user enables the single input and output virtualization of physical network card, creates the virtual functions of physical network card;
(2) create queue step, order comprises following sub-step:
(2.1) the first queue, the second queue and the 3rd queue is created respectively for preserving virtual machine information, individual queue is made up of node, each node comprises virtual machine title, I/O priority value, bandwidth value, virtual functions number, and wherein I/O priority value is the I/O priority of the virtual machine of corresponding virtual machine title; Bandwidth value is the bandwidth that the virtual machine of corresponding virtual machine title will ensure in each node of the first queue, and in the second queue and the 3rd queue, each node bandwidth value is 0; The virtual functions number of virtual functions number in each node of the first queue required for the virtual machine of corresponding virtual machine title is 1 in each node of the second queue, is 0 in each node of the 3rd queue; The virtual machine with Bandwidth guaranteed is preserved in first queue according to virtual machine addition sequence, second queue is preserved according to the I/O priority value order from big to small of virtual machine does not have Bandwidth guaranteed but the virtual machine having used virtual functions, and the 3rd queue is preserved according to the I/O priority value order from big to small of virtual machine does not have Bandwidth guaranteed and the virtual machine not using virtual functions;
(2.2) virtual functions queue is created for preserving virtual functions information, this queue is made up of node, each node comprises numbering, service condition, virtual machine title, wherein be numbered virtual functions numbering, service condition is this numbering virtual functions service condition, and virtual machine name is called the virtual machine title using this numbering virtual functions;
Each virtual functions order be worth by number from small to large be saved in each node of virtual functions queue, the service condition in each node be arranged to not use, virtual machine name is called sky simultaneously;
(2.3) variable E is untapped virtual functions number, and variable B is the virtual functions sum that in the first queue, all virtual machines have used; Variable E is set to virtual functions sum, variable B is set to 0;
(3) virtual machine classifying step, order comprises following sub-step:
(3.1) judge whether there is virtual machine in monitor of virtual machine, be, carry out sub-step (3.2), otherwise go to step (9);
(3.2) virtual machines all in monitor of virtual machine is joined in each node of the 3rd queue successively by its order in monitor of virtual machine, and initialization node, the I/O priority value of each node, bandwidth value, virtual functions number are set to 0;
(3.3) all virtual machine titles in configuration file are obtained, use each virtual machine name lookup the 3rd queue, the node identical with this virtual machine title is removed from the 3rd queue, add the first queue successively, revise respective nodes bandwidth value and virtual functions number C simultaneously, bandwidth value is revised as the bandwidth value of this virtual machine in configuration file, virtual functions number C is calculated according to the following formula and revises:
Virtual functions number C=bandwidth value × virtual functions sum/physical network card bandwidth;
(3.4) start timer, its time span is set to 6 ~ 12 hours;
(4) distribute virtual functions step, order comprises following sub-step:
(4.1) judge that whether the first queue is empty, be then rotor step (4.6), otherwise obtain first node in the first queue, carry out sub-step (4.2);
(4.2) judge whether (B+C) > A, be then rotor step (4.5), otherwise carry out sub-step (4.3);
Wherein, variables A=virtual functions sum/4;
(4.3) virtual functions of C service condition corresponding to untapped node in virtual functions queue is distributed to virtual machine corresponding to first team's broomrape front nodal point by order, by the virtual machine title that the virtual machine name modifications of this C node corresponding in virtual functions queue is first team's broomrape front nodal point, the service condition of corresponding this C node is set to use, put E=E-C, put B=B+C;
(4.4) determining whether last node of the first queue, is then rotor step (4.6), otherwise obtains the first queue next node, rotor step (4.2);
(4.5) by present node in the first queue with and subsequent virtual machine corresponding to node close, and these virtual machines to be removed from the first queue and configuration file;
(4.6) calculate the I/O priority value of each node in the second queue, in the 3rd queue and sort:
The I/O interruption times of the virtual machine that each node is corresponding in the second queue, in the 3rd queue, the length of one's sleep is obtained from monitor of virtual machine; Calculate the I/O priority value of all nodes in the second queue, in the 3rd queue according to the following formula:
I/O priority value=I/O interruption times × P+ the length of one's sleep × (1-P), P is 40% ~ 60%;
Result is saved in the I/O priority value of the second queue, the 3rd queue respective nodes, according to I/O priority value order from big to small to the second queue, the 3rd queue order;
(4.7) judge whether that the 3rd queue is for empty, is go to step (9), otherwise obtains the 3rd queue first node, carry out sub-step (4.8);
(4.8) judge whether E > A, be, carry out sub-step (4.9), otherwise go to step (9);
(4.9) this node is removed from the 3rd queue, and added the second queue according to order from big to small according to its I/O priority value, the virtual functions of first service condition corresponding to untapped node in virtual functions queue is distributed in the second queue and adds virtual machine corresponding to ingress, be the virtual machine title adding ingress in the second queue by the virtual machine name modifications of respective nodes in virtual functions queue, the service condition of respective nodes in virtual functions queue is set to use, put E=E-1, rotor step (4.7);
(5) judge wake-up step: judged whether wake-up signal, be, carry out sub-step (5.1); Otherwise go to step (9), described wake-up signal is that virtual machine increases one of signal, virtual machine minimizing signal, timing settling signal; Wake-up signal containing type and virtual machine title, virtual machine increases the title that signal type is increase virtual machine, virtual machine name is called newly-increased virtual machine; Virtual machine reduces the title that signal type is minimizing virtual machine, virtual machine name is called the virtual machine of minimizing; Timing settling signal type is for regularly completing, and virtual machine name is called sky;
(5.1) calculate the I/O priority value of each node in the second queue, in the 3rd queue and sort, its mode is identical with sub-step (4.6);
(5.2) judge whether wake-up signal is that virtual machine increases signal, is go to step (6), otherwise carries out sub-step (5.3);
(5.3) judge whether wake-up signal is that virtual machine reduces signal, is go to step (7), otherwise goes to step (8);
(6) virtual machine increases step, comprises following sub-step:
(6.1) in monitor of virtual machine, inquire about whether there is this virtual machine according to virtual machine title, be, carry out sub-step (6.2), otherwise go to step (9);
(6.2) read configuration file, judge whether described virtual machine title exists in configuration file, is, carry out sub-step (6.3), otherwise rotor step (6.9);
(6.3) virtual machine of described virtual machine title is joined first team and line up end-node, revise respective nodes bandwidth value and virtual functions number C simultaneously, bandwidth value is revised as the bandwidth value of this virtual machine in configuration file, virtual functions number C is calculated according to the following formula and revises:
Virtual functions number C=bandwidth value × virtual functions sum/physical network card bandwidth;
(6.4) judge whether (B+C) > A, be, carry out sub-step (6.5), otherwise rotor step (6.6);
(6.5) close the virtual machine newly adding the first queue, it is deleted from the first queue and configuration file, goes to step (8);
(6.6) judge whether C > (E-A), be, carry out sub-step (6.7), otherwise rotor step (6.8);
(6.7) virtual functions of (C-(the E-A)) virtual machine that individual node is corresponding at the second queue team end is peeled off, and these virtual functions are distributed to the virtual machine newly adding the first queue, be the virtual machine title of the first queue newly added node by the virtual machine name modifications of these virtual functions corresponding node in virtual functions queue; (C-(E-A)) the individual node at the second queue team end is removed from the second queue, and these nodes are added the 3rd queue according to order from big to small according to its I/O priority value;
The virtual functions of (E-A) individual service condition corresponding to untapped node in virtual functions queue is distributed to the virtual machine of the first queue newly added node by order, by the virtual machine title that the virtual machine name modifications of this (E-A) individual node corresponding in virtual functions queue is the first queue newly added node, the service condition of this (E-A) individual node corresponding is set to use, put E=A, B=B+C, goes to step (8);
(6.8) virtual functions of C service condition corresponding to untapped node in virtual functions queue is distributed to the virtual machine of first team's broomrape front nodal point by order, by the virtual machine title that the virtual machine name modifications of this C node corresponding in virtual functions queue is first team's broomrape front nodal point, the service condition of corresponding this C node is set to use, put E=E-C, put B=B+C, go to step (8);
(6.9) newly-increased virtual machine is added the 3rd queue head of the queue node, and the I/O priority value of this node is set to the I/O priority value of second node in the 3rd queue, the bandwidth value of this node, virtual functions number are set to 0, go to step (8);
(7) virtual machine reduces step, comprises following sub-step:
(7.1) whether there is respective nodes according to virtual machine title in the first queue inquiry, be then rotor step (7.3), otherwise carry out sub-step (7.2);
(7.2) whether there is respective nodes according to virtual machine title in the second queue inquiry, is removed by node corresponding for described virtual machine, rotor step (7.5), otherwise rotor step (7.4);
(7.3) removed from the first queue by node, put B=B-N, rotor step (7.5), N is the virtual functions number of virtual machine corresponding to described virtual machine title;
(7.4) whether there is respective nodes according to virtual machine title in the 3rd queue inquiry, be that node corresponding for described virtual machine is removed, go to step (8), otherwise go to step (9);
(7.5) travel through virtual functions queue, the service condition of node corresponding for described virtual machine title is revised as and does not use, put E=E+N;
(7.6) judge whether the 3rd queue is empty, is go to step (8), otherwise obtains the 3rd queue first node, carry out sub-step (7.7);
(7.7) this node is removed from the 3rd queue, and added the second queue according to order from big to small according to its I/O priority value, the virtual functions of first service condition corresponding to untapped node in virtual functions queue is distributed to virtual machine corresponding to the node inserted in the second queue, be in the second queue, insert the virtual machine title of node by the virtual machine name modifications of respective nodes in virtual functions queue, the service condition of respective nodes in virtual functions queue is set to use, put E=E-1, N=N-1;
(7.8) judge whether N is 0, is, goes to step (8), otherwise rotor step (7.6);
(8) dynamic adjustment step, order comprises following sub-step:
(8.1) judge whether the I/O priority value of the second team of queue team end-node is greater than the I/O priority value of the 3rd queue head of the queue node, is, carries out sub-step (8.2), otherwise rotor step (8.3);
(8.2) node of head of the queue in the 3rd queue is removed from the 3rd queue, then added the second queue according to order from big to small according to its I/O priority value; Again the node at the second queue row end is removed from the second queue, added the 3rd queue according to order from big to small according to its I/O priority value and peeled off its virtual functions, the virtual functions of stripping is distributed to the virtual machine that the node that newly adds the second queue is corresponding, the virtual machine title of this virtual functions node in the queue of amendment virtual functions, rotor step (8.1);
(8.3) by the I/O interruption times of virtual machines all in monitor of virtual machine be set to 0 the length of one's sleep, timer duration is set to 6 ~ 12 hours, goes to step (9);
(9) sleep step: after dormancy 0.5 ~ 2 minute, go to step (5).
CN201210521557.0A 2012-12-06 2012-12-06 A kind of dynamic dispatching method of virtual functions Active CN103049331B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210521557.0A CN103049331B (en) 2012-12-06 2012-12-06 A kind of dynamic dispatching method of virtual functions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210521557.0A CN103049331B (en) 2012-12-06 2012-12-06 A kind of dynamic dispatching method of virtual functions

Publications (2)

Publication Number Publication Date
CN103049331A CN103049331A (en) 2013-04-17
CN103049331B true CN103049331B (en) 2015-09-23

Family

ID=48061981

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210521557.0A Active CN103049331B (en) 2012-12-06 2012-12-06 A kind of dynamic dispatching method of virtual functions

Country Status (1)

Country Link
CN (1) CN103049331B (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473136B (en) * 2013-09-02 2017-06-13 华为技术有限公司 The resource allocation method and communication equipment of a kind of virtual machine
CN104572412A (en) * 2013-10-29 2015-04-29 鸿富锦精密工业(深圳)有限公司 Method and system for making startup time statistics of virtual machines
CN103810020B (en) * 2014-02-14 2017-08-29 华为技术有限公司 Virtual machine elastic telescopic method and device
TWI502348B (en) * 2014-05-02 2015-10-01 Via Tech Inc System and method for managing expansion read-only memory and management host thereof
CN106302322B (en) * 2015-05-19 2020-05-26 腾讯科技(深圳)有限公司 Virtual machine data flow management method and system
CN106406974B (en) * 2015-07-30 2020-07-17 中兴通讯股份有限公司 High-performance timer implementation method for virtual machine and virtual machine
CN106789363A (en) * 2017-02-20 2017-05-31 郑州云海信息技术有限公司 A kind of method and device to virtual machine configuration network interface card
CN107220102A (en) * 2017-04-19 2017-09-29 深圳中兴网信科技有限公司 The dormancy of virtual machine and awakening method and system
CN107643938A (en) * 2017-08-24 2018-01-30 中国科学院计算机网络信息中心 Data transmission method, device and storage medium
CN115087935B (en) * 2020-02-14 2024-02-02 三菱电机株式会社 Drive control device and drive control system
CN111737176B (en) * 2020-05-11 2022-07-15 瑞芯微电子股份有限公司 PCIE data-based synchronization device and driving method
US11822964B2 (en) * 2020-06-03 2023-11-21 Baidu Usa Llc Data protection with static resource partition for data processing accelerators
CN115484212B (en) * 2022-07-26 2023-10-20 浪潮通信技术有限公司 QoS adjustment method and device for VF and electronic equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100146089A1 (en) * 2008-12-09 2010-06-10 International Business Machines Corporation Use of Peripheral Component Interconnect Input/Output Virtualization Devices to Create High-Speed, Low-Latency Interconnect
CN101800658A (en) * 2008-12-30 2010-08-11 英特尔公司 Apparatus and method for managing subscription requests for a network interface component
WO2011022375A1 (en) * 2009-08-18 2011-02-24 Aprius, Inc. Communicating between host computers and peripheral resources in an input/output (i/o) virtualization system
WO2012143953A2 (en) * 2011-04-21 2012-10-26 Ineda Systems Pvt. Ltd Optimized multi-root input output virtualization aware switch

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100146089A1 (en) * 2008-12-09 2010-06-10 International Business Machines Corporation Use of Peripheral Component Interconnect Input/Output Virtualization Devices to Create High-Speed, Low-Latency Interconnect
CN101800658A (en) * 2008-12-30 2010-08-11 英特尔公司 Apparatus and method for managing subscription requests for a network interface component
WO2011022375A1 (en) * 2009-08-18 2011-02-24 Aprius, Inc. Communicating between host computers and peripheral resources in an input/output (i/o) virtualization system
WO2012143953A2 (en) * 2011-04-21 2012-10-26 Ineda Systems Pvt. Ltd Optimized multi-root input output virtualization aware switch

Also Published As

Publication number Publication date
CN103049331A (en) 2013-04-17

Similar Documents

Publication Publication Date Title
CN103049331B (en) A kind of dynamic dispatching method of virtual functions
CN107025205B (en) Method and equipment for training model in distributed system
CN103049332B (en) Virtual CPU scheduling method
CN108829515A (en) A kind of cloud platform computing system and its application method
CN104243617B (en) Towards the method for scheduling task and system of mixed load in a kind of isomeric group
CN103401939A (en) Load balancing method adopting mixing scheduling strategy
CN104615480A (en) Virtual processor scheduling method based on NUMA high-performance network processor loads
CN104932933B (en) A kind of method and device obtaining spin lock
CN104995604A (en) Resource allocation method of virtual machine and device thereof
CN102195803A (en) Data communication method and system
CN105335211A (en) System and method for dispatching FPGA (Field Programmable Gate Array) accelerator based on Xen virtualized cluster
CN104539708A (en) Capacity reduction method, device and system for cloud platform resources
CN106681793A (en) KVM-based accelerator virtualization data processing system and method
CN104125166A (en) Queue scheduling method and computing system
CN104156663B (en) A kind of hardware virtual port and processor system
CN105553732B (en) A kind of distributed network analogy method and system
US11494633B2 (en) Techniques to manage training or trained models for deep learning applications
CN105022668A (en) Job scheduling method and system
US20190138337A1 (en) Saas based solution- orchestration platform for orchestrating virtual network solutions on public/private cloud infrastructure for learning/development/evaluation/demos/validation/deployment
CN104866460B (en) A kind of fault-tolerant adaptive reconfigurable System and method for based on SoC
CN109471725A (en) Resource allocation methods, device and server
CN103685492A (en) Dispatching method, dispatching device and application of Hadoop trunking system
CN105045667A (en) Resource pool management method for vCPU scheduling of virtual machines
CN110503199A (en) Method for splitting and device, the electronic equipment and storage medium of operation node
García et al. An efficient cloud scheduler design supporting preemptible instances

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant