Simulation Environments in the Fog-Based IoT Systems

Simulations are valuable techniques for the development of the IoT-based systems and are considered as an alternative approach to design a working prototype of the model since they can describe the actual
characteristics of the testbeds where IoT devices are installed and configured. Moreover, simulations provide an opportunity for developers and researchers to conduct and repeat experiments at a lower cost and allow them to collect data that can be used to validate the results obtained by other evaluation techniques such as analytical modelling. A fog-based IoT simulation tool has to provide high accuracy for various heterogeneous scenarios and support complex network designs. In addition, it should provide scalability and extensibility as well as mobility based on realistic scenarios. Although there is a broad range of simulators for cloud computing such as iCloud [112], OMNeT++ [113], CloudSim [114], GreenCloud [115], and CloudAnalyst [116], there are only a few tools that can be utilized to simulate fog computing scenarios in the IoT era. In this section, we briefly discuss and compare the most common simulation tools used for simulating the fog-based IoT frameworks. A summary of the main characteristics and capabilities of these simulation tools is also presented in Table 4.

FogNetSim++: It is a simulation tool designed on top of OMNeT++ [113] to simulate a large fog network in the IoT era [117]. It enables researchers to consider fog scheduling algorithms and mobility models as well as
handover mechanisms in their simulation environment. The effectiveness of FogNetSim++ can be evaluated in terms of memory usage and CPU using a traffic management system. Moreover, FogNetSim++ supports Packet
Error Rate (PER), latency, handover, and execution delay. However, it does not yet support Virtual Machine (VM) migration among fog nodes.

iFogSim: Another tool for simulation of fog computing infrastructures is iFogSim [118]. This simulation toolkit allows users to measure the performance of fog computing environments in terms of energy consumption, network usage, and latency. iFogSim is based on CloudSim [114] and enables simulation and modelling of fog computing infrastructures in order to evaluate scheduling and resource-management policies. Moreover, iFogSim integrates simulated services for resource management and power monitoring at application scheduling and placement layers to support multiple deployment scenarios such as cloud-only deployment and edge-ward placement [119]. In addition, it is possible to extend simulation models to support the design of data placement strategies based on certain goals such as reducing energy consumption and network congestion as well as minimizing the service latency [120]. However, iFogSim does not support mobility and its scalability is restricted since it is limited to discrete event simulation.

FogTorchII: FogTorchII [121] is an open-source simulator based on Java that supports application deployment in the fog. It is capable to model software capabilities such as programming languages and OS, and hardware capabilities including RAM, storage and CPU cores, as well as QoS metrics such as bandwidth and latency.
FogTorchII implements variations in communication links used as inputs, and then, the outputs contain results in terms of fog resource consumption and QoS assurance which can be obtained by evaluation of the storage
and consumed RAM. However, the main limitation of the FogTorchII is related to its scalability [121].

FogTorchII: FogTorchII [121] is an open-source simulator based on Java that supports application deployment in the fog. It is capable to model software capabilities such as programming languages and OS, and hardware capabilities including RAM, storage and CPU cores, as well as QoS metrics such as bandwidth and latency.
FogTorchII implements variations in communication links used as inputs, and then, the outputs contain results in terms of fog resource consumption and QoS assurance which can be obtained by evaluation of the storage
and consumed RAM. However, the main limitation of the FogTorchII is related to its scalability [121].

Fog bed: Fogbed [123] is an emulator designed on top of the network emulator Mininet [124]. It provides opportunities to design and evaluate cloud and fog testbeds. The Application Programming Interface (API) of
the Fogbed allows the users to add, connect and remove containers from the network topology in a dynamic way, which in turn enables the emulation of real-world fog infrastructures. However, Fogbed does not yet
support some of the important aspects of fog computing such as scalability, fault-tolerance, security, and reliability management.

Leave a Reply

Your email address will not be published. Required fields are marked *