WO2015021869A1 - Procédé et dispositif de sélection d'un algorithme de flux maximum de réseau optimal - Google Patents

Procédé et dispositif de sélection d'un algorithme de flux maximum de réseau optimal Download PDF

Info

Publication number
WO2015021869A1
WO2015021869A1 PCT/CN2014/083511 CN2014083511W WO2015021869A1 WO 2015021869 A1 WO2015021869 A1 WO 2015021869A1 CN 2014083511 W CN2014083511 W CN 2014083511W WO 2015021869 A1 WO2015021869 A1 WO 2015021869A1
Authority
WO
WIPO (PCT)
Prior art keywords
algorithm
network
algorithms
flow
active node
Prior art date
Application number
PCT/CN2014/083511
Other languages
English (en)
Chinese (zh)
Inventor
王蕾
崔慧敏
吕方
冯晓兵
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2015021869A1 publication Critical patent/WO2015021869A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks

Definitions

  • the present invention relates to the field of network maximum flow, and in particular, to a method and device for selecting an optimal network maximum stream algorithm.
  • BACKGROUND OF THE INVENTION Acquiring the maximum flow problem of a network is a classic problem in graph theory and combinatorial optimization, and it has a wide application background.
  • the pre-flow propulsion method is a commonly used method for obtaining a maximum flow of a network
  • the method includes multiple algorithms, which can be summarized as: obtaining a residual network according to the acquired network flow graph, from the residual network Obtaining an active node, and in the residual network, the surplus stream corresponding to the active node is advanced to the sink point through the adjacent node, and after determining that the adjacent node is a new active node, continuing in the The residual network pushes the new active node to the sink point through the adjacent node until the active node does not exist in the residual network, and then determines that the traffic of the sink point is the maximum flow of the network.
  • Embodiments of the present invention provide a method and a device for selecting an optimal network maximum flow algorithm, which are capable of determining an optimal network maximum flow algorithm according to different network flow graphs.
  • a method for selecting an optimal network maximum flow algorithm including: Obtaining a network flow graph, and obtaining a first residual network according to the network flow graph;
  • Obtaining a set of operation algorithms where the set of operation algorithms includes at least two algorithms; performing pre-flow advancement in parallel by the at least two algorithms in the first residual network to obtain a second residual network, and Determining, in the second residual network, the number of key edges corresponding to the at least two algorithms;
  • the algorithm corresponding to determining the maximum value of the number of key edges is an optimal network maximum flow algorithm of the network flow graph.
  • the method further includes:
  • the acquisition operation algorithm set includes:
  • the algorithm template includes a data structure configured by the user to manage the active node, and an algorithm configured by the user corresponding to the active node, and the algorithm
  • the set of operational algorithms is obtained in accordance with the algorithm and data structure.
  • the method further includes:
  • Fine-grained locking of the data structure of the network flow graph is Fine-grained.
  • the pre-flow advancement is performed in parallel by the at least two algorithms in the first residual network.
  • the method further includes:
  • the method further includes:
  • the obtaining the second residual network includes:
  • the second residual network is obtained according to the new distance identifier of all the nodes to the sink.
  • determining the sink point when determining that the data structure of the management active node does not have an active node, determining the sink point
  • the traffic is the maximum flow of the network.
  • the method further includes:
  • the pre-flow advancement in parallel in the residual network by the at least two algorithms includes:
  • Pre-flow advancement is performed in parallel by the at least two algorithms according to the corresponding number of threads in the first residual network.
  • the method further includes:
  • the number of threads is reconfigured for the at least two algorithms based on the number of key edges.
  • an algorithm selection device including:
  • An obtaining unit configured to acquire a network flow graph, and obtain a first residual amount according to the network flow graph Networking, and acquiring a set of operational algorithms, where the set of operational algorithms includes at least two algorithms;
  • a processing unit configured to perform pre-flow advancement in parallel by the at least two algorithms in the first residual network, to obtain a second residual network, and determine a key corresponding to the at least two algorithms after pre-flow advancement
  • An algorithm corresponding to the number of edges and determining a maximum value of the number of key edges in the second residual network is an optimal network maximum flow algorithm of the network flow graph.
  • the acquiring unit is further configured to: after obtaining the first residual network according to the network flow graph, acquiring an active node according to the first residual network;
  • the acquiring unit is specifically configured to: acquire an algorithm and a data structure corresponding to the active node according to an algorithm template, and obtain the operation algorithm set according to the algorithm and the data structure, where the algorithm template includes user configured management The data structure of the active node and the user-configured algorithm corresponding to the active node and the data structure of the network flow graph.
  • the processing unit is further configured to add a fine-grained lock to the data structure of the network flow graph.
  • the processing unit is specifically configured to perform an active active node according to the at least two algorithms, Acquiring a corresponding active node in the data structure, and advancing the surplus stream of the corresponding active node in parallel with the neighboring node whose distance identifier is lower than itself according to the at least two algorithms, wherein The surplus stream includes a positive difference between the inflow and the outflow of the active node.
  • the processing unit is further configured to: perform a surplus flow of the corresponding active node to the sink point by using the neighboring node After advancing, if the neighboring node has the surplus stream, determining that the adjacent node is a new active node, and placing the new active node into the data of the management active node In the structure.
  • the processing unit is further configured to: when the pre-flow advancement is performed in parallel by the at least two algorithms, obtain the number of edges that are re-identified, Obtaining an update parameter according to the algorithm template, and when determining that the update parameter and the number of re-identified edges satisfy a preset condition, updating a distance identifier of all nodes to the sink point to obtain all the nodes to The new distance identifier of the meeting point, and according to all the knots mentioned The new distance identification point to the sink point gets the second residual network.
  • the processing unit is further configured to: when determining that the data structure of the management active node does not have an active node When the point is reached, it is determined that the traffic of the sink is the maximum flow of the network.
  • the acquiring unit is further configured to: pass in the first residual network Obtaining a total number of threads before the at least two algorithms perform the pre-flow advancement in parallel; the processing unit is further configured to: configure a number of threads corresponding to the at least two algorithms, and pass the network in the first residual network
  • the at least two algorithms perform pre-flow advancement according to the corresponding number of threads, wherein the number of threads includes a ratio of the total number of threads to the number of algorithms of the at least two algorithms.
  • the processing unit is further configured to: after determining that the algorithm corresponding to the maximum value of the number of the critical edges is the optimal network maximum flow algorithm, The number of threads is reconfigured for the at least two algorithms based on the number of key edges.
  • the network flow graph is pre-flowed by operating a plurality of algorithms in the algorithm set, and after the pre-flow advancement, the algorithm with the largest number of key edges corresponding to each algorithm is determined as the optimal network maximum flow algorithm.
  • the adaptive network flow graph can be dynamically adjusted to obtain an optimal performance algorithm, thereby improving the efficiency of the network maximum flow calculation.
  • FIG. 1 is a schematic flowchart of a method for selecting an optimal network maximum flow algorithm according to an embodiment of the present invention
  • FIG. 2 is a schematic flowchart diagram of another method for selecting an optimal network maximum flow algorithm according to an embodiment of the present invention
  • FIG. 3 is a schematic structural diagram of an algorithm selection device according to an embodiment of the present invention
  • FIG. 4 is a schematic structural diagram of another algorithm selection device according to an embodiment of the present invention.
  • the embodiment of the invention provides a method for selecting an optimal network maximum flow algorithm.
  • the execution subject of the method is an algorithm selection device, including:
  • the algorithm selection device acquires a network flow graph, and obtains a first residual network according to the network flow graph.
  • the residual network is obtained by transforming the network flow graph.
  • the algorithm selection device acquires a set of operation algorithms.
  • the set of operational algorithms includes at least two algorithms.
  • the algorithm selecting device acquires an active node according to the first residual network, where the active node is a node whose inbound traffic is greater than the outgoing traffic, and the algorithm selecting device acquires an algorithm and data corresponding to the active node according to the algorithm template. Structure, and the set of operational algorithms is obtained according to the algorithm and data structure.
  • the algorithm template includes a data structure configured by the user to manage the active node, an algorithm configured by the user corresponding to the active node, and a data structure of the network flow graph.
  • the algorithm template includes a main control part, providing a framework of the algorithm; the algorithm part, the user may configure at least two algorithms; the node management part, including the acquired active node and the user-configured corresponding management active node data Structure (such as bucke t, F IFO-queue and s tack); update event, used to update the distance identifier of each node in the first residual network to the sink; update parameters, configured by the user; Network flow graph data structure for storing residual networks.
  • the node management part including the acquired active node and the user-configured corresponding management active node data Structure (such as bucke t, F IFO-queue and s tack)
  • update event used to update the distance identifier of each node in the first residual network to the sink
  • update parameters configured by the user
  • Network flow graph data structure for storing residual networks.
  • the algorithm part, the node management part and the update parameter can be configured by the user.
  • the above algorithm framework can be: Whi le (act i veV) ⁇
  • activeV indicates the number of active nodes in the residual network
  • activeV indicates that the number of active nodes in the residual network is not zero
  • the algorithm selection device may obtain an algorithm and a data structure configured by the user according to the foregoing algorithm template, and obtain the operation algorithm set according to the algorithm and the data structure, where the operation algorithm set may be:
  • bucket (i->d) represents the data structure of the user-managed active node; vertex, computel (node* i) ⁇ ... workset.
  • Parallel operations of multiple algorithms can be implemented by the above set of operational algorithms.
  • the algorithm selection device may fine-grain the data structure of the network flow graph to prevent data competition, for example, preventing other algorithms other than the active node corresponding algorithm from reading and writing the active node.
  • the algorithm selection device performs pre-flow advancement in parallel in the first residual network by using the at least two algorithms to obtain a second residual network, and determines, in the second residual network, the at least two algorithms. The number of key edges.
  • the parallelism refers to that another algorithm can be executed at the same time in the process of executing one of the algorithms, and is not limited to starting at the same time.
  • the algorithm selects the number of active nodes from the management according to the at least two algorithms According to the structure, the corresponding active node is obtained, and the surplus stream of the corresponding active node is pushed in parallel to the sink point by the adjacent node whose distance identifier is lower than the self according to the at least two algorithms.
  • the surplus flow includes a positive difference between the inflow and the outflow of the active node.
  • the algorithm selecting device determines that the neighboring node is a new active node, and places the new active node into the data structure of the managing active node. in.
  • the algorithm selecting device acquires the number of re-identified edges, and obtains an update parameter according to the algorithm template, and determines the update parameter and the number of the re-identified edges.
  • the distance identifiers of all nodes to the sink point are updated to obtain a new distance identifier of all the nodes to the sink point, and the second residue is obtained according to the new distance identifier of all the nodes to the sink point.
  • the algorithm selecting device determines to update the flow of the new active node, * when determining that the product of the number of re-identified edges and the update parameter is greater than the number of sides of the network flow graph and the product of the number, *, and number.
  • the algorithm selection device may perform reverse width-first search by the sink point to update all the nodes to the sink point identifier, and after the distance identifier is updated, obtain the second residual network according to the updated distance identifier, and The number of key edges corresponding to the at least two algorithms is counted in the second residual network.
  • the algorithm selecting device determines, when the data structure of the management active node does not have an active node, determining that the traffic of the sink is the maximum flow of the network, such that the at least two algorithms are calculated by executing the parallel algorithm in parallel.
  • the network flow graph speeds up the acquisition of the maximum flow of the network, thereby improving the calculation efficiency.
  • the algorithm selecting device acquires the total number of threads and performs the number of threads corresponding to at least two algorithms before the pre-streaming advancement by the at least two algorithms in the first residual network, and the algorithm selecting device is in the The pre-streaming advancement is performed in parallel by the at least two algorithms according to the corresponding number of threads in the first residual network.
  • the number of threads includes a ratio of the total number of threads to the number of algorithms of the at least two algorithms, that is, the number of threads configured by the algorithm selection device for each algorithm is the same.
  • code that the algorithm executes in parallel can be:
  • the algorithm that determines, by the algorithm selection device, the maximum value of the number of the critical edges is an optimal network maximum flow algorithm of the network flow graph.
  • the algorithm is determined to be the optimal network maximum flow algorithm corresponding to the network flow graph.
  • the algorithm selects the number of threads for the at least two algorithms according to the number of the key edges.
  • the algorithm selection device pre-flows the network flow graph by operating multiple algorithms in the algorithm set, and after the pre-flow advancement, the number of key edges corresponding to each algorithm is the largest.
  • the algorithm is determined as the optimal network maximum flow algorithm, so that in the process of obtaining the maximum flow of the network, the adaptive different network flow graphs can be dynamically adjusted to obtain an optimal performance algorithm, thereby improving the efficiency of the network maximum flow calculation.
  • An embodiment of the present invention provides a method for selecting an optimal network maximum flow algorithm, as shown in FIG. 2, including:
  • the S20 algorithm selects a device to obtain a network flow graph, and obtains a first residual network according to the network flow graph.
  • the residual network is obtained by transforming the network flow graph.
  • the algorithm selection device acquires an active node according to the first residual network.
  • the algorithm selection device acquires an algorithm and a data structure corresponding to the active node according to the algorithm template, and adds a fine-grained lock to the data structure of the network flow graph.
  • the active node is a node whose inbound traffic is greater than the outgoing traffic.
  • the algorithm template includes a data structure of the user-configured active active node and an algorithm configured by the user corresponding to the active node and a data structure of the network flow graph.
  • the algorithm selection device puts the acquired active node into the data structure of the management active node.
  • the algorithm template includes a main control part, providing a framework of the algorithm; the algorithm part, the user may configure at least two algorithms; the node management part, including the acquired active node and the user-configured corresponding management active node data Structure (such as bucket, FIFO-queue, and stack); update event, used to update the distance identifier of each node in the first residual network to the sink; update parameters, configured by the user; network flow graph Data structure for storing residual networks.
  • the node management part including the acquired active node and the user-configured corresponding management active node data Structure (such as bucket, FIFO-queue, and stack); update event, used to update the distance identifier of each node in the first residual network to the sink; update parameters, configured by the user; network flow graph Data structure for storing residual networks.
  • the algorithm part, the node management part and the update parameter can be configured by the user.
  • the above algorithm framework can be:
  • activeV indicates the number of active nodes in the residual network
  • activeV indicates that the number of active nodes in the residual network is not zero
  • the algorithm selection device may obtain an algorithm and a data structure configured by the user according to the foregoing algorithm template, and obtain the operation algorithm set according to the algorithm and the data structure, where the operation algorithm set may be:
  • GLOB_UPDT-FREQ 0.5;
  • bucket (i->d) represents the data structure of the user-managed active node; vertex, computel (node* i) ⁇ ... workset.
  • push ( j); ⁇ indicates the active node and the corresponding algorithm
  • GLOB_UPDT_FREQ 0.5 indicates the user-configured update parameters.
  • Parallel operations of multiple algorithms can be implemented by the above set of operational algorithms.
  • the algorithm selection device obtains the operation algorithm set according to the algorithm and the data structure.
  • the set of operational algorithms includes at least two algorithms.
  • the algorithm selection device acquires a corresponding active node from the data structure of the management active node according to the at least two algorithms.
  • the algorithm selects a device to obtain a total number of threads, and configures a number of threads corresponding to at least two algorithms according to the total number of threads.
  • the number of threads includes a ratio of the total number of threads to the number of algorithms of the at least two algorithms.
  • the algorithm selection device performs pre-flow advancement in parallel according to the corresponding number of threads in the first residual network by using the at least two algorithms.
  • the surplus flow includes a positive difference between the inflow and the outflow of the active node.
  • code that the algorithm executes in parallel can be:
  • Paral lel-f or (the number of a 1 gor i thms) executes all algorithms in parallel, where the number of algorithms represents the number of algorithms, paral lel_f or (thread_group [i] ) executes algorithm i, where thread- Group [i] represents the thread group corresponding to algorithm i; algorithm_i () represents algorithm i.
  • the algorithm selecting device determines that the adjacent node is a new active node, and puts the new active node into the Manage active nodes, in the data structure.
  • the algorithm selection device acquires the number of edges that are re-identified when the pre-flow advancement is performed in parallel by the at least two algorithms, and acquires the update parameter according to the algorithm template. It should be noted that, if the algorithm selection device determines that there is no active node in the data structure of the active node after performing the pre-flow advancement, it determines that the traffic of the sink point is the maximum flow of the network, so that the at least The two algorithms calculate the network flow graph, which speeds up the acquisition of the maximum flow of the network, thereby improving the calculation efficiency.
  • the algorithm selecting device updates the distance identifiers of all the nodes to the sink point when determining that the update parameter and the number of the re-identified edges meet the preset condition, to obtain a new giant of all the nodes to the sink point. Off the logo.
  • the algorithm selecting device determines to update the distance identifier of all the nodes to the sink point, and the algorithm selecting device Specifically, the sinker performs reverse width priority search to update the distance identifier of all nodes to the sink point, and after the distance identifier is updated, obtains the second residual network according to the updated distance identifier, and in the second residual The number of key edges corresponding to the at least two algorithms is counted in the quantity network.
  • the algorithm selection device obtains the second residual network according to the new distance identifier.
  • the algorithm selection device determines the number of key edges corresponding to the at least two algorithms in the second residual network.
  • the algorithm that determines the maximum value of the number of key edges by the algorithm selection device is an optimal network maximum flow algorithm of the network flow graph.
  • the algorithm selection device reconfigures the number of threads for the optimal network maximum flow algorithm. Specifically, after determining the optimal network maximum flow algorithm, more threads are allocated for the optimal network maximum flow, so that the algorithm reduces computation time and improves computation efficiency in the operation process, thereby improving the algorithm. Algorithm performance.
  • the adaptive network flow graph can be dynamically adjusted to obtain an optimal performance algorithm, thereby improving the efficiency of the network maximum stream calculation.
  • An embodiment of the present invention provides an algorithm selection device 30, as shown in FIG. 3, including: The obtaining unit 31 is configured to obtain a network flow graph, obtain a first residual network according to the network flow graph, and obtain a set of operation algorithms.
  • the residual network is obtained by transforming a network flow graph, and the operational algorithm set includes at least two algorithms.
  • the processing unit 32 is configured to perform pre-flow advancement in parallel by the at least two algorithms in the first residual network to obtain a second residual network, and determine a key edge corresponding to the at least two algorithms after the pre-flow advancement
  • the algorithm corresponding to the quantity, and determining the maximum value of the number of key edges in the second residual network is the optimal network maximum flow algorithm of the network flow graph.
  • the acquiring unit 31 is further configured to obtain an active node according to the first residual network after obtaining the first residual network according to the network flow graph.
  • the obtaining unit 31 puts the acquired active node into the data structure of the management active node.
  • the acquiring unit 31 is configured to obtain an algorithm and a data structure corresponding to the active node according to the algorithm template, and obtain the operation algorithm set according to the algorithm and the data structure, where the algorithm template includes a user-configured active node.
  • the data structure and the user-configured algorithm corresponding to the active node and the data structure of the network flow graph are configured to obtain an algorithm and a data structure corresponding to the active node according to the algorithm template, and obtain the operation algorithm set according to the algorithm and the data structure, where the algorithm template includes a user-configured active node.
  • the algorithm template includes a main control part, providing a framework of the algorithm; the algorithm part, the user may configure at least two algorithms; the node management part, including the acquired active node and the user-configured corresponding management active node data Structure (such as bucket, FIFO-queue, and stack); update event, used to update the distance identifier of each node in the first residual network; update parameters, configured by the user, network flow graph data structure, Used to store residual networks.
  • the node management part including the acquired active node and the user-configured corresponding management active node data Structure (such as bucket, FIFO-queue, and stack); update event, used to update the distance identifier of each node in the first residual network; update parameters, configured by the user, network flow graph data structure, Used to store residual networks.
  • the algorithm part, the node management part and the update parameter can be configured by the user.
  • the above algorithm framework can be:
  • Ver tex. compute (i); where act iveV indicates the number of active nodes in the residual network, while (activeV) indicates that the number of active nodes in the residual network is not zero, the algorithm is executed, i workset. Remove 0 means that the active node is taken out from the node management part, and the workset represents the data structure of the corresponding management active node configured by the user; vertex, compute (i) The surplus stream of the active node is operated by an algorithm corresponding to the active node.
  • the algorithm selection device may obtain an algorithm and a data structure configured by the user according to the foregoing algorithm template, and obtain the operation algorithm set according to the algorithm and the data structure, where the operation algorithm set may be:
  • bucket (i->d) represents the data structure of the user-managed active node; vertex, computel (node* i) ⁇ ... workset.
  • Parallel operations of multiple algorithms can be implemented by the above set of operational algorithms.
  • processing unit 32 is further configured to: fine-grain the data structure of the network flow graph to prevent data competition, for example, prevent other algorithms other than the active node corresponding algorithm from reading and writing the active node. operating.
  • the processing unit 32 is configured to: obtain, according to the at least two algorithms, a corresponding active node from the data structure of the active node, and perform the corresponding active node in parallel according to the at least two algorithms.
  • the surplus flow advances to the meeting point through adjacent nodes.
  • the surplus flow includes a positive difference between the inflow and the outflow of the active node.
  • processing unit is further configured to: after the surplus stream of the corresponding active node is advanced to the sink point by using an adjacent node whose distance identifier is lower than itself, if the neighboring node has the surplus flow, Then, the adjacent node is determined to be a new active node, and the new active node is placed in the data structure of the management active node.
  • the obtaining unit 31 is further configured to: before the pre-streaming advancement by the at least two algorithms in the first residual network, obtain a total number of threads, and the processing unit configures at least two algorithms according to the total number of threads. The number of threads, and pre-flow advancement in parallel by the at least two algorithms according to the corresponding number of threads in the first residual network.
  • the number of threads includes a ratio of the total number of threads to the number of algorithms of the at least two algorithms, that is, the number of threads configured by the algorithm selection device for each algorithm is the same.
  • the code that the algorithm executes in parallel can be:
  • Paral lel-f or (the number of a 1 gor i thms) executes all algorithms in parallel, where the number of algorithms represents the number of algorithms, paral lel_f or (thread_group [i] ) executes algorithm i, where thread- Group [i] represents the thread group corresponding to algorithm i; algorithm_i () represents algorithm i.
  • the processing unit 32 is further configured to: when the pre-stream advancement is performed in parallel by the at least two algorithms, obtain the number of re-identified edges, obtain an update parameter according to the algorithm template, and determine the update parameter and When the number of the re-identified edges meets the preset condition, the distance identifiers of all the nodes to the sink point are updated to obtain a new distance identifier of all the nodes to the sink point, and the second distance identifier is obtained according to the new distance identifier. Residual network.
  • the algorithm selecting device determines to update the distance identifier of all the nodes to the sink point, and the algorithm selecting device Specifically, the sinking point performs reverse width first search to update the distance identifiers of all the nodes to the sink point, and after the distance is updated, obtains the second residual network according to the updated distance identifier, and in the second residual The number of key edges corresponding to the at least two algorithms is counted in the quantity network.
  • processing unit 32 is further configured to: after determining that the algorithm corresponding to the maximum value of the number of the critical edges is the optimal network maximum flow algorithm, reconfiguring the number of threads for the at least two algorithms according to the number of the critical edges.
  • the algorithm is determined to be the optimal network maximum flow algorithm corresponding to the network flow graph.
  • the obtaining unit 31 is further configured to: determine a data structure of the active node in the management When there is no active node, the flow of the sink is determined to be the maximum flow of the network.
  • the network flow graph is calculated by executing the at least two algorithms in parallel, the speed of acquiring the maximum flow of the network is accelerated, thereby improving the speed. Computational efficiency.
  • the algorithm selecting device performs pre-flow advancement of the network flow graph by using multiple algorithms in the algorithm set, and after the pre-flow advancement, determining the algorithm with the largest number of key edges corresponding to each algorithm as
  • the optimal network maximum flow algorithm enables dynamic adaptation of different network flow graphs to obtain optimal performance algorithms in the process of obtaining the maximum flow of the network, thereby improving the efficiency of the network maximum flow calculation.
  • the present invention provides an algorithm selection device 40. As shown in FIG. 4, the algorithm selection device 40 includes:
  • processor 41 a processor (Rocessor) 41, a communication interface (42), a memory 43 and a communication bus 44; wherein the processor 41, the communication interface 42, and the memory 43 are completed by the communication bus 44 Communication with each other.
  • processor 41 the communication interface 42, and the memory 43 are completed by the communication bus 44 Communication with each other.
  • the processor 41 may be a multi-core CPU or a specific integrated circuit.
  • An ASIC Application Specific Integrated Circuit
  • one or more integrated circuits configured to implement embodiments of the present invention.
  • the memory 43 is for storing program code, and the program code includes computer operation instructions and a network flow diagram.
  • Memory 43 may contain high speed RAM memory and may also include non-volatile memory, such as at least "disk storage.”
  • the communication interface 42 is configured to implement connection communication between the devices.
  • the processor 41 executes program code for acquiring a network flow graph, and obtains a first residual network according to the network flow graph, and acquires an operation algorithm set, where the at least two algorithms are performed in parallel in the first residual network. Pre-flow advancement, obtaining a second residual network, and determining the number of key edges corresponding to the at least two algorithms in the second residual network, and determining that the maximum value of the number of key edges corresponds to the network flow.
  • the optimal network maximum flow algorithm for the graph is
  • the set of operational algorithms includes at least two algorithms.
  • the processor 41 is further configured to: acquire an active node according to the first residual network, acquire an algorithm and a data structure corresponding to the active node according to the algorithm template, and obtain the operation according to the algorithm and the data structure. Algorithm set.
  • the algorithm template includes a data structure configured by the user to manage the active node, an algorithm configured by the user corresponding to the active node, and a data structure of the network flow graph.
  • the processor 41 is further configured to add a fine-grained lock to the data structure of the network flow graph.
  • the processor 41 is configured to: obtain, according to the at least two algorithms, a corresponding active node from a data structure of the active node, and perform the corresponding active node in parallel according to the at least two algorithms. The surplus flow advances to the meeting point through adjacent nodes.
  • the surplus flow includes a positive difference between the inflow and the outflow of the active node.
  • the processor 41 is specifically configured to: if the neighboring node has the surplus flow, determine that the adjacent node is a new active node, and put the new active node into a management active In the data structure of the node.
  • the processor 41 is further configured to: when the pre-streaming is performed in parallel by the at least two algorithms, obtain the number of edges that are re-identified, and obtain an update parameter according to the algorithm template, where the update parameter is determined and When the number of the re-identified edges meets the preset condition, the distance identifiers of all the nodes to the sink point are updated to obtain a new distance identifier of all the nodes to the sink point, and the second distance identifier is obtained according to the new distance identifier. Residual network.
  • the processor 41 is further configured to: when there is no active node in the data structure of the management active node, determine that the traffic of the sink is the maximum flow of the network.
  • the processor 41 is further configured to: obtain a total number of threads, and configure, according to the total number of threads, a number of threads corresponding to at least two algorithms, where the at least two algorithms are used according to the first residual network The corresponding number of threads is pre-flowed in parallel.
  • the number of threads includes a ratio of the total number of threads to the number of algorithms of the at least two algorithms
  • the processor 41 is further configured to reconfigure the number of threads for the at least two algorithms according to the number of the critical edges.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Economics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Conformément à des modes de réalisation, la présente invention concerne un procédé et un dispositif de sélection d'un algorithme de flux maximum de réseau optimal et relève du domaine des flux maximaux de réseaux, permettant de déterminer un algorithme de flux maximum de réseau optimal conformément à différents graphes de flux de réseaux. Le procédé consiste à : faire en sorte qu'un dispositif de sélection d'algorithme acquière un graphe de flux de réseau et obtienne un premier réseau résiduel conformément au graphe de flux de réseau ; acquérir un ensemble d'algorithmes d'exploitation, l'ensemble d'algorithmes d'exploitation comprenant au moins deux algorithmes ; exécuter de manière simultanée un pousser de flux préalable sur le premier réseau résiduel en utilisant au moins deux algorithmes afin d'obtenir un second réseau résiduel, déterminer, sur le second réseau résiduel, une quantité de bords de pivotement correspondant auxdits deux algorithmes, et déterminer qu'un algorithme correspondant à la valeur maximale de la quantité de bords de pivotement est un algorithme de flux maximum de réseau optimal pour le graphe de flux de réseau. Les modes de réalisation de la présente invention sont utilisés pour sélectionner un algorithme de flux maximum de réseau.
PCT/CN2014/083511 2013-08-14 2014-08-01 Procédé et dispositif de sélection d'un algorithme de flux maximum de réseau optimal WO2015021869A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201310354026.1 2013-08-14
CN201310354026.1A CN104376366B (zh) 2013-08-14 2013-08-14 一种最优网络最大流算法的选择方法和设备

Publications (1)

Publication Number Publication Date
WO2015021869A1 true WO2015021869A1 (fr) 2015-02-19

Family

ID=52468030

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/083511 WO2015021869A1 (fr) 2013-08-14 2014-08-01 Procédé et dispositif de sélection d'un algorithme de flux maximum de réseau optimal

Country Status (2)

Country Link
CN (1) CN104376366B (fr)
WO (1) WO2015021869A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111158903A (zh) * 2019-12-12 2020-05-15 中国科学院深圳先进技术研究院 一种动态数据的规划方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106503095B (zh) * 2016-10-13 2019-06-04 南京航空航天大学 一种基于投票方式的数据融合方法
CN108009643B (zh) * 2017-12-15 2018-10-30 清华大学 一种机器学习算法自动选择方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101783028A (zh) * 2010-02-26 2010-07-21 清华大学 一种基于显卡并行计算的三维医学图像的快速分割方法
CN103093281A (zh) * 2012-12-27 2013-05-08 吴立新 一种网络最大流的并行求解方法
WO2013113364A1 (fr) * 2012-01-30 2013-08-08 Nokia Siemens Networks Oy Utilisation de multiflot et entrée multiple sortie multiple dans des systèmes de communication cellulaire

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102117485B (zh) * 2009-12-30 2012-12-12 中国科学院沈阳自动化研究所 一种基于目标形状的自动图像分割方法
CN102116839B (zh) * 2009-12-30 2013-02-27 中国科学院沈阳自动化研究所 一种基于最大流方法的fpga测试方法
US8751638B2 (en) * 2010-07-02 2014-06-10 Futurewei Technologies, Inc. System and method to implement joint server selection and path selection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101783028A (zh) * 2010-02-26 2010-07-21 清华大学 一种基于显卡并行计算的三维医学图像的快速分割方法
WO2013113364A1 (fr) * 2012-01-30 2013-08-08 Nokia Siemens Networks Oy Utilisation de multiflot et entrée multiple sortie multiple dans des systèmes de communication cellulaire
CN103093281A (zh) * 2012-12-27 2013-05-08 吴立新 一种网络最大流的并行求解方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111158903A (zh) * 2019-12-12 2020-05-15 中国科学院深圳先进技术研究院 一种动态数据的规划方法
CN111158903B (zh) * 2019-12-12 2023-04-25 中国科学院深圳先进技术研究院 一种动态数据的规划方法

Also Published As

Publication number Publication date
CN104376366B (zh) 2017-11-03
CN104376366A (zh) 2015-02-25

Similar Documents

Publication Publication Date Title
US9367344B2 (en) Optimized assignments and/or generation virtual machine for reducer tasks
US9454408B2 (en) Managing network utility of applications on cloud data centers
WO2017128979A1 (fr) Procédé et dispositif de gestion de ressource
WO2017214932A1 (fr) Procédé et appareil de gestion de ressources de tranches de réseau
EP2999176B1 (fr) Procédé et dispositif de recherche pour table de flux multi-niveaux
JP6007799B2 (ja) 集中管理型網制御システム
KR20160076968A (ko) 네트워크 장치 흐름 룩업 관리를 위한 기술
KR20170100487A (ko) 총체적 글로벌 성능 및 전력 관리
US9350800B2 (en) Defragmenting clusters with reserved resources
Min et al. Multiple resource demands and viability in multiplex networks
Mennes et al. GRECO: A distributed genetic algorithm for reliable application placement in hybrid clouds
WO2015021869A1 (fr) Procédé et dispositif de sélection d'un algorithme de flux maximum de réseau optimal
WO2016086709A1 (fr) Procédé et dispositif de mise en œuvre de planification de capacité
Zhang et al. Improving Hadoop service provisioning in a geographically distributed cloud
CN107454019A (zh) 软件定义网络动态带宽分配方法、装置、设备及存储介质
Chen et al. NFV middlebox placement with balanced set-up cost and bandwidth consumption
EP3041170B1 (fr) Procédé et dispositif de planification réseau
US20150365341A1 (en) Cloud-based resource availability calculation of a network environment
US9906435B2 (en) Method and apparatus for determining intermediate routing node and system
Prisacari et al. Generalized hierarchical all-to-all exchange patterns
WO2020043120A1 (fr) Procédé et appareil pour diviser un domaine de protocole de passerelle interne dans un réseau
WO2016061952A1 (fr) Procédé et appareil de configuration de service ethernet, et support d'informations
WO2018009103A1 (fr) Gestionnaire de puissance et procédé mis en œuvre permettant de gérer la puissance d'un centre de données
CN114880982A (zh) 时钟树生成方法、装置、设备、存储介质和芯片
WO2017118431A1 (fr) Procédé et appareil de sélection de route

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14836099

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14836099

Country of ref document: EP

Kind code of ref document: A1