1 Introduction
2 Motivational scenario
3 Conceptual fog computing framework
3.1 Cloud-fog control middleware
3.2 Fog cells
3.3 Fog orchestration control nodes
4 Service placement in the fog
4.1 System model
Notation | Definition | |
---|---|---|
Time |
t
| Current time |
\(\tau \)
| Interval between two rounds of the FSPP (in s) | |
Fog Landscape |
R
| Cloud |
F
| Fog orchestration control node of the fog colony | |
N
| Closest neighbor fog orchestration control node | |
Res(F) | Fog cells in the fog colony | |
\(U^F\)
| CPU capacity of F
| |
\(M^F\)
| RAM capacity of F
| |
\(S^F\)
| Storage capacity of F
| |
\(f^j\)
| Fog cell in a fog colony | |
\(U^{f^j}\)
| CPU capacity of \(f^j\)
| |
\(M^{f^j}\)
| RAM capacity of \(f^j\)
| |
\(S^{f^j}\)
| Storage capacity of \(f^j\)
| |
\(d^{f^j}\)
| Link delay between F and \(f^j\)
| |
\(d^R\)
| Link delay between F and R
| |
\(d^N\)
| Link delay between F and N
| |
Applications |
A
| Set of applications to be executed |
\(A_k\)
| Application | |
\(D_{A_k}\)
| Application deadline | |
\(w_{A_k}\)
| Deployment time of an application | |
\(m_{A_k}\)
| Makespan of an application | |
\(r_{A_k}\)
| Response time of an application | |
\(a_i\)
| Service in an application | |
\(U_{a_i}\)
| CPU demand of a service | |
\(M_{a_i}\)
| RAM demand of a service | |
\(S_{a_i}\)
| Storage demand of a service | |
\(m_{a_i}\)
| Makespan of a service | |
\(Res^{a_i}(F)\)
| All fog cells able to host a service \(a_i\)
|
4.1.1 Fog landscape
4.1.2 IoT applications and services
4.2 Optimization problem
4.3 Genetic algorithm
5 Evaluation
5.1 Evaluation environment
5.2 Evaluation scenarios
5.3 Experimental setup
Service |
\(U_{a_i}\) (MIPS) |
\(M_{a_i}\) (MB) |
\(S_{a_i}\) (MB) |
\(m_{a_i}\) (s) |
---|---|---|---|---|
Sense | 50 | 30 | 10 | 0.90 |
Process1 | 200 | 10 | 30 | 0.10 |
Process2 | 200 | 20 | 30 | 0.10 |
Process3 | 100 | 30 | 30 | 0.25 |
Actuate | 50 | 20 | 10 | 0.50 |
Application |
\(D_{A_k}\) (s) |
\(w_{A_k}\) (s) |
---|---|---|
A\(_1\)
| 120 | 60 |
A\(_2\)
| 300 | 0 |
A\(_3\)
| 300 | 60 |
A\(_4\)
| 360 | 60 |
A\(_5\)
| 240 | 0 |
5.4 Evaluation metrics
Scenario |
\(r_{A_k}\) (s) |
\(D_{A_k}-r_{A_k}\) (s) | Placement (%) | Cost | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
\(A_1\)
|
\(A_2\)
|
\(A_3\)
|
\(A_4\)
|
\(A_5\)
|
\(A_1\)
|
\(A_2\)
|
\(A_3\)
|
\(A_4\)
|
\(A_5\)
|
\(f_j\)
|
F
|
N
|
R
| ($) | |
Optimization | 62.43 | 262.6 | 64.66 | 322.9 | 4.89 | 57.56 | 37.34 | 235.3 | 37.1 | 235.1 | 40 | 24 | 24 | 12 | 0.09 |
First fit | 61.42 | 262.6 | 322.8 | 322.8 | 264.4 | 58.57 | 37.34 | -22.87 | 37.11 | -24.43 | 40 | 16 | 44 | 0 | 0.00 |
Cloud | 60.00 | 0.001 | 60.00 | 60.00 | 0.001 | 59.99 | 299.9 | 239.9 | 299.9 | 239.9 | 0 | 0 | 0 | 100 | 4.81 |
Metrics |
\(A_1\)
|
\(A_2\)
|
\(A_3\)
|
\(A_4\)
|
\(A_5\)
| Average placement | Cost | |
---|---|---|---|---|---|---|---|---|
Resource | (% of all services) | ($) | ||||||
\(r_{A_k}\) (s) | 65.65 | 262.47 | 65.83 | 322.64 | 5.19 |
\(f_j\)
| 28.8 (\(\sigma \) = 3.92) | |
(\(\sigma \) = 1.48) | (\(\sigma \) = 0.27) | (\(\sigma \) = 1.38) | (\(\sigma \) = 0.25) | (\(\sigma \) = 0.29) |
F
| 11.2 (\(\sigma \) = 1.60) | 0.22 | |
\(D_{A_k}-r_{A_k}\) (s) | 54.34 | 37.52 | 234.16 | 37.35 | 234.80 |
N
| 24.0 (\(\sigma \) = 2.52) | (\(\sigma \) = 0.02) |
(\(\sigma \) = 1.48) | (\(\sigma \) = 0.27) | (\(\sigma \) = 1.38) | (\(\sigma \) = 0.25) | (\(\sigma \) = 0.29) |
R
| 36.0 (\(\sigma \) = 4.38) |