CN111966497B - Computing task allocation method for distributed system in wide area network environment - Google Patents

Computing task allocation method for distributed system in wide area network environment Download PDF

Info

Publication number
CN111966497B
CN111966497B CN202010861083.9A CN202010861083A CN111966497B CN 111966497 B CN111966497 B CN 111966497B CN 202010861083 A CN202010861083 A CN 202010861083A CN 111966497 B CN111966497 B CN 111966497B
Authority
CN
China
Prior art keywords
data
node
nodes
computing
task
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
CN202010861083.9A
Other languages
Chinese (zh)
Other versions
CN111966497A (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.)
Peking University
Original Assignee
Peking University
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 Peking University filed Critical Peking University
Priority to CN202010861083.9A priority Critical patent/CN111966497B/en
Publication of CN111966497A publication Critical patent/CN111966497A/en
Application granted granted Critical
Publication of CN111966497B publication Critical patent/CN111966497B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention discloses a calculation task allocation method of a distributed system in a wide area network environment, wherein the system comprises a plurality of data source nodes, data sink nodes and intermediate nodes between the data source nodes and the data sink nodes; in the system, a data sink node initiates a new task; the data flow is generated by a data source node, the calculation is completed at an intermediate node, and finally the data flow flows into a data sink node; by adjusting and distributing the computing tasks of the adjacent nodes, the computing time from generation to use completion of each data entry in the data stream is as close as possible, and the computing amount borne by each node is dynamically distributed. By adopting the technical scheme of the invention, the task quantity distribution of each node in the system is automatically adjusted through the task exchange between the adjacent computing nodes without introducing a centralized scheduling node, so that the problem of the whole unavailability of the system caused by the failure of a few scheduling nodes can be avoided, and the expandability of the distributed computing system in a wide area network environment is improved.

Description

Computing task allocation method for distributed system in wide area network environment
Technical Field
The invention belongs to the technical field of distributed system high-performance computing, relates to a task allocation method in a distributed computing system, and particularly relates to a method for adjusting decentralized task amount in a computing system deployed in a wide area network environment.
Background
Wide area network environments typically span a very large physical area beyond the distance over which the hub is connected, and communications between nodes often experience complex routing. Distributed computing tasks in a wan environment typically involve a large number of sources and sinks of data at the edge of the network, the former producing a continuous flow of data into the wan and the latter requiring the retrieval of the required data from the wan. Some routing nodes of the wide area network are deployed with servers or data centers with certain computing power, and are responsible for processing and temporarily storing data.
When the computing nodes of the distributed system are distributed throughout the wide area network, how to reasonably distribute the distributed computing tasks to the computing nodes needs to be considered, so as to increase the expandability of the system and reduce the delay of the computing and data transmission processes. The process is generally dynamic, that is, the system should comprehensively consider the current load of each node, network congestion and other factors, and adjust the distribution of tasks on the nodes in real time.
The traditional allocation algorithm has the following disadvantages:
(1) Traditional resource allocation methods typically rely on data centers. In such a scenario, the computing nodes are interconnected at high speed, and the cost for distributing and migrating computing tasks among the nodes is not high. However, in a distributed computing system based on a wide area network, the connection relationship between the computing nodes is not symmetrical: the data transmission rate between nodes with shorter routing distance is higher, the data transmission between nodes with longer routing distance has obvious delay, and the computing nodes close to the data source are more suitable for executing the computing tasks. A resource allocation method that does not take this characteristic into account may significantly affect the execution efficiency of the system.
(2) The traditional resource allocation method needs to acquire the load condition of each computing node in the system in real time and make reasonable task allocation according to the load condition. However, the node communication cost of the distributed computing system in the wide area network is not negligible, and it is difficult to converge the states of all nodes to the same central node in real time. Therefore, the centralized resource allocation algorithm has difficulty in reacting to an emergency situation in the system, such as an emergency traffic of a data source, a change of available resources of a computing node, and the like.
(3) As the number of compute nodes in a distributed system increases, the specialized nodes responsible for resource allocation tend to become the bottleneck in the system. The node needs to communicate with a large number of computing nodes to acquire their operating states and send scheduling information; corresponding data structures need to be maintained, and various attributes of all the computing nodes are recorded; a resource allocation algorithm needs to be run to allocate the tasks to the appropriate computing nodes. These scalability issues are more pronounced in wide area networks: communication delay among nodes is higher, and the properties of the nodes are richer due to the heterogeneity of the computing nodes, and the number of available computing nodes in the network is more huge.
In summary, the conventional calculation task allocation algorithm cannot be migrated to a distributed calculation scenario of a wan environment, and it is difficult to solve the problem of scalability of a distributed calculation system of the wan environment, thereby resulting in that the system is not usable as a whole.
Disclosure of Invention
In order to overcome the defects of the prior art, the invention provides a decentralized computing task allocation method in a wide area network, which can automatically adjust the task amount allocation of each node in the system through task exchange between adjacent computing nodes on the premise of not introducing a centralized scheduling node. The method avoids the problem of the whole unavailability of the system caused by the failure of a few scheduling nodes, and simultaneously improves the expandability of the distributed computing system in the wide area network environment.
In the present invention, a distributed computing system for a wide area network environment comprises three types of nodes: data source nodes, data sink nodes and intermediate nodes. The data source node is responsible for generating data streams and inputting the data streams into the computing system, the data sink node is responsible for receiving the required data streams from the computing system, and the intermediate node is responsible for forwarding and computing the data streams. The nodes are connected into a network, and a data source node and a data sink node are distributed at the edge of the network and are connected with only one intermediate node; the intermediate nodes are distributed within the network and typically two or more nodes are connected to it.
The computational tasks in the system are centered on the data flow. A data stream refers to a continuous sequence of data on which a user can define a calculation scheme that takes as input each piece of data in this sequence, following the calculation logic given by the user, resulting in an indefinite number of new data entries. These new data entries constitute a new data stream. Each data source node provides a data stream, and a data sink node may receive one or more data streams, with the same data stream potentially flowing to multiple data sink nodes. The computations on the data stream must all be completed before reaching the data sink node. The invention dynamically distributes the calculation amount executed by each intermediate node through the calculation task adjustment of the adjacent intermediate nodes, and reduces the delay of calculation and transmission.
The technical scheme of the invention is as follows:
a computing task distribution method of a distributed system in a wide area network environment is disclosed, wherein the system comprises a plurality of data source nodes, data sink nodes and intermediate nodes between the data source nodes and the data sink nodes; the data flow is generated by a data source node, calculation is completed at an intermediate node, and the data flow finally flows into a data sink node; the invention adjusts and distributes the calculation tasks of the adjacent nodes, so that the calculation time from generation to use completion of each data item in the same data stream is as close as possible, and the calculation and transmission delay is reduced by dynamically distributing the calculation amount carried by each node; comprises the following steps:
A. acquiring a data transmission path;
a new task is initiated in the system by the data sink node. Firstly, all data source nodes involved in a task are found, and a path from each data source node to a data sink node is determined. The intermediate nodes on the path need to collectively complete all the computations for the new task. Then, each intermediate node on the path sets a plurality of statistics for the new task, including setting a calculation ratio representing a ratio of the number of data entries that have completed calculation at the intermediate node (a ratio of the total number of data entries of the data stream of the new task) when processing the data stream from the new task. Each statistic is initialized.
B. After the initialization process is completed, data transfer begins.
The data source node generates an entry in the data stream and sends it to the data sink node via the data transmission path. When an entry for a data stream is transmitted to an intermediate node, it is first placed in a data buffer, waiting for execution. If the data entry ratio executed by the current intermediate node exceeds the calculation ratio, the partial entry (the set entry number) whose generation time is the earliest is sent to the next node on the path. When the computing resource of the current intermediate node is idle, the computing resource of the current intermediate node sequentially executes the computing tasks of the items in each data stream from old to new according to the generation time.
C. The intermediate node periodically initiates synchronization with all neighboring nodes, and compares the average of the time from generation to completion of the computation of each data entry of the same data stream. The larger one decreases the calculation ratio, and the smaller one increases the calculation ratio.
Through the steps, the task quantity adjustment in the wide area network environment computing system is realized, and the computing task distribution of the distributed system in the wide area network environment is realized.
Compared with the prior art, the invention has the beneficial effects that:
the invention provides a method for decentralized adjustment of task load in a wide area network environment computing system. The method dynamically distributes the calculation amount executed by each node in the system through the calculation task adjustment of the adjacent nodes, and reduces the delay of calculation and transmission. The technical advantages of this approach are:
the invention has no centralized scheduling node, avoids the problem of the unavailability of the whole system caused by the failure of a few scheduling nodes, and simultaneously improves the expandability of the distributed computing system in the wide area network environment.
Drawings
FIG. 1 is a schematic diagram of an underlying architecture of a wide area network environment distributed computing system in which the present invention may be implemented;
wherein, 1 is an intermediate node, 2 is a data source node, and 3 is a data sink node.
FIG. 2 is a block diagram of an initialization process of a computing task in the present invention.
Fig. 3 is a block diagram of a flow of computing performed by an intermediate node in the present invention.
Detailed Description
The invention will be further described by way of examples, without in any way limiting the scope of the invention, with reference to the accompanying drawings.
The invention provides a calculation task allocation method of a distributed system in a wide area network environment, wherein the distributed system in the wide area network environment comprises a plurality of data source nodes, data sink nodes and intermediate nodes; the data flow is generated by a data source node, the calculation is completed at an intermediate node, and finally the data flow flows into a data sink node; according to the invention, through the adjustment of the calculation tasks of the adjacent nodes, the time from generation to completion of calculation of each data entry in the same data stream is as close as possible, and the calculation and transmission delay is reduced by dynamically allocating the calculation amount borne by each node. The method comprises the following steps:
A. a new task is initiated in the system by the data sink node.
Firstly, all data source nodes involved in a task are found, and a path from each data source node to a data sink node is determined. The intermediate nodes on the path need to collectively complete all the computations of the task. The intermediate node then sets a calculation ratio for the task, representing the ratio of the number of data entries that have been calculated at the node when processing the data stream from the task.
B. After the initialization process is completed, data transfer begins.
The data source node generates entries in the data stream and sends the entries to the data sink node via the aforementioned paths. When an entry for a data stream is transmitted to an intermediate node, it is first placed in a data buffer, waiting for execution. If the ratio of the currently executed data entries exceeds the calculated ratio, the partial entry with the earliest generation time is sent to the next node on the path. When the computing resources of the intermediate node are idle, the computing resources of the intermediate node sequentially execute the computing tasks of the items in the data streams from old to new according to the generation time.
C. The intermediate node periodically initiates synchronization with all neighboring nodes, and compares the average of the time from generation to completion of the computation of each data entry of the same data stream. The larger one decreases the calculation ratio, and the smaller one increases the calculation ratio.
Fig. 1 is a schematic diagram of a bottom layer structure of a wide area network environment distributed computing system adopted in the embodiment of the present invention, in which 1 is an intermediate node, 2 is a data source node, and 3 is a data sink node. Some nodes are connected with each other through a path, which indicates that data transmission can be carried out between the nodes; data can not be directly transmitted between nodes which are not connected, and only can be transferred through other nodes.
The specific implementation comprises the following steps:
A. a new task is initiated in the system by the data sink node d. First, all data source nodes s involved in a new task are found through a traditional routing algorithm i } i=1…r Determining a path from each data source node to each data sink node, wherein r is the number of the data source nodes; with data source node s i A path s to a data sink node d i n 1 n 2 …n k d is taken as an example. The path comprises n 1 ~n k A total of k intermediate nodes, which need to be in commonAll computations for the new task are completed.
B. Each intermediate node n j (j is not less than 1 and not more than k), and a calculation ratio alpha is set for the new task jj <1)。
α j Representing that when the node processes the data stream from the new task, there is α in every K data entries j K entries are calculated at the node. When a new task starts, the calculation ratio of all intermediate nodes is set to 1. The node n j Two statistics M are also assigned to the task j And N j The former represents the number of entries that have been executed and the latter represents the number of entries for all of the tasks encountered, both initialized to 0. At the same time, using P j The total time from generation to completion of each data entry in the data stream representing the current node processing; using Q j Representing the number of entries that have been executed in the current cycle, both initialized to 0. The initialization process is shown in fig. 2.
C. After the initialization process is completed, data transfer begins. Data source node s i Generating entries in the data stream and passing through path s i n 1 n 2 …n k d are sent to the data sink node, each entry being accompanied by a generation time τ.
D. When an entry of a data stream is transmitted to an intermediate node n j First, it is placed in a data buffer and waits for execution. Statistic N of the task at the node j Self-increment by 1. If it is not
Figure BDA0002648167170000051
Then select M with the earliest generation time jj N j An entry, sent to the next node on the path.
E. When the intermediate node n j When the computing resources of (2) are idle, it will execute the computing tasks of the entries in each data stream in sequence from old to new according to the generation time. When the current node completes the calculation of an item in a task, the corresponding statistic M j Self-increment by 1. Recording the current time T, statistic P j Incrementing T-tau (i.e. from generation to completion of the entryDuration), Q j Self-increment by 1. The flow of calculations performed by the intermediate node is shown in figure 3.
F. The current intermediate node periodically initiates synchronization with all adjacent nodes by taking p as an update period:
with comparison of the same data flow with each of the adjacent intermediate nodes
Figure BDA0002648167170000052
The value of (c). Setting an adjustment coefficient beta, based on the adjustment coefficient beta (beta)<1) In the current intermediate node and the adjacent intermediate node
Figure BDA0002648167170000053
The larger one reduces the calculated ratio alpha j Is beta alpha j The smaller one increases the calculated ratio α thereof j To
Figure BDA0002648167170000054
After synchronization is complete, statistic P j And Q j And (4) returning to zero.
It is noted that the disclosed embodiments are intended to aid in further understanding of the invention, but those skilled in the art will appreciate that: various substitutions and modifications are possible without departing from the spirit and scope of the invention and the appended claims, including but not limited to: calculating the ratio alpha j The adjustment method of (3), the dynamic adjustment of the update period p, and the like. Therefore, the invention should not be limited to the embodiments disclosed, but the scope of the invention is defined by the appended claims.

Claims (6)

1. A computing task distribution method of a distributed system in a wide area network environment is disclosed, wherein the distributed system in the wide area network environment comprises a plurality of data source nodes, data sink nodes and intermediate nodes between the data source nodes and the data sink nodes; in the system, a data sink node initiates a new task; the data flow is generated by a data source node, the calculation is completed at an intermediate node, and finally the data flow flows into a data sink node; adjusting and distributing the computing tasks of the adjacent intermediate nodes to enable the computing time from generation to use completion of each data entry in the data stream to be close, and dynamically distributing the computing capacity borne by each intermediate node; comprises the following steps:
A. acquiring a data transmission path;
finding all data source nodes related to a new task initiated by a data sink node, and determining a path from each source node to the data sink node; all the calculations of the new task are completed through k intermediate nodes on the path;
intermediate node n on the path j Setting the calculation ratio alpha for the new task j ,α j <1,1 is not less than j and not more than k; the calculation ratio refers to the proportion of the number of data items which are calculated at the intermediate node to the total number of data items of the data stream of the new task when the data stream from the new task is processed;
when a new task starts, the calculation ratios of all the intermediate nodes are set to be 1;
B. and starting to transmit data:
b, the data source node generates an item in the data stream and sends the item to the data sink node through the data transmission path obtained in the step A;
intermediate node n j Assigning two statistics M to a task j And N j Respectively representing the number of entries already executed and the number of entries of all the tasks encountered; m j And N j Are all initialized to 0;
meanwhile, in the data stream processed by the current node, the total time from generation to completion of calculation of each entry is recorded as P j (ii) a The number of entries that have been executed in the current cycle is denoted as Q j (ii) a Statistic P j And Q j Are all initialized to 0;
when an entry of a data flow is transmitted to an intermediate node n j Firstly, the data is placed in a data buffer area to wait for execution;
statistic N of the task at the current intermediate node j Self-increment by 1;
if the data entry ratio executed by the current intermediate node exceeds the calculation ratio set in step A, that is
Figure FDA0003786220430000011
Then select M with the earliest generation time jj N j An entry sent to a next intermediate node on the data transmission path;
when the computing resources of the intermediate node are idle, computing tasks of the items in the data streams are sequentially executed from old to new according to the generation time;
C. the current intermediate node periodically initiates synchronization with all neighboring intermediate nodes:
the current intermediate node periodically initiates synchronization with each adjacent intermediate node, and compares the average value of the time from generation to completion of calculation of each data entry of the same data stream
Figure FDA0003786220430000012
The larger one decreases the calculation ratio and the smaller one increases the calculation ratio;
D. after synchronization is complete, statistic P j And Q j Returning to zero;
through the steps, the task amount adjustment in the wide area network environment computing system is realized, and the computing task distribution of the distributed system in the wide area network environment is realized.
2. The method as claimed in claim 1, wherein in step a, the new task is initiated by the data sink node d, and all the data source nodes { s } involved in the new task are found by the routing algorithm i } i=1…r And determining a path from each data source node to each data sink node, wherein r is the number of the data source nodes.
3. The method for distributing computing tasks in a distributed system over a wide area network environment as recited in claim 2, wherein the data source node s i The path to the data sink node d is denoted as: s is i n 1 n 2 …n k d, the path includes n 1 ~n k K intermediate nodes in totalThe points together complete all the calculations for the new task.
4. The method as claimed in claim 3, wherein the step B is a data transmission step, and the data source node s is a data source node i Generating an entry in the data stream and passing through a path s i n 1 n 2 …n k d to the data sink node, each entry accompanied by a generation time τ.
5. The method of distributing tasks in a distributed system in a wide area network environment as claimed in claim 4, wherein the statistic M is calculated when the current intermediate node completes the task calculation before step C j Self-increment by 1; recording the current time T, statistic P j Is increased by P j +T-τ;Q j Self-increment by 1.
6. The method for distributing the computing tasks of the distributed system in the WAN environment as claimed in claim 1, wherein in step C, the adjustment coefficients β, β are set<1; in which the current intermediate node is located in relation to the adjacent intermediate node
Figure FDA0003786220430000021
The larger one reduces the calculated ratio alpha j Is beta alpha j The smaller one increases the calculated ratio α thereof j To
Figure FDA0003786220430000022
CN202010861083.9A 2020-08-25 2020-08-25 Computing task allocation method for distributed system in wide area network environment Active CN111966497B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010861083.9A CN111966497B (en) 2020-08-25 2020-08-25 Computing task allocation method for distributed system in wide area network environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010861083.9A CN111966497B (en) 2020-08-25 2020-08-25 Computing task allocation method for distributed system in wide area network environment

