CN108600299B - Distributed multi-user computing task unloading method and system - Google Patents

Distributed multi-user computing task unloading method and system Download PDF

Info

Publication number
CN108600299B
CN108600299B CN201810175765.7A CN201810175765A CN108600299B CN 108600299 B CN108600299 B CN 108600299B CN 201810175765 A CN201810175765 A CN 201810175765A CN 108600299 B CN108600299 B CN 108600299B
Authority
CN
China
Prior art keywords
task
node
computing
cloud virtual
virtual machine
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.)
Expired - Fee Related
Application number
CN201810175765.7A
Other languages
Chinese (zh)
Other versions
CN108600299A (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.)
Shanghai Institute of Microsystem and Information Technology of CAS
Shanghai Research Center for Wireless Communications
Original Assignee
Shanghai Institute of Microsystem and Information Technology of CAS
Shanghai Research Center for Wireless Communications
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 Shanghai Institute of Microsystem and Information Technology of CAS, Shanghai Research Center for Wireless Communications filed Critical Shanghai Institute of Microsystem and Information Technology of CAS
Priority to CN201810175765.7A priority Critical patent/CN108600299B/en
Publication of CN108600299A publication Critical patent/CN108600299A/en
Application granted granted Critical
Publication of CN108600299B publication Critical patent/CN108600299B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The invention provides a distributed multi-user computing task unloading method and a distributed multi-user computing task unloading system, which comprise the following steps: constructing preference lists of each computing node and each cloud virtual machine; for the computing nodes and the cloud virtual machines which are not matched, sending request matching information to the task node with the minimum preference metric value in the preference degree list of the computing nodes and the cloud virtual machines, and deleting the task node from the corresponding preference degree list; selecting the most preferred computing node and the cloud virtual machine set for the task node; if the computing nodes and the cloud virtual machines which are not paired and have non-empty preference lists exist, repeating the pairing operation of the computing nodes, the cloud virtual machines and the task nodes; and for the task nodes, dividing the computing task subtasks of each task node. The distributed multi-user computing task unloading method and system can realize stable computing task unloading among multiple users, and each user supports the unloading of computing to a single or multiple computing nodes.

Description

