Method for task offloading based on power control and resource allocation in industrial internet of things
AssigneeShanghai Jiao Tong University
InventorsJincheng Xu, Peng Zhou, Bo Yang, Cailian Chen, Xinping Guan
Life of this patent
Estimating the term…
Abstract
A method for task offloading based on power control and resource allocation in the Industrial Internet of Things includes establishing a computing model for computation tasks at different offloading locations, constructing communication power control, resource allocation and computation offloading problems as a mixed integer non-linear programming model, solving them using a deep reinforcement learning algorithm to obtain an optimal strategy for offloading of the computation tasks, thus achieving communication power optimization and cross-domain resource allocation.
Claims10
A method for task offloading based on power control and resource allocation in the Industrial Internet of Things, comprising steps of:
- step 1:
- configuring an Industrial Internet of Things network,
- wherein the Industrial Internet of Things network comprises a plurality of switches and a plurality of devices, the plurality of switches communicating with one another in a wired fashion,
- partitioning the Industrial Internet of Things network into a plurality of cluster domains according to communication coverage ranges of the plurality of switches,
- wherein each of the plurality of cluster domains comprises one edge server and at least one device of the plurality of devices, the at least one device wirelessly communicating with a switch in the cluster domain where it is in, computing capacity of the edge server being fjS, computing capacity of each of the at least one device being fiL, each of the at least one device configured to generate one computation task Qi, the computation task Q. configured to contain a task data volume indicator di and a task computational load indicator ci,
- executing the computation task on a device of the plurality of devices, and establishing a first computing model;
- wherein the first computing model comprises first time consumption tiL, first energy consumption eiL and first overhead uiL;
- offloading the computation task to a first edge server for computation thereon, and establishing a second computing model;
- wherein the first edge server comprising an edge server in a cluster domain where the device is in, the device offloading, via a first switch, the computation task to the first edge server for computation, the first switch comprising a switch in the cluster domain where the device is in, the first edge server configured to allocate, to the computation task offloaded to the first edge server, computing resources;
- wherein the second computing model comprises second time consumption tiLS, second energy consumption eiLS and second overhead uiLS;
- offloading the computation task to a second edge server for computation thereon, and establishing a third computing model;
- wherein the second edge server comprising an edge server in another cluster domain where the device is not in, the device offloading, via the first switch and a second switch, the computation task to the second edge server for computation, the second switch comprising a switch in a cluster domain where the second edge server is in, the second edge server configured to allocate, to the computation task offloaded to the second edge server, computing resources;
- wherein the third computing model comprises third time consumption tiOS, third energy consumption eiOS and third overhead uiOS;
- step 2:
- based on the first computing model, the second computing model and the third computing model, establishing a total overhead model for all computation tasks in the Industrial Internet of Things network, constructing an objective function and constructing a mixed integer non-linear programming problem;
- wherein the step 2 comprises:
- defining a first decision variable xi={0,1}, wherein xi=0 means the computation task is executed at the device, while xi=1 means the computation task is offloaded to an edge server for computation;
- defining a second decision variable βi={0,1}, wherein βi=0 means the computation task is executred at the first edge server, while βi=1 means the computation task is executed at the second edge server;
- defining a third decision variable γi, wherein γi represents the edge server that executes the computation task and γi ∈{1,2. . . ,N},
- overhead for the computation task Qi is
- ui=(1−xi)uiL+xi(uiLS+βi(uiOS−uiLS))
- total overhead U for all the computation tasks in the Industrial Internet of Things network is
- U
- =
- ∑
- i
- =
- 1
- M
- u
- i
- =
- ∑
- i
- =
- 1
- M
- [
- (
- 1
- -
- x
- i
- )
-
- u
- i
- L
- +
- x
- i
- (
- u
- i
- LS
- +
- β
- i
- (
- u
- i
- OS
- -
- u
- i
- LS
- )
- )
- ]
- .
- constructing the objective function as follows:
- f
-
- (
- κ
- ,
- p
- ,
- x
- ,
- γ
- ,
- β
- )
- =
- ∑
- i
- =
- 1
- M
- u
- i
- =
- ∑
- i
- =
- 1
- M
- [
- (
- 1
- -
- x
- i
- )
-
- u
- i
- L
- +
- x
- i
- (
- u
- i
- LS
- +
- β
- i
- (
- u
- i
- OS
- -
- u
- i
- LS
- )
- )
- ]
- =
- ∑
- i
- =
- 1
- M
- [
- (
- 1
- -
- x
- i
- )
-
- u
- i
- L
-
- +
- x
- i
- (
- α
- i
- ·
- (
- d
- i
- B
- i
-
- log
- 2
- (
- 1
- +
- p
- i
-
- g
- i
- N
- 0
-
- B
- i
- )
- +
- c
- i
- κ
- i
- γ
- i
-
- f
- γ
- i
- S
- )
- +
- (
- 1
- -
- α
- i
- )
- ·
- p
- i
- ·
- d
- i
- B
- i
-
- log
- 2
- (
- 1
- +
- p
- i
-
- g
- i
- N
- 0
-
- B
- i
- )
- +
- α
- i
- ·
- β
- i
- ·
- d
- i
- r
- w
- )
- ]
- where, constraints are Σi∈oyκiγi ≤1;
- pi≤pimax;
- xi∈{0,1}, i=1,2, . . . , m, βi∈{0,1}, i=1,2. . . m, γi∈{1,2, . . . , n}, Oyi represents a set of the computation tasks processed on the edge server γi, wherein optimization variables κiγi , Pi are continuous variables, xi, βi and γi are integer variables, thereby constructing the mixed integer non-linear programming problem;
- Step 3:
- decomposing the non-linear programming problem in the step 2 into a communication power optimization problem and a computing resource allocation problem, obtaining optimal communication power at an extreme value point or a boundary of a domain of definition of the communication power optimization problem, using a method of Lagrange multipliers and a system of simultaneous equations of Karush-Kuhn-Tucker (KKT) conditions to derive an optimal computing resource allocation strategy for computing resource allocation, substituting the optimal communication power and the optimal computing resource allocation strategy into the objective function to obtain an offloading location decision problem model;
- wherein, the step of decomposing the non-linear programming problem into the communication power optimization problem and the computing resource allocation problem comprises:
- substituting a given set feasible solutions into the objective function, assuming there are l devices choosing to offload the computation tasks to edge servers for processing, in which there are p devices to offload the computation tasks to the second edge server for processing and the remaining devices choose the first edge server, then in the objective function, there remain only the continuous variables κi and pi thereby the objective function is expressed as:
- f
-
- (
- κ
- ,
- p
- )
- =
- ∑
- i
- =
- 1
- I
- [
- α
- i
- ·
- (
- d
- i
- B
- i
-
- log
- 2
- (
- 1
- +
- p
- i
-
- g
- i
- N
- 0
-
- B
- i
- )
- +
- c
- i
- κ
- i
- γ
- i
-
- f
- γ
- i
- S
- )
- +
- (
- 1
- -
- α
- i
- )
- ·
- p
- i
- ·
- d
- i
- B
- i
-
- log
- 2
- (
- 1
- +
- p
- i
-
- g
- i
- N
- 0
-
- B
- i
- )
- ]
- +
- ∑
- i
- =
- 1
- p
- α
- i
- ·
- d
- i
- r
- w
- +
- ∑
- i
- =
- M
- -
- i
- +
- 2
- M
- α
- i
- ·
- c
- i
- f
- i
- L
- wherein the communication power optimization problem is expressed as:
- g
-
- (
- p
- )
- =
- ∑
- i
- =
- 1
- I
- [
- α
- i
- ·
- d
- i
- B
- i
-
- log
- 2
- (
- 1
- +
- p
- i
-
- g
- i
- N
- 0
-
- B
- i
- )
- +
- (
- 1
- -
- α
- i
- )
- ·
- p
- i
- ·
- d
- i
- B
- i
-
- log
- 2
- (
- 1
- +
- p
- i
-
- g
- i
- N
- 0
-
- B
- i
- )
- ]
- with a corresponding constraint pi≤pimax;
- wherein the computing resource allocation problem is expressed as:
- λ
-
- (
- k
- )
- =
- ∑
- i
- =
- 1
- I
- α
- i
- ·
- c
- i
- κ
- i
- γ
- i
-
- f
- γ
- i
- S
- +
- ∑
- i
- =
- 1
- p
- α
- i
- ·
- d
- i
- r
- w
- +
- ∑
- i
- =
- M
- -
- i
- +
- 2
- M
- α
- i
- ·
- c
- i
- f
- i
- L
- with a corresponding constraint Σi∈qγiκiγi≤1;
- solving the communication power optimization problem to obtain an optimal comminication power pi solving the computing resource allocation problem to obtain an optimal computing resource allocation strategy κi substituting the optimal communication power pi and the optimal computing resource allocation strategy κi into the original objective function to obtain an offloading location decision problem expressed as:
- f
-
- (
- x
- ,
- γ
- ,
- β
- )
- =
- ∑
- i
- =
- 1
- M
- [
- (
- 1
- -
- x
- i
- )
-
- u
- i
- L
- +
- x
- i
- (
- α
- i
- ·
- (
- d
- i
- B
- i
-
- log
- 2
- (
- 1
- +
- p
- i
- *
-
- g
- i
- N
- 0
-
- B
- i
- )
- +
- c
- i
- κ
- i
- *
-
- f
- γ
- i
- S
- )
- +
- (
- 1
- -
- α
- i
- )
- ·
- p
- i
- *
- ·
- d
- i
- B
- i
-
- log
- 2
- (
- 1
- +
- p
- i
- *
-
- g
- i
- N
- 0
-
- B
- i
- )
- +
- α
- i
- ·
- β
- i
- ·
- d
- i
- r
- w
- )
- ]
- .
- step 4:
- based on the offloading location decision problem model obtained in the step 3, establishing a reinforcement learning model, using a deep reinforcement learning algorithm to train parameters of a depth neural network so as to maximize a cumulative reward of the reinforcement learning model from multi-step iteration, obtaining an optimal offloading location decision for the computation tasks, obtaining a joint optimization strategy comprising the optimal communication power, the optimal computing resource allocation strategy and the optimal offloading location decision, wherein the step 4 comprises;
- stp 4.1:
- defining a state, an action and a reward;
- wherein the state is a state of system which comprises total time consumption T and total energy consumption E of all the tasks, the action comprises a first decision variable vector [x1, x2, . . . xm], a second decision variable vector [β1, β2, . . . βm] and a third decision variable vetor [κ1, κ2, . . . κm];
- wherein the first decision variable vector is configured to determine whether the computation tasks need to be offloaded, the second decision variable vector is configured to determine whether the computation tasks are computed on the edge servers in the cluster domains where the devices are in, the third decision variable vector is configured to determine the edge servers where the computation tasks are on, an action space of the action is α=[xi, x2, . . . xm, β1, β2, . . . βm, γ1, γ2, . . . γm];
- when the system in a state s takes an action α to transition to a next state s′, an immediate reward is given as R(s,α), the reward of the system is defined as
- r
- =
- U
- local
- -
- U
- U
- local
- ,
- wherein Ulocal is total overhead when all the computation tasks are computed at the first offloading locations, U is total overhead required to complete all the computation tasks under a current decision;
- step 4.2:
- initializing a memory buffer area the memory buffer area configured to store at least one set of memory data, the memory data comprising a current state, a current action, a current reward and a subsequent state, and initializing a weight of a value function network to make network parameters of the objective function the same as network parameters of the value funciton;
- step 4.3:
- initializing a state of the value function network, computing total time consumption T and total energy consumption E of all the computation tasks, taking a result of the computation as a state S1 and inputting the state S1to the value function network to obtain corresponding outputs of the value function in response to different actions taken in the state S1;
- step 4.4:
- selecting a current action using a ∈-greedy strategy, after executing the current action, obtaining an immediate reward and proceeding to a next state St+1 , storing each set of the memory data in the memory buffer area,
- step 4.5:
- stochastically sampling a plurality of the memory data from the memory buffer area in case of the current state being a final state, configuring a temporal difference target as ri in case of the current state not being a final state, inputting each of the plurality of the memory data to the objective function network to compute the temporal difference target, the objective function giving a network output as
- r
- +
- γ
- max
- a
- ′
- Q
-
- (
- s
- ′
- ,
- a
- ′
- ;
- θ
- -
- )
- ;
- step 4.6:
- taking the network outputs of the value function as estimated values, taking the network outputs of the objective function as a labeled value, using an SGD (Stochastic Gradient Descent) algorithm to update the network parameters of the value function,
- wherein an expression of the SGD algorithm is
- ∇θ=∇Q(s, α;
- θ) Xα[r=γmaxQ(s′, α′;
- θ−)−Q(s, α;
- θ)]
- the network parameters of the value function are configured to be updated according to the forumula θ=θ+∇θ;
- step 4.7:
- repeating steps 4.4 to 4.6 until the network parameters of the value function are updated for a fixed number of times, valuing the objective function network with the network parameters of the value function in the current state, outputting an optimal state and an acton associated with the optimal state.
Dependencies are inferred from the claim text.