CN109412865B - Virtual network resource allocation method, system and electronic equipment - Google Patents

Virtual network resource allocation method, system and electronic equipment Download PDF

Info

Publication number
CN109412865B
CN109412865B CN201811430362.9A CN201811430362A CN109412865B CN 109412865 B CN109412865 B CN 109412865B CN 201811430362 A CN201811430362 A CN 201811430362A CN 109412865 B CN109412865 B CN 109412865B
Authority
CN
China
Prior art keywords
virtual
task graph
network information
graph
path
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
CN201811430362.9A
Other languages
Chinese (zh)
Other versions
CN109412865A (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.)
Shenzhen Institute of Advanced Technology of CAS
Original Assignee
Shenzhen Institute of Advanced Technology of CAS
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 Shenzhen Institute of Advanced Technology of CAS filed Critical Shenzhen Institute of Advanced Technology of CAS
Priority to CN201811430362.9A priority Critical patent/CN109412865B/en
Publication of CN109412865A publication Critical patent/CN109412865A/en
Priority to PCT/CN2019/121297 priority patent/WO2020108536A1/en
Application granted granted Critical
Publication of CN109412865B publication Critical patent/CN109412865B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The application relates to a virtual network resource allocation method, a virtual network resource allocation system and electronic equipment. The method comprises the following steps: step a: generating a task graph according to network information of all virtual machines on a physical machine, and dividing the task graph by adopting a multi-level graph division algorithm to obtain k mutually disjoint division subsets; step b: calculating the key path with the longest completion time in each segmentation subset to obtain a virtual machine positioned at a key path node; step c: and distributing single-root input and output virtualized virtual equipment for the virtual machine at the key path node. The network is optimized by combining a semi-virtualization technology and a single-input-output virtualization technology, each virtual machine is assigned with a semi-virtualized virtual network card by default, and single-input-output virtualized virtual equipment is only assigned to the virtual machines located at the key path nodes after the multilevel graph is divided, so that the purposes of improving the utilization rate of the overall network bandwidth and reducing the overall execution time of parallel application are achieved.

Description