Distributed multi-user computing task unloading method and system
Technical Field
The invention relates to the technical field of communication networks, in particular to a distributed multi-user computing task unloading method and system.
Background
Along with thing networking, 5G communication and artificial intelligence's rapid development, when terminal equipment presents explosive growth, a large amount of novel applications, services also emerge, for example car networking, augmented reality. On the one hand, the large and diverse data generated by these applications and devices require a large amount of resources to process; on the other hand, the terminal device generally has limited resources due to the limitations of physical size and energy overhead. To alleviate this conflict, mobile cloud computing is proposed. Mobile cloud computing allows a terminal device to offload computation-heavy computing tasks to a resource-rich cloud server. However, the cloud server is generally far from the terminal device, and due to factors such as unstable wireless connection and insufficient spectrum resources, the mobile cloud computing cannot meet the requirements of high reliability and low time delay required by many applications.
Therefore, the concept and architecture of fog calculation are introduced. The cloud computing sinks the storage, computation, control and network capabilities of the cloud to the edge side of the network, and allows the terminal device to offload a large number of computing tasks which need to be offloaded to the cloud to surrounding computing nodes, such as dedicated cloud nodes or idle terminals, access devices and the like. Fog computing can support highly reliable, low-latency services because it places large amounts of data storage, computation, communication, etc. near the end user. In the fog computing, how to map the computing tasks to various computing nodes for unloading the computing tasks is a key of research.
Currently, there are some related research works to allocate resources with the goal of minimizing latency and minimizing system power consumption under QoS conditions such as latency. However, most research efforts are focused on simple scenarios with a single user, or simple scenarios with multiple users each able to offload computing tasks to a single compute node, and for more general and complex scenarios with multiple users each able to offload computing tasks to multiple compute nodes, there is currently a lack of systematic research. In addition, on the one hand, most of the current research focuses on a centralized method, and the complexity of the method is increased sharply with the increase of the network scale in the future; on the other hand, most methods for optimizing the central control do not achieve a stable result, and thus, difficulties arise in practical implementation.
Disclosure of Invention
In view of the above-mentioned shortcomings of the prior art, the present invention provides a distributed inter-user computing task offloading method and system, which can achieve stable inter-user computing task offloading, and each user supports offloading computing to a single or multiple computing nodes and operates in a distributed manner.
To achieve the above and other related objects, the present invention provides a distributed multi-user computing task offloading method, comprising: establishing a preference degree list of each computing node and each cloud virtual machine based on preference degree metric values of each computing node and each cloud virtual machine to task nodes; for the computing nodes and the cloud virtual machines which are not matched, sending request matching information to the task node with the minimum preference metric value in the preference degree list of the computing nodes and the cloud virtual machines, and deleting the task node from the corresponding preference degree list; selecting a most preferred computing node and a cloud virtual machine set for the task node, and sending pairing refusing information to the computing node and the cloud virtual machine which send the request pairing information but are not in the most preferred computing node and cloud virtual machine set; if the computing nodes and the cloud virtual machines which are not paired and have non-empty preference lists exist, repeating the pairing operation of the computing nodes, the cloud virtual machines and the task nodes; for task nodes, dividing a computing task subtask of each task node to distribute the computing task subtask to a computing node and a cloud virtual machine which are matched with the task nodes.
In an embodiment of the present invention, the preference metric of the computing node m or the cloud virtual machine m to the task node n is defined as
Figure BDA0001587272010000021
Representing the time spent by the computing node m or the cloud virtual machine m for processing the unit computing task on the task node n; wherein r isn,mIs the data transmission rate, f, from the task node n to the compute node m or the cloud virtual machine mmIs the computing power, η, of the compute node m or cloud virtual machine mnIs the computing power required by the task to process the unit data on the task node n, rm,nIs the data transmission rate, mu, from the computing node m or the cloud virtual machine m to the task node nnIs the ratio of the amount of output data to the amount of input data of the task at task node n.
In an embodiment of the present invention, the task node n selects the most preferred compute node and cloud virtual machine set to execute the following steps:
if it is currently matched toThe scale of the computing node and the cloud virtual machine is less than or equal to qnIf the current matched computing node and cloud virtual machine are the most preferred set of the computing node and the cloud virtual machine of the task node n; q. q.snThe number of computing nodes and VMs to which the task node n can be unloaded at most concurrently is set;
if the scale of the currently matched computing node and cloud virtual machine is larger than qnThen for the currently matched sequence of compute nodes LdAnd the currently matched cloud virtual machine sequence LvFirstly, elements in the two sequences are sorted from small to large according to the preference metric value of the task node n, and front q in each sequence is reservednSetting a pointer at the tail of each sequence; if the computing node m pointed by the computing node sequence pointer and the cloud virtual machine k pointed by the cloud virtual machine sequence pointer meet the requirements
Figure BDA0001587272010000022
The cloud virtual machine k is sequenced from the cloud virtual machine LvDeleting the pointer, and pointing the pointer to the tail of the new cloud virtual machine sequence again; otherwise, the computing node m is selected from the computing node sequence LdAnd the pointer is pointed to the tail of the new computing node sequence again, wherein,
Figure BDA0001587272010000023
Figure BDA0001587272010000024
is the data transmission rate of the mission node n to the base station,
Figure BDA0001587272010000025
is the data transmission rate of the base station to the service node n, fkIs the computing power of the cloud virtual machine k; l'v=LvV \ k, which represents the cloud virtual machine sequence of the cloud virtual machine k is removed; repeating the sequence adjustment operation until the size of the two sequences is equal to qnIf the obtained computing node sequence and cloud virtual machine sequence are the most biased task nodes nAnd (4) collecting good computing nodes and cloud virtual machines.
In one embodiment of the present invention, qnIs a natural number of 1 or more.
In an embodiment of the present invention, all pairing processes are performed in an asynchronous manner in a distributed manner on each task node, compute node, and cloud virtual machine.
In an embodiment of the present invention, the calculation task subtasks are divided according to the principle that the time delays of the respective subtasks are equal.
In an embodiment of the present invention, one computation task subtask is processed locally by the task node, and other computation task subtasks are offloaded to the computation node and the cloud virtual machine paired with the task node for processing.
In an embodiment of the present invention, the computation task subtasks offloaded to different cloud end virtual machines are simultaneously sent to the base station through the same channel and then reach the cloud end virtual machines, and the computation results are uniformly recovered and simultaneously sent back to the task node through the same channel.
Correspondingly, the invention provides a distributed multi-user computing task unloading system, which comprises a construction module, a request module, a selection module, a circulation module and a division module;
the construction module is used for constructing a preference degree list of each computing node and each cloud virtual machine based on preference degree metric values of each computing node and each cloud virtual machine to task nodes;
the request module is used for sending request pairing information to the task node with the minimum preference degree metric value in the preference degree list of the request module for the computing node and the cloud virtual machine which are not paired, and deleting the task node from the corresponding preference degree list;
the selecting module is used for selecting the most preferred computing node and cloud virtual machine set for the task node, and sending pairing refusing information to the computing node and the cloud virtual machine which send the request pairing information but are not in the most preferred computing node and cloud virtual machine set;
the circulation module is used for repeating the pairing operation of the computing nodes, the cloud virtual machines and the task nodes when the computing nodes and the cloud virtual machines which are not paired and have non-empty preference lists exist;
the dividing module is used for dividing the computing task subtasks of each task node for the task nodes so as to distribute the computing task subtasks to the computing nodes and the cloud virtual machines matched with the task nodes.
As described above, the distributed inter-multi-user computing task offloading method and system of the present invention have the following beneficial effects:
(1) stable computation task unloading among multiple users can be realized, and each user supports computation unloading to a single or multiple computation nodes and runs in a distributed mode;
(2) the method is not only suitable for a simple scene that a single user in a plurality of users only supports the unloading of the computing task to a single computing node, but also suitable for a complex scene that a single user in a plurality of users supports the unloading of the computing task to a plurality of computing nodes; the method is also suitable for the resource allocation problem among multiple users in other scenes;
(3) stable calculation resource distribution results among the task nodes, the calculation nodes and the cloud virtual machine are achieved in a distributed asynchronous execution mode, an optimal subtask division mode can be obtained based on the distribution, the performance of the system is greatly optimized, and the practicability is high.
Drawings
FIG. 1 is a flow diagram illustrating a distributed inter-user computing task offloading method in accordance with an embodiment of the present invention;
FIG. 2 is a block diagram of a distributed inter-user computing task offloading system according to an embodiment of the invention.
Detailed Description
The embodiments of the present invention are described below with reference to specific embodiments, and other advantages and effects of the present invention will be easily understood by those skilled in the art from the disclosure of the present specification. The invention is capable of other and different embodiments and of being practiced or of being carried out in various ways, and its several details are capable of modification in various respects, all without departing from the spirit and scope of the present invention. It is to be noted that the features in the following embodiments and examples may be combined with each other without conflict.
It should be noted that the drawings provided in the following embodiments are only for illustrating the basic idea of the present invention, and the components related to the present invention are only shown in the drawings rather than drawn according to the number, shape and size of the components in actual implementation, and the type, quantity and proportion of the components in actual implementation may be changed freely, and the layout of the components may be more complicated.
Within the Base station (Base station bs) coverage there are a number of terminal devices, some of which have computing tasks that need to be offloaded to other terminal devices available in the free surroundings and to dedicated fog computing nodes. For convenience of description, the terminal devices with computing tasks are collectively called task nodes, and the idle terminal devices capable of providing computing power and the fog computing nodes are collectively called computing nodes. In addition, the task node can offload tasks to cloud Virtual Machines (VMs) through the base station.
In the invention, the task node n can divide the task and unload the task to the maximum q concurrentlyn(qnMore than or equal to 1) computing nodes and VMs, and reserving a subtask to locally compute. Wherein each divided task segment is referred to as a subtask. Each compute node and VM can only execute a subtask from a single task node at the same time. The subtasks unloaded to different VMs need to be simultaneously sent to the base station through the same channel and then reach the cloud VMs, and the calculation results also need to be uniformly recovered and simultaneously sent back to the task node through the same channel.
As shown in fig. 1, in an embodiment, the method for offloading computing tasks among multiple distributed users of the present invention includes the following steps:
step S1, establishing preference degree lists of the computing nodes and the cloud virtual machines based on preference degree metric values of the computing nodes and the cloud virtual machines to the task nodes.
Specifically, when the objective of system optimization is time delay, the preference metric value of the computing node m or VM m to the task node n is defined as
Figure BDA0001587272010000051
Representing the time it takes for a compute node m or VM m to process a unit compute task on task node n. Wherein r isn,mIs the data transmission rate, f, from the task node n to the compute node m or VM mmIs the computing power of the computing node m or VM m, ηnIs the computing power required by the task to process the unit data on the task node n, rm,nIs to calculate the data transmission rate, μ, of node m or VM m to task node nnIs the ratio of the amount of data output (i.e., the result of the computation) by the task on task node n to the amount of data input. Wherein, the larger the preference degree metric value is, the smaller the preference is; the smaller the preference metric value, the greater the preference.
Therefore, the step of obtaining the preference degree list of each computing node and each cloud virtual machine to the task node comprises the following steps:
11) and detecting channel environments of the task nodes, the computing nodes and the VMs, and collecting parameter information required by the preference metric.
12) According to the definition of the preference metric value, each computing node and each cloud VMs establish a preference list based on parameter information required by the preference metric value.
And step S2, for the computing nodes and the cloud virtual machines which are not matched, sending request matching information to the task node with the minimum preference degree metric value in the preference degree list of the task node, and deleting the task node from the corresponding preference degree list.
Specifically, for each computing node and VM which are not paired with a task node, the task node with the minimum preference metric value in the preference degree list, that is, the task node with the maximum preference degree, is selected, request pairing information is sent to the task node, and the task node is deleted from the preference degree list. After the selection is completed, each task node will receive the request pairing information of either zero, one, or multiple compute nodes and VMs.
And S3, selecting the most preferred computing node and cloud virtual machine set for the task node, and sending pairing refusing information for the computing nodes and cloud virtual machines which send the request pairing information but are not in the most preferred computing node and cloud virtual machine set.
And the task node generates the most preferred computing node and VMs set according to the preference degree of the computing node and VMs set, rejects the computing nodes and VMs which are currently matched with but not in the most preferred computing node and VMs set, and sends rejection pairing information to the computing nodes and VMs.
Specifically, when the objective of system optimization is time delay, the task node n executes the following algorithm to select the most preferred set of compute nodes and VMs:
31) if the sizes of the currently matched computing nodes and VMs are less than or equal to qnIf the current matched computing nodes and VMs are the set of the most preferred computing nodes and VMs of the task node n; q. q.snThe number of compute nodes and VMs to which the task node n can be concurrently offloaded is at most.
32) If the sizes of the currently matched computing nodes and VMs are larger than qnThen for the currently matched sequence of compute nodes LdAnd the currently matched VMs sequence LvFirstly, the elements in the two sequences are sorted from small to large according to the preference degree metric value of the task node, and the front q in each sequence is reservednSetting a pointer at the tail of each sequence; if the compute node m pointed by the compute node sequence pointer and the VM k pointed by the VMs sequence pointer satisfy
Figure BDA0001587272010000061
Figure BDA0001587272010000062
Then VM k is driven from the VMs sequence LvDeleting the queue and pointing the pointer to the tail of the new VMs sequence again; otherwise, the computing node m is selected from the computing node sequence LdAnd the pointer is pointed to the tail of the new computing node sequence again, wherein,
Figure BDA0001587272010000063
Figure BDA0001587272010000064
is the data transmission rate of the mission node n to the base station,
Figure BDA0001587272010000065
is the data transmission rate of the base station to the service node n, fkIs the computing power of VM k, L'v=LvV \ k, which represents the cloud virtual machine sequence of the cloud virtual machine k is removed; repeating the sequence adjustment operation until the size of the two sequences is equal to qnAnd the obtained calculation node sequence and VMs sequence are the calculation node and VMs set which are the most preferred by the task node n.
And step S4, repeating the pairing operation of the computing nodes and VMs and the task nodes for the computing nodes and VMs which are not paired and have non-empty preference lists.
Specifically, when the computing node and the VM are successfully paired or any task node is not included in the preference list, the bidirectional selection operation of the computing node and the VMs and the task node is stopped. It should be noted that all the above pairing processes can be performed in an asynchronous manner in a distributed manner on each task node, compute node and cloud virtual machine.
And step S5, dividing the computing task subtasks of each task node to distribute the computing task subtasks to the computing nodes and the cloud virtual machines matched with the task nodes.
Specifically, the optimal division of the computing task subtasks is determined according to the optimization objective of the system. Particularly, when the objective of system optimization is time delay, the division of the computation task subtasks can be divided according to the principle that the time delay of each subtask is equal.
The method for offloading the distributed multi-user computing task of the present invention is further described below by using specific embodiments.
In the present embodiment, it is assumed that the optimization goal of the system is arbitraryService delay of the service node. Suppose there are 3 task nodes (T) in the system1,T2,T3) 3 computing nodes (H)1,H2,H3) And 3 VMs (V)1,V2,V3). Each task node can offload computing tasks to at most 2 compute nodes and VMs. The tasks generated on the 3 task nodes are represented by the following 3 triples (1M bits, 500cycles/bit, 0.01), (1M bits,2000cycles/bit, 0.02) and (1M bits,3000cycles/bit, 0.05), respectively. The first element in the triple represents the task size, the second element represents the computing power (characterized by CPU cycles) required for processing the data of the unit bit, namely eta, and the third element represents the ratio of the computing result size to the task size, namely mu. T is1,T2,T3The calculation capacities of (a) and (b) are 1.8GHz, 2GHz and 2.5GHz respectively; h1,H2,H3The calculation capacities of (a) are 2GHz, 2.5GHz and 3GHz respectively; the computational power of VMs is 10 GHz. The data transmission rate (in Kbps) from the task node to the computing node is as follows:
Figure BDA0001587272010000066
wherein the ith row and the jth column elements represent the task node TiTo a computing node HjThe data transmission and reception rates between i, j are all 1,2, 3. T is1,T2,T3The uplink rates to the base station are 200Kbps, 300Kbps, 400Kbps, respectively, and the base station to T1,T2,T3The downlink rates of the uplink are 300Kbps, 450Kbps and 600Kbps respectively.
Specifically, the distributed inter-user computing task offloading method adopted in the embodiment includes the following steps:
step 1: and (5) initializing. It is assumed that the task nodes, compute nodes, and VMs all have completed the exploration of the surrounding environment and the collection of the required information. Compute node H1,H2,H3And VMsV1,V2,V3To task node T1,T2,T3The preference measure is
Figure BDA0001587272010000071
Where line 1 corresponds to compute node H1In the preference list of (1), each item value is H1And the preference metric value of the corresponding task node. E.g., row 1, column 1 compute node H1To task node T1A measure of the degree of preference, i.e. λ (H)1,T1)。
Step 2: the allocation of compute nodes and VMs for each task node is determined.
Each non-paired computing node and VM selects the task node with the minimum preference metric value (i.e., the task node with the maximum preference) in the preference list, sends the request information to the task node, and deletes the task node from the preference list. Compute node H1The most preferred task node is T3。H1To T3Sending information to make a pairing request, and sending T3Deleted from its preference list. After the selection is completed, the task node T1The task node T does not receive the request pairing information2Received from H2,H3Requesting pairing information, and the task node T3Received from H1,V1,V2,V3Requesting pairing information. After this step, the preference sequence of the respective compute nodes and VMs becomes
Figure BDA0001587272010000072
And step 3: and the task node selects the most preferable calculation node and VMs set according to the preference degrees of the calculation node and VMs set, rejects the calculation nodes and VMs which are matched with but not in the most preferable calculation node and VMs set in the round, and sends rejection information.
For task node T2In other words, since the number of pairs is less than 2, it temporarily accepts H2,H3
For task node T3For example, since the number of pairs is greater than 2, it requires further determination. First T3Two sequences need to be maintained: calculating a node sequence and a VMs sequence. Because of T3Receive only from the computing node H1So the sequence of compute nodes maintained in this step is Ld:{H1}. Because of T3Receive 3 pairing requests from VMs, so it is necessary to have these 3 VMs to task node T according to their own3The measurement values of the preference degrees are sorted from small to large, and the first 2 VMs sequences L which form the step and need to be maintained are selectedv:{V1,V2}. Here, since the three metric values are the same, 2 metric values can be randomly selected. In addition, two pointers are adopted to respectively point to H1And V2
Figure BDA0001587272010000081
Thus, V will be2From LvIs deleted. At the moment, the limitation that the pairing number is 2 at most is met, and the task node T is output3The most preferred set of compute nodes and VMs is { H }1,V1}. Task node T _3 temporarily accepts H1,V1Reject V2,V3And sends pairing rejection information.
At this time, V2,V3There are no matches yet, and there are still task nodes in their preference lists that have not been selected. Thus, the above-described bidirectional pairing operation is repeated. V2,V3And selecting the most preferred task node from the rest task nodes in the preference degree list, proposing a matching application to the most preferred task node, and deleting the task node from the preference degree list. V2,V3Preference T is given to all the remaining task nodes2Thus V2,V3To task node T2Proposing a pairing request, a task node T2Receive V2,V3Matching information is requested. After this step, the preference sequence of the respective compute nodes and VMs becomes
Figure BDA0001587272010000082
T2Newly received V2,V3A pairing request of, plusOne round of temporarily reserved H2,H3Pairing request of, T2It is necessary to select the 2 most preferred objects among the four matching objects and reject the remaining two. According to the algorithm, T2The most preferred set of compute nodes and VMs is { H }2,V2}. Thus, the task node T2Will temporarily accept H2,V2Reject H3,V3And sends pairing rejection information.
At this time, H3,V3There are no matches yet, and there are still task nodes in their preference lists that have not been selected. The above bidirectional pairing operation is repeated. H3,V3And selecting the most preferred task node from the rest task nodes in the preference degree list, and making a pairing request to the most preferred task node, and deleting the task node from the preference degree list. H3,V3Preference T is given to all the remaining task nodes1Thus H3,V3To task node T1Proposing a pairing request, a task node T1Receive H3,V3Pairing information is requested. After this step, the preference sequence of the respective compute nodes and VMs becomes
Figure BDA0001587272010000091
T1Newly received H3,V3A pairing request, T1The pairing request information of any other computing node or VM is not received before, so the limitation of the maximum pairing number, T1Temporarily receiving H3,V3
So far, all the computing nodes and VMs are uniformly matched, and a matching result is output: { T1,H3,V3},{T2,H2,V2},{T3,H1,V1}。
And 4, step 4: and determining the division of the computing task subtasks on each task node. And dividing the calculation tasks according to the principle that the time delay of each subtask is equal. Task node T1Local computation, off-load to compute node H3And off-load to VMV3The task amounts above are 0.914M bits respectively,0.037M bits, 0.049M bits. Task node T2Local computation, off-load to compute node H2And off-load to VMV2The task amounts are 0.691M bits, 0.117M bits and 0.192M bits, respectively. Task node T3Local computation, off-load to compute node H1And off-load to VMV1The task amounts are 0.605M bits, 0.145M bits and 0.250M bits, respectively.
As shown in FIG. 2, in one embodiment, the distributed inter-user computing task offloading system of the present invention includes a construction module 21, a request module 22, a selection module 23, a loop module 24, and a division module 25.
The building module 21 is configured to build a preference degree list of each computing node and each cloud virtual machine based on preference degree metric values of each computing node and each cloud virtual machine to task nodes;
the request module 22 is connected to the construction module 21, and configured to send request pairing information to a task node with a minimum preference metric value in a preference degree list of the task node and delete the task node from a corresponding preference degree list for a computing node and a cloud virtual machine that are not paired;
the selecting module 23 is connected to the requesting module 22, and configured to select, for a task node, a most preferred computing node and cloud virtual machine set, and send pairing rejection information for computing nodes and cloud virtual machines that send request pairing information but are not in the most preferred computing node and cloud virtual machine set;
the circulation module 24 is connected to the request module 22 and the selection module 23, and configured to repeat pairing operations of the computing nodes and the cloud virtual machines and the task nodes when there are computing nodes and cloud virtual machines that are not paired and have non-empty preference lists;
the dividing module 25 is connected to the circulating module 24, and is configured to divide the computation task subtasks of each task node for the task nodes, so as to allocate the computation task subtasks to the computation nodes and the cloud virtual machines paired with the task nodes.
The structures and principles of the building module 21, the requesting module 22, the selecting module 23, the circulating module 24 and the dividing module 25 correspond to the steps in the distributed inter-multi-user computation task offloading method one to one, and therefore are not described herein again.
It should be noted that the division of the modules of the above system is only a logical division, and the actual implementation may be wholly or partially integrated into one physical entity, or may be physically separated. And these modules can be realized in the form of software called by processing element; or may be implemented entirely in hardware; and part of the modules can be realized in the form of calling software by the processing element, and part of the modules can be realized in the form of hardware. For example, the x module may be a processing element that is set up separately, or may be implemented by being integrated in a chip of the apparatus, or may be stored in a memory of the apparatus in the form of program code, and the function of the x module may be called and executed by a processing element of the apparatus. Other modules are implemented similarly. In addition, all or part of the modules can be integrated together or can be independently realized. The processing element described herein may be an integrated circuit having signal processing capabilities. In implementation, each step of the above method or each module above may be implemented by an integrated logic circuit of hardware in a processor element or an instruction in the form of software.
For example, the above modules may be one or more integrated circuits configured to implement the above methods, such as: one or more Application Specific Integrated Circuits (ASICs), or one or more microprocessors (DSPs), or one or more Field Programmable Gate Arrays (FPGAs), etc. For another example, when one of the above modules is implemented in the form of a processing element scheduler code, the processing element may be a general-purpose processor, such as a Central Processing Unit (CPU) or other processor capable of calling program code. For another example, these modules may be integrated together and implemented in the form of a system-on-a-chip (SOC).
In summary, the distributed inter-multi-user computing task offloading method and system of the present invention can achieve stable inter-multi-user computing task offloading, and each user supports offloading computing to a single or multiple computing nodes and operates in a distributed manner; the method is not only suitable for a simple scene that a single user in a plurality of users only supports the unloading of the computing task to a single computing node, but also suitable for a complex scene that a single user in a plurality of users supports the unloading of the computing task to a plurality of computing nodes; the method is also suitable for the resource allocation problem among multiple users in other scenes; stable calculation resource distribution results among the task nodes, the calculation nodes and the cloud virtual machine are achieved in a distributed asynchronous execution mode, an optimal subtask division mode can be obtained based on the distribution, the performance of the system is greatly optimized, and the practicability is high. Therefore, the invention effectively overcomes various defects in the prior art and has high industrial utilization value.
The foregoing embodiments are merely illustrative of the principles and utilities of the present invention and are not intended to limit the invention. Any person skilled in the art can modify or change the above-mentioned embodiments without departing from the spirit and scope of the present invention. Accordingly, it is intended that all equivalent modifications or changes which can be made by those skilled in the art without departing from the spirit and technical spirit of the present invention be covered by the claims of the present invention.

