This section presents the v-FAP system model for the proposed OF-RAN and formulates the TNA problem as a tri-objective optimization problem.
3.1. System Modelling
Figure 2 shows an OF-RAN seed node that lies in the coverage of a fog-enabled RRH and is surrounded by resourceful user devices that it can recruit as service nodes to form a v-FAP (shaded in blue) for a resource-limited user or IoT client device with computation-intensive and delay-sensitive tasks to be performed. The communication links between the seed node and RRH can be wired or wireless, while only wireless links exist between the seed node and service nodes, between the seed node and client and between the client and RRH. As the RRH coordinates the transmission and reception between various nodes involved in the v-FAP formation, we consider the communication environment as an interference-limited environment.
As shown in
Figure 2, a client wishing to be served firstly sends a request (1) including its task requirements to its associated RRH. If the RRH is busy, it sends a notification (2) to a seed node located near the client to serve on its behalf, which is also received by the client. The client then sends its tasks to the seed node (3). Based on the received tasks and task requirements, the seed node decides if it can serve the client on its own or should enlist the resources of its neighboring user devices by recruiting them as service nodes to collectively serve in a v-FAP. In the latter case, the seed node determines an optimal way of assigning the client’s tasks to the service nodes so that the performance objectives are achieved. An optimal assignment defines the set of service nodes that constitute the v-FAP and the task(s) that each service node will perform. Based on the optimal assignment, the seed node sends the received tasks to the service nodes for processing (4), collates the processed tasks from the service nodes (5) and forwards them to the client (6).
We consider a seed node with resourceful user devices in its neighborhood that can be recruited as service nodes. We also consider a client with tasks to be performed externally. To reflect real-world scenarios, both the service nodes and tasks are assumed to be heterogeneous, each having different resource capacities and resource demands, respectively. Two resource types are considered: energy resource and time resource, which refer to the amount of energy available and time available, respectively, in a service node to serve the client.
The energy demand for each task depends not only on its size (in bytes) and complexity (in central processing unit (CPU) cycles), but also which service node the task has been assigned to and the energy required by the assigned service node to perform the task, i.e., the task’s energy demand can vary with different node assignment. A service node consumes energy for receiving, processing and transmitting a task. Thus, the total energy demand of a particular
task in the
service node, denoted as
, can be given by:
where
and
;
is the energy required by
node to receive
task from the seed node;
is the energy required by the
node to process the
task; and
is the energy required by the
node to transmit the processed
task to the seed node.
, and
can be further defined as:
where
(in joules per byte) is the energy required by the
node to receive one byte of task from the seed node;
(in joules per CPU cycle) is the energy required by the
node to process a period of one CPU cycle;
(in joules per byte) is the energy required by the
node to transmit one byte of processed task to the seed node;
and
represent the size of the
task received and processed
task transmitted, respectively (in bytes); and
is the processing complexity of the
task in CPU cycles.
Similarly, the time demand for each task consists of processing time and communication time. Thus, the total time demand of a particular
task in the
service node, denoted as
, can be given by:
where
is the time required by the
node to receive the
task from the seed node;
is the time required by the
node to process the
task; and
is the time required by the
node to transmit the processed
task to the seed node.
,
and
can be further defined as:
where
is the processing speed of the
node in CPU cycles per second;
and
represent the data rate of communication from the seed node to the
node and from the
node to the seed node, respectively, in bits per second, which can be given by the Shannon-Hartley capacity theorem using a known channel bandwidth and received signal-to-noise ratio [
18].
3.2. Problem Formulation
For a given
number of service tasks and
number of service nodes, denote
as the set of possible TNAs,
as the cardinality of set
(i.e.,
) and
as the
TNA of
where
.
Figure 3 shows an example of TNA, denoted by
, for
and
.
is given as an
binary matrix where a non-zero entry at an
column and
row indicates a certain
task is assigned to an
node. If
is an element of the TNA matrix, then constraints Equations (5) and (6) for an
task and
node, respectively, must be satisfied in defining each TNA.
The TNA is formulated as a tri-objective problem with the goals of minimizing energy consumption and service latency of the v-FAP while maximizing fairness (load balancing) amongst its service nodes by minimizing their maximum load. In this work, the load of a service node is expressed as a fraction of its resource capacity consumed for performing its assigned task(s). A service node with a high resource capacity can thus take on a high absolute load and vice-versa.
Each node is specified with and , representing the per unit cost of using its energy and time, respectively. can be made inversely proportional to the available energy capacity of the node, i.e., the higher its energy capacity, the lower the cost of using its energy. Similarly, can be made inversely proportional to the processing and communication speed of the node, i.e., the higher its processing and communication speed, the lower the cost of using its time.
For a particular client, the total energy cost
of using the
TNA from a set
of possible TNAs for assigning
tasks to
nodes in a v-FAP is given by:
where
is the sum of the energy demand by the set of task(s)
assigned to the
node,
is the set of total energy demands by each task in
, with
as defined in Equation (1), and
is the total available energy in the
node to serve its client.
Similarly, the total time cost
of using the
TNA from a set
of possible TNAs for assigning
tasks to
nodes in a v-FAP is given by:
where
is the sum of the time demand by the set of task(s)
assigned to the
node,
,...,is the set of total time demands by each task in
, with
as defined in (3), and
is the total available time of the
node to serve its client.
The maximum node usage cost
, i.e., the maximum cost of using a service node in the
TNA to serve a client, is given by:
where
and
are normalization factors for scaling the cost into the interval [0, 1]. For an
service node, the per unit costs of using its energy (
) and its time (
) are inversely proportional to its available energy and processing/communication speed, respectively.
also reflects the highest fractional use of a service node’s resources, i.e., the maximum load on a service node in the
TNA.
In order to select an optimal TNA that not only minimizes
and
but also maximizes fairness amongst the service nodes by minimizing their maximum load, our tri-objective optimization problem can be defined as: