1
Segundo Moreno, Antonio Mora, Javier Carmona-Murillo, Pablo Padilla, Pedro Castillo
Universidad de Granada, Universidad de Extremadura
International Conference on Internet of Things:
Systems, Management and Security (IOTSMS 2019)
--| The International Workshop on Efficient and Smart 5G Technologies for IoT (ES5TI) |--
( Granada, October 22-25, 2019 )
2
Hardware to software functions
virtualization
SDN (Software Defined Networks)
NFV (Network Function Virtualization)
 VNF (Virtual Network Functions)
SFC (Service Function Chaining)
 Composition of an ordered list of virtual
network functions (VNF) to execute advanced
services.
 Optimization of network resources.
Optimization of Routing with SFC (OR-SFC)
 Build the shortest path the data should follow between the adjacent VNFs to compose a
requested network service from an origin to a destination.
Source: Estimating VNF resource requirements using machine learning techniques
(Jmila, Houda,Khedher; Mohamed Ibn; El Yacoubi, Mounim A.)
OR-SFC is an optimization NP-Hard problem.
Existing solutions:
Exact solutions: Mainly models based on lineal programming implementations.
Heuristic: Set of rules to follow. They obtain results close to the optimal.
Proposal made in this paper:
 Ant Colony Optimization based solution for OR-SFC (Optimization of Routing
cost for Service Function Chaining)
 First existing proposal to date for the resolution of this problem with this
method (even the first proposal applying effectively a metaheuristic). 3
 Inspired in the behaviour of natural ants
when searching for food.
 They cooperate to get the fastest paths
between the nest and the source of food.
STIGMERGY:
 They use a chemical substance named
pheromone to define trails.
 Ants tend to follow high concentrations.
 Pheromone is evaporated over time. 4Source: WIKIPEDIA CC BY-SA 3.0
5
ARTIFICIAL ANT:
 There are a set of agents called ants.
 All of them move in a weighted graph following
and depositing (artificial) pheromone.
 Pheromone and Heuristic information.
 They cooperate to find a solution (every ant
yields a complete solution).
 Formulae applied in the run:
 state transition rule (STR)  decides the next step for
each ant.
 pheromone updating  contribution and evaporation.
 evaluation function  assigns the cost to every
solution.
6
OUR ANT SYSTEM:
 Considers a STR:
 Pheromone update is done once all the ants have built their solutions:
 Evaporation performed on all the edges/links.
 Contribution is performed only for the edges/links of the best solution.
if
otherwise
7
 Connection: starting node, finish node, demanded capacity, function chain.
 Links: limited bandwidth value (capacity).
 Nodes: offer one or more virtual network functions, each one with required
resources. Node has limited available resources.
8
RESTRICTIONS
Source and destination nodes must be
those indicated in the connection (service
request).
Network functions must be served in the
indicated order.
Links must have enough remaining
capacity.
Nodes must have available resources to
run the desired network function.
9
ALGORITHM ADAPTATION
 Network initialization
 Reachable nodes
 Heuristic (higher available
resources)
 Probability roulette
 Restrictions (bandwidth and
resources)
 Update (link and nodes)
Constraints (complete path)
 Pheromone update (evaporation in
all and contribution only in best)
 Cost of a connection (hops)
 Global cost (set of connections)
10
Ant-SFC ( )
Parameters initialization()
Read network configuration()
Read connections()
/* A solution for each connection is
searched */
for each connection c do
while termination criteria is not
met do
for each ant h do
s[h]=Build Solution(c,h)
end for
/* In all graph links */
Pheromone Evaporation()
/* Used links by the best ant
*/
s*=Choose Best Solution(s[h])
Global Pheromone Update(s*)
end while
/* Links bandwidth and resources of
nodes are updated*/
Network Update(c,s*)
end for
Build Solution (connection, ant id)
Ant initialization(ant id)
Network initialization() /* Set current network values */
current node = initial node.connec
current function = functions.connec[start]
L = save(current node) /* Visited states list */
F = save(current function) /* Served functions list */
while (current node ≠ connec(final node)) AND (current
function ≠ function.connec[end]) do
/* A: feasible nodes list, P: probability of moving to
each feasible node, : problem restrictions */
P = calculate transition probabilities(current node, A,
F, L, )
next node = probability roulette(P, )
/* Links bandwidth are updated */
Link Update(next node)
L = save(next node)
current node = next node
/* If the function is available it is served, and node
resources are updated */
if current function in current.functions node[] then
Update Node(current function)
F = save(current function)
current function = following.connec(functions[])
end if
end while
11
SETUP
There will be 10 executions of each instance
 Parameters considered in the configuration:
Parameter Considered value
α (pheromone weight) 1.2
β (heuristic weight) 2
ρ (evaporation rate) 0.3
Number of Ants Double of numer of nodes (12and 38)
Number of iterations Equal to number of nodes (6 and 19)
12
INSTANCE 1 – 6 NODES
Connection 1: (A, F, 2, [3,5,6])
Connection 2: (A, E, 8, [1,2,4])
Connection 3: (A, D, 5, [2,4,5])
13
INSTANCE 1 – 6 NODES
Average execution time: 138 ms
14
INSTANCE 1 – 6 NODES
Best solution
Connection 1: (A, F, 2, [3,5,6])
Connection 2: (A, E, 8, [1,2,4])
Connection 3: (A, D, 5, [2,4,5])
15
INSTANCE 2 – 19 NODES
Connection 1: (A, F, 2, [3,5,6])
Connection 2: (A, E, 8, [1,2,4])
Connection 3: (A, D, 5, [2,4,5])
16
INSTANCE 2 – 19 NODES
Connection 1: (H, J, 8, [5,1,2]) Connection 4: (R, J, 3, [5,2,3])
Connection 2: (B, D, 8, [4,3,1]) Connection 5: (J, S, 8, [4,1,3])
Connection 3: (Q, B, 1, [2,3,1])
17
INSTANCE 2 – 19 NODES
Average Execution time: 389 ms
Connection 1: (H, J, 8, [5,1,2])
Connection 2: (B, D, 8, [4,3,1])
Connection 3: (Q, B, 1, [2,3,1])
Connection 4: (R, J, 3, [5,2,3])
Connection 5: (J, S, 8, [4,1,3])
18
ACO implementation for the resolution of the Routing problem for SFC
(Service Function Chaining).
Tests performed in realistic scenarios equivalent to 5G network
deployments.
Real-time execution (ACO allows valid solutions to be obtained from
the first iteration).
FUTURE WORK
Adaptation of the algorithm to strong time constraints.
Applying heuristic to guide the search (to nodes that serve network functions).
Local Search Application.
Implementation of other ACO models.
19
Creators.com
CONTACTO:
@amoragar
@Segundo_96
amorag@ugr.es
segundomoto@correo.ugr.es

Applying Ant Colony Optimization for Service Function Chaining in a 5G Network (IEEE IOTSMS 2019)

  • 1.
    1 Segundo Moreno, AntonioMora, Javier Carmona-Murillo, Pablo Padilla, Pedro Castillo Universidad de Granada, Universidad de Extremadura International Conference on Internet of Things: Systems, Management and Security (IOTSMS 2019) --| The International Workshop on Efficient and Smart 5G Technologies for IoT (ES5TI) |-- ( Granada, October 22-25, 2019 )
  • 2.
    2 Hardware to softwarefunctions virtualization SDN (Software Defined Networks) NFV (Network Function Virtualization)  VNF (Virtual Network Functions) SFC (Service Function Chaining)  Composition of an ordered list of virtual network functions (VNF) to execute advanced services.  Optimization of network resources. Optimization of Routing with SFC (OR-SFC)  Build the shortest path the data should follow between the adjacent VNFs to compose a requested network service from an origin to a destination. Source: Estimating VNF resource requirements using machine learning techniques (Jmila, Houda,Khedher; Mohamed Ibn; El Yacoubi, Mounim A.)
  • 3.
    OR-SFC is anoptimization NP-Hard problem. Existing solutions: Exact solutions: Mainly models based on lineal programming implementations. Heuristic: Set of rules to follow. They obtain results close to the optimal. Proposal made in this paper:  Ant Colony Optimization based solution for OR-SFC (Optimization of Routing cost for Service Function Chaining)  First existing proposal to date for the resolution of this problem with this method (even the first proposal applying effectively a metaheuristic). 3
  • 4.
     Inspired inthe behaviour of natural ants when searching for food.  They cooperate to get the fastest paths between the nest and the source of food. STIGMERGY:  They use a chemical substance named pheromone to define trails.  Ants tend to follow high concentrations.  Pheromone is evaporated over time. 4Source: WIKIPEDIA CC BY-SA 3.0
  • 5.
    5 ARTIFICIAL ANT:  Thereare a set of agents called ants.  All of them move in a weighted graph following and depositing (artificial) pheromone.  Pheromone and Heuristic information.  They cooperate to find a solution (every ant yields a complete solution).  Formulae applied in the run:  state transition rule (STR)  decides the next step for each ant.  pheromone updating  contribution and evaporation.  evaluation function  assigns the cost to every solution.
  • 6.
    6 OUR ANT SYSTEM: Considers a STR:  Pheromone update is done once all the ants have built their solutions:  Evaporation performed on all the edges/links.  Contribution is performed only for the edges/links of the best solution. if otherwise
  • 7.
    7  Connection: startingnode, finish node, demanded capacity, function chain.  Links: limited bandwidth value (capacity).  Nodes: offer one or more virtual network functions, each one with required resources. Node has limited available resources.
  • 8.
    8 RESTRICTIONS Source and destinationnodes must be those indicated in the connection (service request). Network functions must be served in the indicated order. Links must have enough remaining capacity. Nodes must have available resources to run the desired network function.
  • 9.
    9 ALGORITHM ADAPTATION  Networkinitialization  Reachable nodes  Heuristic (higher available resources)  Probability roulette  Restrictions (bandwidth and resources)  Update (link and nodes) Constraints (complete path)  Pheromone update (evaporation in all and contribution only in best)  Cost of a connection (hops)  Global cost (set of connections)
  • 10.
    10 Ant-SFC ( ) Parametersinitialization() Read network configuration() Read connections() /* A solution for each connection is searched */ for each connection c do while termination criteria is not met do for each ant h do s[h]=Build Solution(c,h) end for /* In all graph links */ Pheromone Evaporation() /* Used links by the best ant */ s*=Choose Best Solution(s[h]) Global Pheromone Update(s*) end while /* Links bandwidth and resources of nodes are updated*/ Network Update(c,s*) end for Build Solution (connection, ant id) Ant initialization(ant id) Network initialization() /* Set current network values */ current node = initial node.connec current function = functions.connec[start] L = save(current node) /* Visited states list */ F = save(current function) /* Served functions list */ while (current node ≠ connec(final node)) AND (current function ≠ function.connec[end]) do /* A: feasible nodes list, P: probability of moving to each feasible node, : problem restrictions */ P = calculate transition probabilities(current node, A, F, L, ) next node = probability roulette(P, ) /* Links bandwidth are updated */ Link Update(next node) L = save(next node) current node = next node /* If the function is available it is served, and node resources are updated */ if current function in current.functions node[] then Update Node(current function) F = save(current function) current function = following.connec(functions[]) end if end while
  • 11.
    11 SETUP There will be10 executions of each instance  Parameters considered in the configuration: Parameter Considered value α (pheromone weight) 1.2 β (heuristic weight) 2 ρ (evaporation rate) 0.3 Number of Ants Double of numer of nodes (12and 38) Number of iterations Equal to number of nodes (6 and 19)
  • 12.
    12 INSTANCE 1 –6 NODES Connection 1: (A, F, 2, [3,5,6]) Connection 2: (A, E, 8, [1,2,4]) Connection 3: (A, D, 5, [2,4,5])
  • 13.
    13 INSTANCE 1 –6 NODES Average execution time: 138 ms
  • 14.
    14 INSTANCE 1 –6 NODES Best solution Connection 1: (A, F, 2, [3,5,6]) Connection 2: (A, E, 8, [1,2,4]) Connection 3: (A, D, 5, [2,4,5])
  • 15.
    15 INSTANCE 2 –19 NODES Connection 1: (A, F, 2, [3,5,6]) Connection 2: (A, E, 8, [1,2,4]) Connection 3: (A, D, 5, [2,4,5])
  • 16.
    16 INSTANCE 2 –19 NODES Connection 1: (H, J, 8, [5,1,2]) Connection 4: (R, J, 3, [5,2,3]) Connection 2: (B, D, 8, [4,3,1]) Connection 5: (J, S, 8, [4,1,3]) Connection 3: (Q, B, 1, [2,3,1])
  • 17.
    17 INSTANCE 2 –19 NODES Average Execution time: 389 ms Connection 1: (H, J, 8, [5,1,2]) Connection 2: (B, D, 8, [4,3,1]) Connection 3: (Q, B, 1, [2,3,1]) Connection 4: (R, J, 3, [5,2,3]) Connection 5: (J, S, 8, [4,1,3])
  • 18.
    18 ACO implementation forthe resolution of the Routing problem for SFC (Service Function Chaining). Tests performed in realistic scenarios equivalent to 5G network deployments. Real-time execution (ACO allows valid solutions to be obtained from the first iteration). FUTURE WORK Adaptation of the algorithm to strong time constraints. Applying heuristic to guide the search (to nodes that serve network functions). Local Search Application. Implementation of other ACO models.
  • 19.