Claims (7)

1. A distributed multi-user computing task unloading method is characterized by comprising the following steps:
establishing a preference degree list of each computing node and each cloud virtual machine based on preference degree metric values of each computing node and each cloud virtual machine to task nodes; the preference metric value of the computing node m or the cloud virtual machine m to the task node n is defined as
Figure FDA0002918352470000011
Representing the cost of a computing node m or a cloud virtual machine m for processing a unit computing task on a task node nThe time of (d); wherein r isn, mIs the data transmission rate, f, from the task node n to the compute node m or the cloud virtual machine mmIs the computing power, η, of the compute node m or cloud virtual machine mnIs the computing power required by the task to process the unit data on the task node n, rm, nIs the data transmission rate, mu, from the computing node m or the cloud virtual machine m to the task node nnThe ratio of the output data volume and the input data volume of the task on the task node n;
for the computing nodes and the cloud virtual machines which are not matched, sending request matching information to the task node with the minimum preference metric value in the preference degree list of the computing nodes and the cloud virtual machines, and deleting the task node from the corresponding preference degree list;
selecting a most preferred computing node and a cloud virtual machine set for the task node, and sending pairing refusing information to the computing node and the cloud virtual machine which send the request pairing information but are not in the most preferred computing node and cloud virtual machine set; the task node n selects the most preferred computing node and the cloud virtual machine set to execute the following steps: 31) if the scales of the currently matched computing node and cloud virtual machine are respectively less than or equal to qnIf the current matched computing node and cloud virtual machine are the most preferred set of the computing node and the cloud virtual machine of the task node n; q. q.snThe number of computing nodes and cloud virtual machines to which the task node n can be unloaded at most in a concurrent mode is determined; 32) if the scales of the currently matched computing node and cloud virtual machine are respectively larger than qnThen for the currently matched sequence of compute nodes LdAnd the currently matched cloud virtual machine sequence LvFirstly, elements in the two sequences are sorted from small to large according to the preference metric value of the task node n, and front q in each sequence is reservednSetting a pointer at the tail of each sequence; if the computing node m pointed by the computing node sequence pointer and the cloud virtual machine k pointed by the cloud virtual machine sequence pointer meet the requirements
Figure FDA0002918352470000012
The cloud virtual machine k is sequenced from the cloud virtual machine LvDeleting the pointer, and pointing the pointer to the tail of the new cloud virtual machine sequence again; otherwise, the computing node m is selected from the computing node sequence LdAnd the pointer is pointed to the tail of the new computing node sequence again, wherein,
Figure FDA0002918352470000013
Figure FDA0002918352470000014
is the data transmission rate of the mission node n to the base station,
Figure FDA0002918352470000015
is the data transmission rate of the base station to the service node n, fkIs the computing power of the cloud virtual machine k; l'v=LvV \ k, which represents the cloud virtual machine sequence of the cloud virtual machine k is removed; repeating the sequence adjustment operations of 31) and 32) above until the size of the two sequences is equal to qnIf so, the obtained computing node sequence and cloud virtual machine sequence are the computing node and cloud virtual machine set most preferred by the task node n;
if the computing nodes and the cloud virtual machines which are not paired and have non-empty preference lists exist, repeating the pairing operation of the computing nodes, the cloud virtual machines and the task nodes;
for task nodes, dividing a computing task subtask of each task node to distribute the computing task subtask to a computing node and a cloud virtual machine which are matched with the task nodes.
2. The distributed inter-user computing task offload method of claim 1, wherein q is qnIs a natural number of 1 or more.
3. The distributed inter-user computing task offloading method of claim 1, wherein all pairing processes are performed in an asynchronous manner in a distributed manner across task nodes, compute nodes, and cloud virtual machines.
4. The distributed inter-user computation task offloading method of claim 1, wherein the computation task subtasks are divided according to a principle that time delays of respective subtasks are equal.
5. The distributed inter-user computing task offloading method of claim 1, wherein one computing task subtask is processed locally by the task node and other computing task subtasks are offloaded to a computing node and a cloud virtual machine paired with the task node for processing.
6. The distributed inter-user computing task offloading method of claim 1, wherein the computing task subtasks offloaded to different cloud end virtual machines are simultaneously sent to the base station through a same channel and then arrive at the cloud end virtual machines, and the computing results are uniformly recovered and simultaneously sent back to the task nodes through the same channel.
7. A distributed multi-user computing task unloading system is characterized by comprising a construction module, a request module, a selection module, a circulation module and a division module;
the construction module is used for constructing a preference degree list of each computing node and each cloud virtual machine based on preference degree metric values of each computing node and each cloud virtual machine to task nodes; the preference metric value of the computing node m or the cloud virtual machine m to the task node n is defined as
Figure FDA0002918352470000021
Representing the time spent by the computing node m or the cloud virtual machine m for processing the unit computing task on the task node n; wherein r isn, mIs the data transmission rate, f, from the task node n to the compute node m or the cloud virtual machine mmIs the computing power, η, of the compute node m or cloud virtual machine mnIs processing unit data on task node nComputing power required for the task, rm, nIs the data transmission rate, mu, from the computing node m or the cloud virtual machine m to the task node nnThe ratio of the output data volume and the input data volume of the task on the task node n;
the request module is used for sending request pairing information to the task node with the minimum preference degree metric value in the preference degree list of the request module for the computing node and the cloud virtual machine which are not paired, and deleting the task node from the corresponding preference degree list;
the selecting module is used for selecting the most preferred computing node and cloud virtual machine set for the task node, and sending pairing refusing information to the computing node and the cloud virtual machine which send the request pairing information but are not in the most preferred computing node and cloud virtual machine set; the task node n selects the most preferred computing node and the cloud virtual machine set to execute the following steps: 31) if the scales of the currently matched computing node and cloud virtual machine are respectively less than or equal to qnIf the current matched computing node and cloud virtual machine are the most preferred set of the computing node and the cloud virtual machine of the task node n; q. q.snThe number of computing nodes and cloud virtual machines to which the task node n can be unloaded at most in a concurrent mode is determined; 32) if the scales of the currently matched computing node and cloud virtual machine are respectively larger than qnThen for the currently matched sequence of compute nodes LdAnd the currently matched cloud virtual machine sequence LvFirstly, elements in the two sequences are sorted from small to large according to the preference metric value of the task node n, and front q in each sequence is reservednSetting a pointer at the tail of each sequence; if the computing node m pointed by the computing node sequence pointer and the cloud virtual machine k pointed by the cloud virtual machine sequence pointer meet the requirements
Figure FDA0002918352470000031
The cloud virtual machine k is sequenced from the cloud virtual machine LvDeleting the pointer, and pointing the pointer to the tail of the new cloud virtual machine sequence again; otherwise, the computing node m is sequenced from the computing nodesLdAnd the pointer is pointed to the tail of the new computing node sequence again, wherein,
Figure FDA0002918352470000032
Figure FDA0002918352470000033
is the data transmission rate of the mission node n to the base station,
Figure FDA0002918352470000034
is the data transmission rate of the base station to the service node n, fkIs the computing power of the cloud virtual machine k; l'v=LvV \ k, which represents the cloud virtual machine sequence of the cloud virtual machine k is removed; repeating the sequence adjustment operations of 31) and 32) above until the size of the two sequences is equal to qnIf so, the obtained computing node sequence and cloud virtual machine sequence are the computing node and cloud virtual machine set most preferred by the task node n;
the circulation module is used for repeating the pairing operation of the computing nodes, the cloud virtual machines and the task nodes when the computing nodes and the cloud virtual machines which are not paired and have non-empty preference lists exist;
the dividing module is used for dividing the computing task subtasks of each task node for the task nodes so as to distribute the computing task subtasks to the computing nodes and the cloud virtual machines matched with the task nodes.
CN201810175765.7A 2018-03-02 2018-03-02 Distributed multi-user computing task unloading method and system Expired - Fee Related CN108600299B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810175765.7A CN108600299B (en) 2018-03-02 2018-03-02 Distributed multi-user computing task unloading method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810175765.7A CN108600299B (en) 2018-03-02 2018-03-02 Distributed multi-user computing task unloading method and system

Publications (2)

Publication Number Publication Date
CN108600299A CN108600299A (en) 2018-09-28
CN108600299B true CN108600299B (en) 2021-08-24

Family

ID=63625625

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810175765.7A Expired - Fee Related CN108600299B (en) 2018-03-02 2018-03-02 Distributed multi-user computing task unloading method and system

Country Status (1)

Country Link
CN (1) CN108600299B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109698861B (en) * 2018-12-14 2020-07-03 深圳先进技术研究院 Calculation task unloading method based on cost optimization
WO2020133098A1 (en) * 2018-12-27 2020-07-02 驭势科技(北京)有限公司 Distributed computing network system and method
CN109905860A (en) * 2019-02-28 2019-06-18 华北电力大学 A kind of server recruitment and task unloading prioritization scheme based on the calculating of vehicle mist
CN109992419A (en) * 2019-03-29 2019-07-09 长沙理工大学 A kind of collaboration edge calculations low latency task distribution discharging method of optimization
CN111182570B (en) * 2020-01-08 2021-06-22 北京邮电大学 User association and edge computing unloading method for improving utility of operator
CN111539863B (en) * 2020-03-26 2021-03-19 光控特斯联(重庆)信息技术有限公司 Intelligent city operation method and system based on multi-source task line

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741826A (en) * 2008-11-21 2010-06-16 北京世纪红山科技有限公司 Method and system for realizing encryption unloading on virtualized platform
CN103514047A (en) * 2013-10-14 2014-01-15 中国人民解放军理工大学 Task load balancing method used for mobile social network
CN104346433A (en) * 2013-08-07 2015-02-11 国际商业机器公司 Method and system of scalable acceleration of database query operations
CN105745585A (en) * 2013-11-26 2016-07-06 西门子公司 Offloading human-machine-interaction tasks

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030149747A1 (en) * 2002-02-01 2003-08-07 Xerox Corporation Method and apparatus for modeling print jobs
CN103970721B (en) * 2013-02-05 2016-08-03 腾讯科技(深圳)有限公司 Word content display packing, system, mobile terminal and high in the clouds typesetting server

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741826A (en) * 2008-11-21 2010-06-16 北京世纪红山科技有限公司 Method and system for realizing encryption unloading on virtualized platform
CN104346433A (en) * 2013-08-07 2015-02-11 国际商业机器公司 Method and system of scalable acceleration of database query operations
CN103514047A (en) * 2013-10-14 2014-01-15 中国人民解放军理工大学 Task load balancing method used for mobile social network
CN105745585A (en) * 2013-11-26 2016-07-06 西门子公司 Offloading human-machine-interaction tasks

Also Published As

Publication number Publication date
CN108600299A (en) 2018-09-28

Similar Documents

Publication Publication Date Title
CN108600299B (en) Distributed multi-user computing task unloading method and system
Shu et al. Multi-user offloading for edge computing networks: A dependency-aware and latency-optimal approach
Angelakis et al. Allocation of heterogeneous resources of an IoT device to flexible services
CN110413392A (en) The method of single task migration strategy is formulated under a kind of mobile edge calculations scene
CN110096362B (en) Multitask unloading method based on edge server cooperation
CN112039965B (en) Multitask unloading method and system in time-sensitive network
Shu et al. Dependency-aware and latency-optimal computation offloading for multi-user edge computing networks
CN110489176B (en) Multi-access edge computing task unloading method based on boxing problem
CN108924254B (en) User-centered distributed multi-user computing task unloading method
CN111988787B (en) Task network access and service placement position selection method and system
US11968122B2 (en) Joint optimization method and system for delay and spectrum occupation in cloud-edge collaborative network
WO2022007781A1 (en) Task processing method, edge computing device, computer device, and medium
Funai et al. Computational offloading for energy constrained devices in multi-hop cooperative networks
Rikos et al. Optimal CPU scheduling in data centers via a finite-time distributed quantized coordination mechanism
CN112860337B (en) Method and system for unloading dependent tasks in multi-access edge computing
CN113220356A (en) User computing task unloading method in mobile edge computing
CN115208812A (en) Service processing method and device, equipment and computer readable storage medium
Xu et al. Schedule or wait: age-minimization for IoT big data processing in MEC via online learning
Xu et al. Distributed assignment with load balancing for dnn inference at the edge
de Souza Toniolli et al. Resource allocation for multiple workflows in cloud-fog computing systems
CN111158893B (en) Task unloading method, system, equipment and medium applied to fog computing network
Xu et al. Online learning algorithms for offloading augmented reality requests with uncertain demands in MECs
CN114513838A (en) Moving edge calculation method, frame, and medium
Chen et al. An online approach for dnn model caching and processor allocation in edge computing
WO2023116460A1 (en) Multi-user multi-task computing offloading method and system in mobile edge computing environment

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210824