Virtual network resource allocation method, system and electronic equipment
Technical Field
The present application relates to computer virtualization technologies, and in particular, to a method, a system, and an electronic device for allocating virtual network resources.
Background
Parallel computing is now becoming more popular and widely accepted due to the ever decreasing cost of computer hardware and the ever increasing power of individual computers over the last few years. Meanwhile, in order to efficiently utilize the resources of the data center, a virtualization technology is often adopted to improve the resource utilization rate of the data center. The virtualization technology is a technology that can run multiple virtual machines on one physical machine, and the virtual machine is almost indistinguishable from the physical machine in the view of a user, application software, and even an operating system. Although this can greatly improve the resource utilization, it also brings about the problem of resource allocation among different virtual machines, and therefore, how to effectively allocate virtual resources and improve the resource utilization to the greatest extent has been widely concerned and studied.
In current parallel network and distributed network environments, parallel scheduling of network resources has become an extremely important technology to improve network performance. However, in the prior art, the data center application layer is disconnected from the bottom layer and the application is disconnected from the network, which inevitably causes a semantic gap in network resource scheduling, so that the operation of the whole system is lack of harmony, and the utilization rate of the network resources is not high.
Disclosure of Invention
The application provides a virtual network resource allocation method, a virtual network resource allocation system and electronic equipment, and aims to solve at least one of the technical problems in the prior art to a certain extent.
In order to solve the above problems, the present application provides the following technical solutions:
a virtual network resource allocation method comprises the following steps:
step a: generating a task graph according to network information of all virtual machines on a physical machine, and dividing the task graph by adopting a multi-level graph division algorithm to obtain k mutually disjoint division subsets;
step b: calculating the key path with the longest completion time in each segmentation subset to obtain a virtual machine positioned at a key path node;
step c: and distributing single-root input and output virtualized virtual equipment for the virtual machine at the key path node.
The technical scheme adopted by the embodiment of the application further comprises the following steps: the step a also comprises the following steps: collecting network information of all virtual machines on each physical machine; the collection mode of the network information is as follows: each virtual machine obtains network information for a pseudo file system provided by a user for accessing a kernel by reading a UNIX operating system, the network information obtained by the virtual machine is put into a storage system, and each physical machine storage system reads the network information of all the virtual machines and uploads the network information to a host.
The technical scheme adopted by the embodiment of the application further comprises the following steps: in the step a, the generating a task graph according to the network information of all the virtual machines on the physical machine and dividing the task graph by using a multi-level graph division algorithm specifically include: the host receives the network information uploaded by all the physical machines, generates a task graph with parameters according to the network information, and divides the task graph by adopting a multi-level recursive binary division method.
The technical scheme adopted by the embodiment of the application further comprises the following steps: the method for dividing the task graph by adopting the multi-stage recursive binary division method specifically comprises the following steps: the multi-stage recursive binary division method comprises three stages of coarsening, initial division and refinement, wherein the coarsening stage generates a series of aggregated graphs with smaller complexity after a task graph is input, the complexity of the task graph is reduced through the vertex of the maximum adjacent pair of the aggregated graphs, and the coarsening stage is ended when the complexity of the task graph is reduced to the number of preset vertices; and the initial division stage is used for initially dividing the task graph by using a heuristic algorithm, and the refinement stage is used for gradually recovering the initially divided task graph.
The technical scheme adopted by the embodiment of the application further comprises the following steps: in step b, the calculation formula of the critical path is:
Figure BDA0001882554330000031
PathCompTime(CP)≥PathCompTime(P)
in the above formula, path refers to a certain path in the task graph, PathSet refers to the whole path set in the task graph, pathcomp time refers to the time for all nodes in the path to complete execution, symbol P refers to an arbitrary path, and CP refers to a critical path.
Another technical scheme adopted by the embodiment of the application is as follows: a virtual network resource allocation system comprising a physical machine and a host machine, the host machine comprising:
a multi-level graph partitioning module: the system comprises a task graph generating module, a task graph generating module and a task graph dividing module, wherein the task graph generating module is used for generating a task graph according to network information of all virtual machines on a physical machine and dividing the task graph by adopting a multi-level graph dividing algorithm to obtain k mutually disjoint dividing subsets;
a critical path calculation module: the virtual machine is used for calculating the key path with the longest completion time in each segmentation subset to obtain a virtual machine positioned at a key path node;
a network resource allocation module: and the virtual device is used for distributing single-root input and output virtualization for the virtual machine at the key path node.
The technical scheme adopted by the embodiment of the application further comprises the following steps: the physical machine comprises a network resource monitoring module, and the network resource monitoring module is used for collecting network information of all virtual machines on the physical machine and uploading the collected network information to a network resource management module; the collection mode of the network information is as follows: each virtual machine obtains network information for a pseudo file system provided by a user for accessing a kernel by reading a UNIX operating system, the network information obtained by the virtual machine is put into a storage system, and each physical machine storage system reads the network information of all the virtual machines and uploads the network information to a network resource management module.
The technical scheme adopted by the embodiment of the application further comprises the following steps: the host machine also comprises a network resource management module, wherein the network resource management module is used for receiving the network information uploaded by all the physical machines and inputting the network information into the multi-level graph dividing module; the multi-level graph dividing module generates a task graph with parameters according to network information and divides the task graph by adopting a multi-level recursive binary division method.
The technical scheme adopted by the embodiment of the application further comprises the following steps: the method for dividing the task graph by adopting the multi-stage recursive binary division method specifically comprises the following steps: the multi-stage recursive binary division method comprises three stages of coarsening, initial division and refinement, wherein the coarsening stage generates a series of aggregated graphs with smaller complexity after a task graph is input, the complexity of the task graph is reduced through the vertex of the maximum adjacent pair of the aggregated graphs, and the coarsening stage is ended when the complexity of the task graph is reduced to the number of preset vertices; and the initial division stage is used for initially dividing the task graph by using a heuristic algorithm, and the refinement stage is used for gradually recovering the initially divided task graph.
The technical scheme adopted by the embodiment of the application further comprises the following steps: the calculation formula of the critical path is as follows:
Figure BDA0001882554330000041
PathCompTime(CP)≥PathCompTime(P)
in the above formula, path refers to a certain path in the task graph, PathSet refers to the whole path set in the task graph, pathcomp time refers to the time for all nodes in the path to complete execution, symbol P refers to an arbitrary path, and CP refers to a critical path.
The embodiment of the application adopts another technical scheme that: an electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the one processor to cause the at least one processor to perform the following operations of the virtual network resource allocation method described above:
step a: generating a task graph according to network information of all virtual machines on a physical machine, and dividing the task graph by adopting a multi-level graph division algorithm to obtain k mutually disjoint division subsets;
step b: calculating the key path with the longest completion time in each segmentation subset to obtain a virtual machine positioned at a key path node;
step c: and distributing single-root input and output virtualized virtual equipment for the virtual machine at the key path node.
Compared with the prior art, the embodiment of the application has the advantages that: the virtual network resource allocation method, the system and the electronic device adopt a mode of combining a semi-virtualization technology and a single-input-output virtualization technology to optimize a network, each virtual machine is allocated with a semi-virtualized virtual network card by default, and the single-input-output virtualized virtual device is only allocated to the virtual machine which is positioned at the key path node after the multi-level graph is divided, so that the purposes of improving the utilization rate of the overall network bandwidth and reducing the overall execution time of parallel application are achieved.
Drawings
Fig. 1 is a flowchart of a virtual network resource allocation method according to an embodiment of the present application;
fig. 2 is a schematic structural diagram of a virtual network resource allocation system according to an embodiment of the present application;
fig. 3 is a schematic structural diagram of a hardware device of a virtual network resource allocation method according to an embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application more apparent, the present application is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.
For the problems in the prior art, the Virtual network resource allocation method in the embodiment of the present application optimizes a network by combining a semi-Virtualization technology and a Single-Root I/O Virtualization technology (SR-IOV), each Virtual machine is assigned with a semi-virtualized Virtual network card by default, and a Single-Root I/O virtualized Virtual device (VF) is only assigned to a Virtual machine located at a critical path node after multi-level graph partitioning, so as to achieve the purposes of improving the overall network bandwidth utilization rate and reducing the overall execution time of parallel application.
Specifically, please refer to fig. 1, which is a flowchart illustrating a virtual network resource allocation method according to an embodiment of the present application. The virtual network resource allocation method of the embodiment of the application comprises the following steps:
step 100: collecting network information of all virtual machines on each physical machine, and uploading the collected network information to a host;
in step 100, the network information is collected in the following manner: each virtual machine obtains network information by reading a pseudo file system/proc/net/dev provided by a UNIX operating system for a user to access a kernel, the network information obtained by the virtual machine is put into a storage system (XenStore), each physical machine is respectively provided with a network resource monitoring module, and the network resource monitoring module reads the network information of each virtual machine through the XenStore and sends the network information to the network resource management module.
Step 200: receiving network information of all virtual machines on each physical machine through a host, generating a task graph with parameters, and dividing the task graph by adopting a multi-level graph division algorithm to obtain k mutually disjoint partition subsets;
in step 200, the host includes a network resource management module and a multi-level graph partitioning module, the network resource management module is responsible for receiving network information of all virtual machines on each physical machine, inputting the network information into the multi-level graph partitioning module, and generating a task graph with parameters, the multi-level graph partitioning module partitions the task graph by using a multi-level recursive binary partitioning method to obtain k mutually disjoint partition subsets, and tasks corresponding to different partition subsets are allocated to different physical machines for computation. According to the task graph partitioning method and device, the task graph is divided into multiple levels, so that the calculation amount among the physical machines is balanced, and the total communication amount among the physical machines is minimized.
Specifically, the multi-stage recursive binary division method comprises three stages of coarsening, initial division and refinement. The coarsening stage generates a series of aggregated graphs with smaller complexity after the task graph is input, aims to reduce the complexity of the task graph by aggregating the vertexes of the maximum adjacent pair of the graphs, and ends when the complexity of the task graph is reduced to a preset vertex number (usually, the vertex number is hundreds, and the specific vertex number can be set according to practical application). In the initial division stage, because the complexity of the task graph is small, the task graph is initially divided by using a classical simple heuristic algorithm such as a K-L algorithm. In the refinement stage, the initially divided task graph is gradually restored, and the converged vertexes are moved among different segmentation subsets, so that the division effect of the task graph is improved.
Step 300: calculating a key path with the longest completion time in each partition subset to obtain virtual machines positioned at key path nodes on each physical machine;
in step 300, since the communication overhead of the virtual machines between the same physical machine can be regarded as zero, the calculation of the critical path after the division of the task graph only calculates the communication overhead between different divided subsets. Specifically, the calculation formula of the critical path is as follows:
Figure BDA0001882554330000081
PathCompTime(CP)≥PathCompTime(P) (1)
in the formula (1), path refers to a certain path in the task graph, PathSet refers to the whole path set in the task graph, pathcomp time refers to the time for all nodes in the path to complete execution, symbol P refers to an arbitrary path, and CP refers to a critical path.
Step 400: distributing single-root input and output virtualized virtual equipment for the virtual machines at the key path nodes on each physical machine;
in step 400, the network resource allocation method according to the embodiment of the present application is that each virtual machine is assigned with a paravirtualized virtual network card by default, and a single input/output virtualized virtual device is only assigned to a virtual machine located at a critical path node after the multi-level graph is divided. The virtual machine uses the master network card to communicate when the master network card is effective, and uses the slave network card to communicate only when the master network card is ineffective, thereby reducing network overhead.
Step 500: judging whether all the segmentation subsets are executed or not, and executing the step 600 if all the segmentation subsets are executed; otherwise, returning to step 300 to continue calculating the critical path of the next segmentation subset until all the segmentation subsets are executed;
step 600: and the virtual network resource allocation is finished.
Please refer to fig. 2, which is a structural diagram of a virtual network resource allocation system according to an embodiment of the present application. The virtual network resource allocation system comprises a physical machine and a host machine, wherein the physical machine comprises a network resource monitoring module, and the host machine comprises a network resource management module, a multi-level graph dividing module, a key path calculation module, a network resource allocation module and a task execution judgment module.
A network resource monitoring module: the system comprises a network resource management module, a network resource management module and a virtual machine management module, wherein the network resource management module is used for collecting network information of all virtual machines on each physical machine and uploading the collected network information to the network resource management module; the network information collection method comprises the following steps: each virtual machine obtains network information by reading a pseudo file system/proc/net/dev provided by a UNIX operating system for a user to access a kernel, the network information obtained by the virtual machine is put into a XenStore, and the network resource monitoring module reads the network information of each virtual machine through the XenStore and sends the network information to the network resource management module.
A network resource management module: the system comprises a multi-level graph dividing module, a network information acquisition module, a network information processing module and a network information processing module, wherein the multi-level graph dividing module is used for receiving network information of all virtual machines on each physical machine and inputting the network information into the multi-level graph dividing module;
a multi-level graph partitioning module: the system comprises a task graph generating module, a task graph generating module and a task graph analyzing module, wherein the task graph generating module is used for generating a task graph with parameters according to input network information and dividing the task graph by adopting a multi-level graph dividing algorithm to obtain k mutually disjoint partition subsets; the multi-level graph partitioning module partitions the task graph by adopting a multi-level recursive binary partitioning method to obtain k mutually-disjoint partition subsets, and tasks corresponding to different partition subsets are allocated to different physical computers for calculation. According to the task graph partitioning method and device, the task graph is divided into multiple levels, so that the calculation amount among the physical machines is balanced, and the total communication amount among the physical machines is minimized.
Specifically, the multi-stage recursive binary division method comprises three stages of coarsening, initial division and refinement. The coarsening stage generates a series of aggregated graphs with smaller complexity after the task graph is input, and aims to reduce the complexity of the task graph by aggregating the vertexes of the maximum adjacent pair of the graphs, and the coarsening stage is ended when the complexity of the task graph is reduced to only hundreds of vertexes. In the initial division stage, because the complexity of the task graph is small, the task graph is initially divided by using a classical simple heuristic algorithm such as a K-L algorithm. In the refinement stage, the initially divided task graph is gradually restored, and the converged vertexes are moved among different segmentation subsets, so that the division effect of the task graph is improved.
A critical path calculation module: the virtual machine is used for calculating the key path with the longest completion time in each partition subset to obtain the virtual machine which is positioned at the key path node on each physical machine; since the communication overhead of the virtual machines among the same physical machine can be regarded as zero, the calculation of the critical path after the division of the task graph only calculates the communication overhead among different divided subsets. Specifically, the calculation formula of the critical path is as follows:
Figure BDA0001882554330000101
PathCompTime(CP)≥PathCompTime(P) (1)
in the formula (1), path refers to a certain path in the task graph, PathSet refers to the whole path set in the task graph, pathcomp time refers to the time for all nodes in the path to complete execution, symbol P refers to an arbitrary path, and CP refers to a critical path.
A network resource allocation module: the virtual equipment is used for distributing single-root input and output virtualization to the virtual machines at the key path nodes on the physical machines; the network resource allocation method of the embodiment of the application is that each virtual machine is allocated with a paravirtualized virtual network card by default, and a single input/output virtualized virtual device is only allocated to a virtual machine located at a key path node after multi-level graph division. The virtual machine uses the master network card to communicate when the master network card is effective, and uses the slave network card to communicate only when the master network card is ineffective, thereby reducing network overhead.
And a task execution judging module: the system is used for judging whether all the segmentation subsets are executed or not, and if all the segmentation subsets are executed, the virtual network resource allocation is finished; otherwise, the critical path calculation of the next segmentation subset is continuously calculated through the critical path calculation module until all the segmentation subsets are completely executed.
Fig. 3 is a schematic structural diagram of a hardware device of a virtual network resource allocation method according to an embodiment of the present application. As shown in fig. 3, the device includes one or more processors and memory. Taking a processor as an example, the apparatus may further include: an input system and an output system.
The processor, memory, input system, and output system may be connected by a bus or other means, as exemplified by the bus connection in fig. 3.
The memory, which is a non-transitory computer readable storage medium, may be used to store non-transitory software programs, non-transitory computer executable programs, and modules. The processor executes various functional applications and data processing of the electronic device, i.e., implements the processing method of the above-described method embodiment, by executing the non-transitory software program, instructions and modules stored in the memory.
The memory may include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required for at least one function; the storage data area may store data and the like. Further, the memory may include high speed random access memory, and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid state storage device. In some embodiments, the memory optionally includes memory located remotely from the processor, and these remote memories may be connected to the processing system over a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The input system may receive input numeric or character information and generate a signal input. The output system may include a display device such as a display screen.
The one or more modules are stored in the memory and, when executed by the one or more processors, perform the following for any of the above method embodiments:
step a: generating a task graph according to network information of all virtual machines on a physical machine, and dividing the task graph by adopting a multi-level graph division algorithm to obtain k mutually disjoint division subsets;
step b: calculating the key path with the longest completion time in each segmentation subset to obtain a virtual machine positioned at a key path node;
step c: and distributing single-root input and output virtualized virtual equipment for the virtual machine at the key path node.
The product can execute the method provided by the embodiment of the application, and has the corresponding functional modules and beneficial effects of the execution method. For technical details that are not described in detail in this embodiment, reference may be made to the methods provided in the embodiments of the present application.
Embodiments of the present application provide a non-transitory (non-volatile) computer storage medium having stored thereon computer-executable instructions that may perform the following operations:
step a: generating a task graph according to network information of all virtual machines on a physical machine, and dividing the task graph by adopting a multi-level graph division algorithm to obtain k mutually disjoint division subsets;
step b: calculating the key path with the longest completion time in each segmentation subset to obtain a virtual machine positioned at a key path node;
step c: and distributing single-root input and output virtualized virtual equipment for the virtual machine at the key path node.
Embodiments of the present application provide a computer program product comprising a computer program stored on a non-transitory computer readable storage medium, the computer program comprising program instructions that, when executed by a computer, cause the computer to perform the following:
step a: generating a task graph according to network information of all virtual machines on a physical machine, and dividing the task graph by adopting a multi-level graph division algorithm to obtain k mutually disjoint division subsets;
step b: calculating the key path with the longest completion time in each segmentation subset to obtain a virtual machine positioned at a key path node;
step c: and distributing single-root input and output virtualized virtual equipment for the virtual machine at the key path node.
The virtual network resource allocation method, the system and the electronic device adopt a mode of combining a semi-virtualization technology and a single-input-output virtualization technology to optimize a network, each virtual machine is allocated with a semi-virtualized virtual network card by default, and the single-input-output virtualized virtual device is only allocated to the virtual machine which is positioned at the key path node after the multi-level graph is divided, so that the purposes of improving the utilization rate of the overall network bandwidth and reducing the overall execution time of parallel application are achieved.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the application. Thus, the present application is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (7)

1. A virtual network resource allocation method is characterized by comprising the following steps:
step a: generating a task graph according to network information of all virtual machines on a physical machine, and dividing the task graph by adopting a multi-level graph division algorithm to obtain k mutually disjoint division subsets;
step b: calculating the key path with the longest completion time in each segmentation subset to obtain a virtual machine positioned at a key path node;
step c: distributing single-root input and output virtualized virtual equipment for the virtual machine located at the key path node;
in the step a, the generating a task graph according to the network information of all the virtual machines on the physical machine and dividing the task graph by using a multi-level graph division algorithm specifically include: the method comprises the steps that a host computer receives network information uploaded by all physical machines, a task graph with parameters is generated according to the network information, and the task graph is divided by adopting a multi-level recursive binary division method;
the method for dividing the task graph by adopting the multi-stage recursive binary division method specifically comprises the following steps: the multi-stage recursive binary division method comprises three stages of coarsening, initial division and refinement, wherein the coarsening stage generates a series of aggregated graphs with smaller complexity after a task graph is input, the complexity of the task graph is reduced through the vertex of the maximum adjacent pair of the aggregated graphs, and the coarsening stage is ended when the complexity of the task graph is reduced to the number of preset vertices; and the initial division stage is used for initially dividing the task graph by using a heuristic algorithm, and the refinement stage is used for gradually recovering the initially divided task graph.
2. The virtual network resource allocation method according to claim 1, wherein the step a further comprises: collecting network information of all virtual machines on each physical machine; the collection mode of the network information is as follows: each virtual machine obtains network information for a pseudo file system provided by a user for accessing a kernel by reading a UNIX operating system, the network information obtained by the virtual machine is put into a storage system, and each physical machine storage system reads the network information of all the virtual machines and uploads the network information to a host.
3. The virtual network resource allocation method according to any one of claims 1 to 2, wherein in the step b, the calculation formula of the critical path is:
Figure FDA0002522440430000021
PathCompTime(CP)≥PathCompTime(P)
in the above formula, path refers to a certain path in the task graph, PathSet refers to the whole path set in the task graph, pathcomp time refers to the time for all nodes in the path to complete execution, symbol P refers to an arbitrary path, and CP refers to a critical path.
4. A virtual network resource allocation system comprising a physical machine and a host machine, wherein the host machine comprises:
a multi-level graph partitioning module: the system comprises a task graph generating module, a task graph generating module and a task graph dividing module, wherein the task graph generating module is used for generating a task graph according to network information of all virtual machines on a physical machine and dividing the task graph by adopting a multi-level graph dividing algorithm to obtain k mutually disjoint dividing subsets;
a critical path calculation module: the virtual machine is used for calculating the key path with the longest completion time in each segmentation subset to obtain a virtual machine positioned at a key path node;
a network resource allocation module: the virtual device is used for distributing single-root input and output virtualization for the virtual machine located at the key path node;
the host machine also comprises a network resource management module, wherein the network resource management module is used for receiving the network information uploaded by all the physical machines and inputting the network information into the multi-level graph dividing module; the multi-level graph dividing module generates a task graph with parameters according to network information and divides the task graph by adopting a multi-level recursive binary division method;
the method for dividing the task graph by adopting the multi-stage recursive binary division method specifically comprises the following steps: the multi-stage recursive binary division method comprises three stages of coarsening, initial division and refinement, wherein the coarsening stage generates a series of aggregated graphs with smaller complexity after a task graph is input, the complexity of the task graph is reduced through the vertex of the maximum adjacent pair of the aggregated graphs, and the coarsening stage is ended when the complexity of the task graph is reduced to the number of preset vertices; and the initial division stage is used for initially dividing the task graph by using a heuristic algorithm, and the refinement stage is used for gradually recovering the initially divided task graph.
5. The virtual network resource allocation system of claim 4, wherein the physical machine comprises a network resource monitoring module, and the network resource monitoring module is configured to collect network information of all virtual machines on the physical machine and upload the collected network information to the network resource management module; the collection mode of the network information is as follows: each virtual machine obtains network information for a pseudo file system provided by a user for accessing a kernel by reading a UNIX operating system, the network information obtained by the virtual machine is put into a storage system, and each physical machine storage system reads the network information of all the virtual machines and uploads the network information to a network resource management module.
6. The virtual network resource allocation system according to any one of claims 4 to 5, wherein the calculation formula of the critical path is:
Figure FDA0002522440430000031
PathCompTime(CP)≥PathCompTime(P)
in the above formula, path refers to a certain path in the task graph, PathSet refers to the whole path set in the task graph, pathcomp time refers to the time for all nodes in the path to complete execution, symbol P refers to an arbitrary path, and CP refers to a critical path.
7. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the following operations of the virtual network resource allocation method of any one of claims 1 to 3:
step a: generating a task graph according to network information of all virtual machines on a physical machine, and dividing the task graph by adopting a multi-level graph division algorithm to obtain k mutually disjoint division subsets;
step b: calculating the key path with the longest completion time in each segmentation subset to obtain a virtual machine positioned at a key path node;
step c: and distributing single-root input and output virtualized virtual equipment for the virtual machine positioned at the key path node.
CN201811430362.9A 2018-11-28 2018-11-28 Virtual network resource allocation method, system and electronic equipment Active CN109412865B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811430362.9A CN109412865B (en) 2018-11-28 2018-11-28 Virtual network resource allocation method, system and electronic equipment
PCT/CN2019/121297 WO2020108536A1 (en) 2018-11-28 2019-11-27 Virtual network resource allocation method and system and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811430362.9A CN109412865B (en) 2018-11-28 2018-11-28 Virtual network resource allocation method, system and electronic equipment

Publications (2)

Publication Number Publication Date
CN109412865A CN109412865A (en) 2019-03-01
CN109412865B true CN109412865B (en) 2020-08-25

Family

ID=65455905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811430362.9A Active CN109412865B (en) 2018-11-28 2018-11-28 Virtual network resource allocation method, system and electronic equipment

Country Status (2)

Country Link
CN (1) CN109412865B (en)
WO (1) WO2020108536A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109412865B (en) * 2018-11-28 2020-08-25 深圳先进技术研究院 Virtual network resource allocation method, system and electronic equipment
CN111427912A (en) * 2020-03-31 2020-07-17 拉卡拉支付股份有限公司 Task processing method and device, electronic equipment and storage medium
CN112330229B (en) * 2020-12-02 2023-09-22 北京元心科技有限公司 Resource scheduling method, device, electronic equipment and computer readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104536806A (en) * 2014-12-26 2015-04-22 东南大学 Workflow application flexible resource supplying method in cloud environment
CN105357322A (en) * 2015-12-11 2016-02-24 中国科学院信息工程研究所 Virtual machine distribution method based on topology partition
CN108205461A (en) * 2016-12-19 2018-06-26 华耀(中国)科技有限公司 The virtual platform and dispositions method of a kind of mixed deployment
CN110113184A (en) * 2019-04-17 2019-08-09 中国科学院深圳先进技术研究院 KVM virtual machine network optimization method and device under SR-IOV environment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9923837B2 (en) * 2013-08-29 2018-03-20 Ericsson Ab Method and system to allocate bandwidth based on task deadline in cloud computing networks
US10261813B2 (en) * 2013-09-25 2019-04-16 Arm Limited Data processing system for dispatching tasks from a plurality of applications to a shared resource provided by an accelerator
CN109412865B (en) * 2018-11-28 2020-08-25 深圳先进技术研究院 Virtual network resource allocation method, system and electronic equipment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104536806A (en) * 2014-12-26 2015-04-22 东南大学 Workflow application flexible resource supplying method in cloud environment
CN105357322A (en) * 2015-12-11 2016-02-24 中国科学院信息工程研究所 Virtual machine distribution method based on topology partition
CN108205461A (en) * 2016-12-19 2018-06-26 华耀(中国)科技有限公司 The virtual platform and dispositions method of a kind of mixed deployment
CN110113184A (en) * 2019-04-17 2019-08-09 中国科学院深圳先进技术研究院 KVM virtual machine network optimization method and device under SR-IOV environment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《一种基于SDN的CCN集中控制缓存决策方法》;曲桦;《电信科学》;20171231;全文 *

Also Published As

Publication number Publication date
CN109412865A (en) 2019-03-01
WO2020108536A1 (en) 2020-06-04

Similar Documents

Publication Publication Date Title
US11521067B2 (en) Decentralized distributed deep learning
US9720740B2 (en) Resource management in MapReduce architecture and architectural system
US9367359B2 (en) Optimized resource management for map/reduce computing
US11501160B2 (en) Cloud computing data compression for allreduce in deep learning
CN109412865B (en) Virtual network resource allocation method, system and electronic equipment
US11455322B2 (en) Classification of time series data
US11055139B2 (en) Smart accelerator allocation and reclamation for deep learning jobs in a computing cluster
EP2671152A1 (en) Estimating a performance characteristic of a job using a performance model
US10983773B2 (en) Technologies for translation cache management in binary translation systems
US20200341812A1 (en) Aggregated virtualized compute accelerators
US20200226144A1 (en) Resource scaling for distributed database services
Nguyen et al. Deadlock detection for resource allocation in heterogeneous distributed platforms
US11221890B2 (en) Systems and methods for dynamic partitioning in distributed environments
US8028291B2 (en) Method and computer program product for job selection and resource allocation of a massively parallel processor
US9471387B2 (en) Scheduling in job execution
US10824481B2 (en) Partial synchronization between compute tasks based on threshold specification in a computing system
US11442792B2 (en) Systems and methods for dynamic partitioning in distributed environments
Wang et al. On optimal budget-driven scheduling algorithms for MapReduce jobs in the hetereogeneous cloud
CN114466012A (en) Content initialization method, device, electronic equipment and storage medium
CN114281516A (en) Resource allocation method and device based on NUMA attribute
US10630957B2 (en) Scalable distributed computation framework for data-intensive computer vision workloads
CN115061825B (en) Heterogeneous computing system and method for private computing, private data and federal learning
CN113485805B (en) Distributed computing adjustment method, device and equipment based on heterogeneous acceleration platform
KR102248978B1 (en) Resource Allocation Method and Apparatus for Reducing the Expected Latency in Distributed Machine Learning with Multiple Users
US11620132B2 (en) Reusing an operand received from a first-in-first-out (FIFO) buffer according to an operand specifier value specified in a predefined field of an instruction

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant