| Literature DB >> 34307857 |
Olena Skarlat1, Stefan Schulte1.
Abstract
Recently, a multitude of conceptual architectures and theoretical foundations for fog computing have been proposed. Despite this, there is still a lack of concrete frameworks to setup real-world fog landscapes. In this work, we design and implement the fog computing framework FogFrame-a system able to manage and monitor edge and cloud resources in fog landscapes and to execute Internet of Things (IoT) applications. FogFrame provides communication and interaction as well as application management within a fog landscape, namely, decentralized service placement, deployment and execution. For service placement, we formalize a system model, define an objective function and constraints, and solve the problem implementing a greedy algorithm and a genetic algorithm. The framework is evaluated with regard to Quality of Service parameters of IoT applications and the utilization of fog resources using a real-world operational testbed. The evaluation shows that the service placement is adapted according to the demand and the available resources in the fog landscape. The greedy placement leads to the maximum utilization of edge devices keeping at the edge as many services as possible, while the placement based on the genetic algorithm keeps devices from overloads by balancing between the cloud and edge. When comparing edge and cloud deployment, the service deployment time at the edge takes 14% of the deployment time in the cloud. If fog resources are utilized at maximum capacity, and a new application request arrives with the need of certain sensor equipment, service deployment becomes impossible, and the application needs to be delegated to other fog resources. The genetic algorithm allows to better accommodate new applications and keep the utilization of edge devices at about 50% CPU. During the experiments, the framework successfully reacts to runtime events: (i) services are recovered when devices disappear from the fog landscape; (ii) cloud resources and highly utilized devices are released by migrating services to new devices; (iii) and in case of overloads, services are migrated in order to release resources.Entities:
Keywords: Fog computing; Internet of Things; Resource provisioning; Service placement
Year: 2021 PMID: 34307857 PMCID: PMC8279146 DOI: 10.7717/peerj-cs.588
Source DB: PubMed Journal: PeerJ Comput Sci ISSN: 2376-5992
Figure 1An overview of a fog landscape.
Figure 2Instantiating fog cells and fog nodes in a fog landscape.
Figure 3An example of a distributed data flow in a fog landscape.
Figure 4Application request processing on different fog resources (A–C).
Figure 5Fog controller architecture.
Figure 6Fog cell architecture.
Figure 7Fog node architecture.
Notation of the fog resources and applications.
| Notation | Definition |
|---|---|
| Current placement time | |
| Time difference of previous placement | |
| Cloud | |
| Head fog node | |
| Closest neighbor to | |
| Fog cells connected to F | |
| Resource capacities of fog devices | |
| CPU capacity of | |
| RAM capacity of | |
| Storage capacity of | |
| Container capacity of | |
| Fog cell | |
| CPU capacity of | |
| RAM capacity of | |
| Storage capacity of | |
| Container capacity of | |
| Latency between | |
| Latency between | |
| Latency between | |
| Set of applications to be executed | |
| Application | |
| Deadline of | |
| Deployment time of | |
| Already passed deployment time of | |
| Deployment time in the neighbor colony | |
| Makespan duration of | |
| Response time of | |
| | | Number of services in |
| Service in an application | |
| CPU demand of service | |
| RAM demand of service | |
| Storage demand of service | |
| Makespan duration of service | |
| Fog cells able to host service |
Figure 8Example of a response time calculation.
Greedy Algorithm.
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
| 11 |
| 12 assignments.add( |
| 13 sortedRequests.remove( |
| 14 |
| 15 |
| 16 |
| 17 |
| 18 |
| 19 |
| 20 sortedFogDevices.reStart(); |
| 21 |
| 22 |
| 23 |
| 24 |
Figure 9Chromosome representation.
Figure 10Experimental setup.
Figure 11Deployment in the cloud.
Figure 12Components of fog devices.
Figure 13Results of experiments with different placement algorithms and arrival patterns.
Assessment of deployment time (in seconds).
| max | min | |||
|---|---|---|---|---|
| Total (edge) | 41.78 | 27.22 | 29.76 | 4.08 |
| Per service (edge) | 2.78 | 1.81 | 1.98 | 0.27 |
| Total (cloud) | 251.03 | 180.75 | 209.42 | 20.41 |
| Per service (cloud) | 16.74 | 12.05 | 13.96 | 1.36 |
| VM startup | 72 | 40 | 48 | 12 |
| Image pull (start) | 33 | 32 | 32 | 0.01 |
| Total | 278.94 | 210.42 | 239.18 | 18.77 |
Experiment results overview.
| Metrics | Algorithm | Constant | Pyramid | Random |
|---|---|---|---|---|
| Deployment time per scenario (sec) | Greedy | 694.10 | 643.50 | 663.67 |
| ( | ( | ( | ||
| Genetic | 684.00 | 644.88 | 654.90 | |
| ( | ( | ( | ||
| Service deployment time (sec) | Greedy | 3.67 | 2.18 | 2.90 |
| ( | ( | ( | ||
| Genetic | 2.08 | 2.12 | 2.00 | |
| ( | ( | ( | ||
| Service deployment time in the neighbor fog colony (sec) | Greedy | 2.52 | 2.50 | 2.98 |
| ( | ( | ( | ||
| Genetic | 2.12 | 2.23 | 2.38 | |
| ( | ( | ( | ||
| Service deployment time, cloud (sec) | Genetic | 3.25 | 3.97 | 3.19 |
| ( | ( | ( | ||
| Number of services delegated | Greedy | 18 ( | 24 ( | 16 ( |
| Genetic | 24 ( | 22 ( | 13 ( |
Figure 14Computational time of producing a service placement plan by the genetic algorithm.
Figure 15Deployment and migration of services to different resources due to the runtime events.
Overview of implementations of fog architectures.
| Work | Implemented | VMs | Containers | Centralized reasoning | Distributed reasoning | Intra-fog communication | Inter-fog communication |
|---|---|---|---|---|---|---|---|
| FogFrame |