Publications (2)

Publication Number Publication Date
CN111966497A CN111966497A (en) 2020-11-20
CN111966497B true CN111966497B (en) 2023-02-24

Family

ID=73390874

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010861083.9A Active CN111966497B (en) 2020-08-25 2020-08-25 Computing task allocation method for distributed system in wide area network environment

Country Status (1)

Country Link
CN (1) CN111966497B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105227601A (en) * 2014-06-17 2016-01-06 华为技术有限公司 Data processing method in stream processing system, device and system
CN106506188A (en) * 2015-09-08 2017-03-15 阿里巴巴集团控股有限公司 A kind of method and apparatus for determining key node

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7515543B2 (en) * 2004-12-21 2009-04-07 Alcatel-Lucent Usa Inc. Packet reorder resolution in a load-balanced network architecture
KR100912820B1 (en) * 2007-11-01 2009-08-18 한국전자통신연구원 Multi-path Routing method in Wireless Sensor Networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105227601A (en) * 2014-06-17 2016-01-06 华为技术有限公司 Data processing method in stream processing system, device and system
CN106506188A (en) * 2015-09-08 2017-03-15 阿里巴巴集团控股有限公司 A kind of method and apparatus for determining key node

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于群智能的P2P计算网格负载均衡算法;吴湘宁等;《计算机工程》;20071220;第33卷(第24期);88-90 *
无线传感器网络路由协议的研究与展望;李莉等;《中国电子科学研究院学报》;20060220(第01期);17-21 *

Also Published As

Publication number Publication date
CN111966497A (en) 2020-11-20

Similar Documents

Publication Publication Date Title
CN108566659B (en) 5G network slice online mapping method based on reliability
CN110187973B (en) Service deployment optimization method facing edge calculation
CN110297699B (en) Scheduling method, scheduler, storage medium and system
CN108509276A (en) A kind of video task dynamic migration method in edge calculations environment
JP5324637B2 (en) Dynamic flowlet scheduling system, flow scheduling method, and flow scheduling program
WO2023039965A1 (en) Cloud-edge computing network computational resource balancing and scheduling method for traffic grooming, and system
CN109286528B (en) SDN network multi-controller deployment method based on time delay
CN107666448B (en) 5G virtual access network mapping method under time delay perception
CN112650581A (en) Cloud-side cooperative task scheduling method for intelligent building
CN108737268B (en) Software-defined industrial Internet of things resource scheduling method
CN112162789A (en) Edge calculation random unloading decision method and system based on software definition
CN107483355B (en) Data center-oriented online scene low-bandwidth overhead traffic scheduling scheme
Ren et al. Distributed online optimization of fog computing for internet of things under finite device buffers
CN112148381A (en) Software definition-based edge computing priority unloading decision method and system
Li et al. Redundancy-guaranteed and receiving-constrained disaster backup in cloud data center network
CN110048966B (en) Coflow scheduling method for minimizing system overhead based on deadline
WO2017045640A1 (en) Associated stream bandwidth scheduling method and apparatus in data center
Abouelela et al. Multidomain hierarchical resource allocation for grid applications
CN113032146A (en) Robust service supply method for multi-access edge computing environment
CN111966497B (en) Computing task allocation method for distributed system in wide area network environment
CN106209683B (en) Data transmission method and system based on data center&#39;s wide area network
CN115604311B (en) Cloud fusion computing system oriented to service network and self-adaptive routing method
CN112162837A (en) Software definition-based edge computing scheduling method and system
Li et al. Progressive forwarding disaster backup among cloud datacenters
Zhang et al. Towards stable flow scheduling in data centers

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