Modeling and Simulation Tools for Fog Computing—A Comprehensive Survey from a Cost Perspective
Abstract
:1. Introduction
- We identify the major research aspects in the area and how modeling and simulation helps towards their solution.
- We provide an extensive overview of state-of-the-art fog computing simulation tools, pinpointing their distinct characteristics and the way they address several critical issues such as latency, energy consumption, and so forth.
- We underline the limitations of existing tools and highlight open issues and research trends
- We highlight various quantities that can be used as metrics or system parameters when considering the cost dimension
2. Basic Concepts
Fog Computing Architecture
- End devices layer: This ground layer represents the end devices such as sensors, actuators or things, mobile smartphones and tables, smart meters, aircrafts and smart vehicles, desktops PCs, laptop computers accompanied with applications [2,22,23]. End devices may be considered as human-operated resources [23] and they provide a range of computing capabilities. All these elements form a communication network, and their data are transmitted to the cloud through the fog layer.
- Fog layer: It is the layer above the end devices layer. According to Reference [2], any device which is able to process, store and connect to the network can be considered as a fog processing devices. In this sense, some devices can be considered as both IoT and fog devices, smartphones begin a characteristic example. The fog layer is a collection of processing devices, gateways, and networked devices (routers and switches) that are deployed between network edges and clouds. Fog resources are interconnected and used to deliver a number of services to users such as computing, storage and network services. Fog devices are shaping a distributed system that offers services for a certain set of end devices in a specific location and handle data which are transmitted by such devices [24].
- Cloud layer: Physical data center nodes are placed in the cloud layer. Each node has CPU(s), main memory and network bandwidth and is used to satisfy user requests for resources. Control strategies allow the management and scheduling of cloud resources according to their load demands [22]. Clouds are connected to Wide Area Networks (WANs) and provide economic benefits, elastic services, data-intensive analysis for end-users [13], quality of the offered services and high degree of fault tolerance [25]. However, clouds suffer from high latency and bounded capacity due to current WAN connections. Moreover, as cloud computing works in a centralized manner, it is incapable of supporting context-aware computing for IoT applications [13].
3. Modeling and Simulation Challenges
3.1. Fog Computing Infrastructure
3.1.1. Storage
3.1.2. Computation
3.1.3. Communication
- For communication between fog and mobile users
- For communication between cloud and fog
- For communication between fogs
3.2. Fog Computing Key Technologies
- Application placement
- Resource scheduling
- Task offloading
- Load balancing
- Resource allocation
- Resource provisioning
3.3. Fog Computing Applications
3.4. Cost Considerations
- Communication cost: this cost is proportional to the number and size of messages received.
- Processing cost: this cost is related to user requirements for local or virtual execution. In the first case, it depends on the total number of executed tasks. In the second case, it depends on the number of required virtual resources and their time usage (CPU hours).
- Cloud-network cost: this is included if there are interactions with clouds. It concerns cloud integration pricing and data roundtrip times.
- Migration cost: it is the cost for migrating tasks from a fog node to another and is proportional to the total execution time of migrated tasks. This cost is paid by the fog node who was in charge of executing the tasks before the migration.
- Storage cost: it is calculated as a function of the storage size, the storage duration and the encryption cost.
- Power cost: this accounts for the battery costs of all sensors that are utilized during an application execution.
- Software cost: it is calculated according to the per-month pricing policy for each used commercial software product.
- Sensors cost: this expresses the cost per sensor request, summed over all served requests.
- Operational cost: this sums up the fog device, the sensor and the network operational cost.
4. Modeling Fog Computing Systems
- Analytical models: An analytical model uses mathematical symbols and expressions in order to describe the system evolution. Such models exploit probability theory, algebraic methods and other mathematical tools and techniques to solve a defined problem, sometimes resulting in closed-form solutions. Commonly they have relatively few parameters so as to keep the problem tractable and this can reduce their accuracy. In most cases they lead to rather simplistic representations, not well suited for representing highly complex systems [54].Although not strictly analytical, numeric computer-based simulations can be considered in this category. Numeric simulation usually involve dividing a system into many small subsystems, model each subsystem using analytical models and test the overall system using computers. These models are relatively simple but can be useful for reproducing the behavior of complex systems.
- Petri Nets models: Petri Nets use a graphical representation of the system under study, in combination with a mathematical formalism to model, analyze, and verify system components and their activities/interactions, and have enjoyed wide applicability [57]. In [48] Petri Nets used for the decomposition of distributed edge systems into several components. Cheng et al. [58] utilize Petri Nets to discover the learning process in IoT edges. Merlino et al [32] adopt Petri Nets to model and evaluate mobile crowdsensing services. Ni et al [47] investigate the resource allocation problem in fog computing and propose a solution based on priced timed Petri Nets. The user autonomously chooses the part of resources that satisfy her needs, out of all the available preallocated resources. The scheme considers monetary and time costs.
- Markov Chains and other models: A Markov chain is a random process characterized by the memoryless property: future system states depend only on the present state and not on events that occurred in the past [45]. Markov chains allow identifying stimulating characteristics of complex systems, compacting potentially large mathematical models into a more concise representation, which can be quite helpful when studying the dynamics of these systems. There are a few works which adopt Markov chain models for fog computing systems. Haneefa et al. [59] model the fog architecture using Markov chains and they compare the performance of hierarchical and flat architecture variants in terms of computational power and completion time of a task. In Reference [39], Markov decision processes, an extension to Markov chains, were used to optimize the operational cost in the computation migration problem. Markov decision processes are also used in Reference [45] to optimize offloading in mobile fog computing, that is, the transfer of computational tasks from mobile devices to fog servers.Sarkar et al. [22] construct a theoretical model using a mathematical formulation to parametrize individual components of fog computing systems. The authors consider how to reduce the cost in terms of service latency and energy consumption.
5. Simulation Tools
5.1. Discussion
- Efficiency: An indicative measure for simulation efficiency is lacking; this could be the execution time, the CPU utilization, the memory consumption, and so forth, but there are only few and limited works witch study this issues. An experimental comparison [20] shows that iFogSim has some scalability issues and has higher memory demands than YAFS.
- Cost modeling: As mentioned previously the presence of a cost model is quite limited in simulators. The cost is a way to quantify how the various parameters affect the operation of a fog computing system and it can be an indispensable tool for operators, developers or users in this area.
- Network infrastructure/configuration: In most cases, network models are limited and not suited for experiments aimed at evaluating the network entities and network connections. specifically, they do not usually provide the possibility to define the physical topology, the link characteristics, or the capabilities of networked devices.
- Security consideration: Security and privacy protection are among the key technologies of fog computing systems [6]. A wide range of issues including identity management, resource access control, encryption, decryption, authentication and authorization and malicious attacks need to be dealt with. Simulation tools could be particularly helpful, but they currently lack such functionality. The only exception is FogBus which provides an authentication and encryption mechanism.
- Applications integration: A key question for researchers and developers is related to the needs and requirements of an application to be executed in a fog computing environment. As already mentioned, current tools lack the functionality to simulate most aspects of an application and its activities.
- Extendibility: Fog computing is a new paradigm and researchers strive to propose solutions (architectures, applications, models) that have to deal with heterogeneity, mobility, security, scalability, and other related issues. The ability to use a simulator that would allow them to easily integrate a new idea rather than build it from scratch would be very useful. Unfortunately, only a few of the existing simulators (namely FogNetSim++, iFogSim and YAFS) provide some hooks for such functionality.
- Documentation quality: In general, there do not exist sufficient documentation materials and detailed tutorials. Typically, there only exist some basic documents related to installation and running the simulator; even this information is missing in a good percentage of the available simulations tools. IFogSim maintains a social media presence with instructional videos, but it comes mainly from the user community, not from the creators themselves.
- Learning curve: There is not a clear indication about the learning curve of each tool. For example YAFS seems to have a smaller learning curve than iFogSim [20]. While the learning curve also depends on the documentation quality/quantity, a systematic comparison among all tools is lacking.
- Maintenance: Although the simulators have been developed relatively recently, some of them seem to be already inactive, as they have not been updated for a quite a few months.
6. Conclusions and Future Directions
Author Contributions
Funding
Conflicts of Interest
References
- Vaquero, L.M.; Rodero-Merino, L. Finding your way in the fog: Towards a comprehensive definition of fog computing. ACM SIGCOMM Comput. Commun. Rev. 2014, 44, 27–32. [Google Scholar] [CrossRef]
- Naha, R.K.; Garg, S.; Georgakopoulos, D.; Jayaraman, P.P.; Gao, L.; Xiang, Y.; Ranjan, R. Fog Computing: Survey of trends, architectures, requirements, and research directions. IEEE Access 2018, 6, 47980–48009. [Google Scholar] [CrossRef]
- OpenFog Consortium Architecture Working Group. OpenFog reference architecture for fog computing. OPFRA001 2017, 20817, 162. [Google Scholar]
- Yousefpour, A.; Fung, C.; Nguyen, T.; Kadiyala, K.; Jalali, F.; Niakanlahiji, A.; Kong, J.; Jue, J.P. All one needs to know about fog computing and related edge computing paradigms: A complete survey. J. Syst. Archit. 2019, 98, 289–330. [Google Scholar] [CrossRef]
- Puliafito, C.; Gonçalves, D.M.; Lopes, M.M.; Martins, L.L.; Madeira, E.; Mingozzi, E.; Rana, O.; Bittencourt, L.F. MobFogSim: Simulation of mobility and migration for fog computing. Simul. Model. Pract. Theory 2020, 101, 102062. [Google Scholar] [CrossRef]
- Hu, P.; Dhelim, S.; Ning, H.; Qiu, T. Survey on fog computing: architecture, key technologies, applications and open issues. J. Netw. Comput. Appl. 2017, 98, 27–42. [Google Scholar] [CrossRef]
- Syed, M.H.; Fernandez, E.B.; Ilyas, M. A pattern for fog computing. In Proceedings of the 10th Travelling Conference on Pattern Languages of Programs, Leerdam, The Netherlands, 7–10 April 2016; pp. 1–10. [Google Scholar]
- Svorobej, S.; Takako Endo, P.; Bendechache, M.; Filelis-Papadopoulos, C.; Giannoutakis, K.M.; Gravvanis, G.A.; Tzovaras, D.; Byrne, J.; Lynn, T. Simulating Fog and Edge Computing Scenarios: An Overview and Research Challenges. Future Internet 2019, 11, 55. [Google Scholar] [CrossRef] [Green Version]
- Banks, J. Discrete Event System Simulation; Pearson Education: Delhi, India, 2005. [Google Scholar]
- Puliafito, C.; Mingozzi, E.; Longo, F.; Puliafito, A.; Rana, O. Fog computing for the internet of things: A Survey. ACM Trans. Internet Technol. 2019, 19, 1–41. [Google Scholar] [CrossRef]
- Mahmud, R.; Kotagiri, R.; Buyya, R. Fog Computing: A Taxonomy, Survey and Future Directions. In Internet of Everything: Algorithms, Methodologies, Technologies and Perspectives; Di Martino, B., Li, K.C., Yang, L.T., Esposito, A., Eds.; Springer: Singapore, 2018; pp. 103–130. [Google Scholar]
- Mouradian, C.; Naboulsi, D.; Yangui, S.; Glitho, R.H.; Morrow, M.J.; Polakos, P.A. A comprehensive survey on fog computing: State-of-the-art and research challenges. IEEE Commun. Surv. Tutor. 2017, 20, 416–464. [Google Scholar] [CrossRef] [Green Version]
- Ren, J.; Zhang, D.; He, S.; Zhang, Y.; Li, T. A Survey on End-Edge-Cloud Orchestrated Network Computing Paradigms: Transparent Computing, Mobile Edge Computing, Fog Computing, and Cloudlet. ACM Comput. Surv. 2019, 52, 1–36. [Google Scholar] [CrossRef] [Green Version]
- Mao, Y.; You, C.; Zhang, J.; Huang, K.; Letaief, K.B. A survey on mobile edge computing: The communication perspective. IEEE Commun. Surv. Tutor. 2017, 19, 2322–2358. [Google Scholar] [CrossRef] [Green Version]
- Ait Salaht, F.; Desprez, F.; Lebre, A. An Overview of Service Placement Problem in Fog and Edge Computing; Research Report RR-9295; Univ Lyon, EnsL, UCBL, CNRS, Inria, LIP: Lyon, France, 2019. [Google Scholar]
- Ghobaei-Arani, M.; Souri, A.; Rahmanian, A.A. Resource management approaches in fog computing: A comprehensive review. J. Grid Comput. 2019, 18, 1–42. [Google Scholar] [CrossRef]
- Javadzadeh, G.; Rahmani, A.M. Fog computing applications in smart cities: A systematic survey. Wirel. Netw. 2020, 26, 1433–1457. [Google Scholar] [CrossRef]
- Markus, A.; Kertesz, A. A survey and taxonomy of simulation environments modelling fog computing. Simul. Model. Pract. Theory 2020, 101, 102042. [Google Scholar] [CrossRef]
- Ashouri, M.; Lorig, F.; Davidsson, P.; Spalazzese, R. Edge Computing Simulators for IoT System Design: An Analysis of Qualities and Metrics. Future Internet 2019, 11, 235. [Google Scholar] [CrossRef] [Green Version]
- Abreu, D.P.; Velasquez, K.; Curado, M.; Monteiro, E. A comparative analysis of simulators for the Cloud to Fog continuum. Simul. Model. Pract. Theory 2019, 101, 102029. [Google Scholar] [CrossRef]
- Satyanarayanan, M.; Bahl, P.; Caceres, R.; Davies, N. The case for vm-based cloudlets in mobile computing. IEEE Pervasive Comput. 2009, 8, 14–23. [Google Scholar] [CrossRef]
- Sarkar, S.; Misra, S. Theoretical modelling of fog computing: A green computing paradigm to support IoT applications. IET Netw. 2016, 5, 23–29. [Google Scholar] [CrossRef] [Green Version]
- Mohan, N.; Kangasharju, J. Edge-Fog cloud: A distributed cloud for Internet of Things computations. In Proceedings of the 2016 Cloudification of the Internet of Things (CIoT), Paris, France, 23–25 November 2016; pp. 1–6. [Google Scholar]
- Muthanna, A.; A Ateya, A.; Khakimov, A.; Gudkova, I.; Abuarqoub, A.; Samouylov, K.; Koucheryavy, A. Secure and reliable IoT networks using fog computing with software-defined networking and blockchain. J. Sens. Actuator Netw. 2019, 8, 15. [Google Scholar] [CrossRef] [Green Version]
- Baccarelli, E.; Naranjo, P.G.V.; Scarpiniti, M.; Shojafar, M.; Abawajy, J.H. Fog of everything: Energy-efficient networked computing architectures, research challenges, and a case study. IEEE Access 2017, 5, 9882–9910. [Google Scholar] [CrossRef]
- Ai, Y.; Peng, M.; Zhang, K. Edge computing technologies for Internet of Things: A primer. Digit. Commun. Netw. 2018, 4, 77–86. [Google Scholar] [CrossRef]
- Sharma, P.K.; Chen, M.Y.; Park, J.H. A software defined fog node based distributed blockchain cloud architecture for IoT. IEEE Access 2017, 6, 115–124. [Google Scholar] [CrossRef]
- Faruque, M.A.A.; Vatanparvar, K. Energy Management-as-a-Service Over Fog Computing Platform. IEEE Internet Things J. 2016, 3, 161–169. [Google Scholar] [CrossRef]
- Kertész, A.; Pflanzner, T.; Gyimóthy, T. A mobile IoT device simulator for IoT-Fog-Cloud systems. J. Grid Comput. 2019, 17, 529–551. [Google Scholar] [CrossRef]
- Luan, T.H.; Gao, L.; Li, Z.; Xiang, Y.; Wei, G.; Sun, L. Fog computing: Focusing on mobile users at the edge. arXiv 2015, arXiv:1502.01815. [Google Scholar]
- Iorga, M.; Feldman, L.; Barton, R.; Martin, M.J.; Goren, N.S.; Mahmoudi, C. Fog computing conceptual model. In Technical Report NIST Special Publication 500-325; National Institue of Standards and Technology: North Charleston, MD, USA, 2018. [Google Scholar]
- Merlino, G.; Arkoulis, S.; Distefano, S.; Papagianni, C.; Puliafito, A.; Papavassiliou, S. Mobile crowdsensing as a service: A platform for applications on top of sensing clouds. Future Gener. Comput. Syst. 2016, 56, 623–639. [Google Scholar] [CrossRef]
- Battula, S.K.; Garg, S.; Naha, R.K.; Thulasiraman, P.; Thulasiram, R. A micro-level compensation-based cost model for resource allocation in a fog environment. Sensors 2019, 19, 2954. [Google Scholar] [CrossRef] [Green Version]
- Lopes, M.M.; Higashino, W.A.; Capretz, M.A.; Bittencourt, L.F. Myifogsim: A simulator for virtual machine migration in fog computing. In Proceedings of the 10th International Conference on Utility and Cloud Computing, Austin, TX, USA, 5–8 December 2017; pp. 47–52. [Google Scholar]
- Gupta, H.; Vahid Dastjerdi, A.; Ghosh, S.K.; Buyya, R. iFogSim: A toolkit for modeling and simulation of resource management techniques in the Internet of Things, Edge and Fog computing environments. Softw. Pract. Exp. 2017, 47, 1275–1296. [Google Scholar] [CrossRef] [Green Version]
- Renna, F.; Doyle, J.; Giotsas, V.; Andreopoulos, Y. Query processing for the internet-of-things: Coupling of device energy consumption and cloud infrastructure billing. In Proceedings of the 2016 IEEE First International Conference on Internet-of-Things Design and Implementation (IoTDI), Berlin, Germany, 4–8 April 2016; pp. 83–94. [Google Scholar]
- Tadakamalla, U.; Menascé, D. FogQN: An analytic model for fog/cloud computing. In Proceedings of the 2018 IEEE/ACM International Conference on Utility and Cloud Computing Companion (UCC Companion), Zurich, Switzerland, 17–20 December 2018; pp. 307–313. [Google Scholar]
- Brogi, A.; Forti, S.; Ibrahim, A. Deploying fog applications: How much does it cost, by the way? In Proceedings of the 8th International Conference on Cloud Computing and Services Science—Volume 1: CLOSER; INSTICC, SciTePress: Funchal, Portugal, 2018; pp. 68–77. [Google Scholar]
- Urgaonkar, R.; Wang, S.; He, T.; Zafer, M.; Chan, K.; Leung, K.K. Dynamic service migration and workload scheduling in edge-clouds. Perform. Eval. 2015, 91, 205–228. [Google Scholar] [CrossRef]
- El Kafhali, S.; Salah, K. Performance modelling and analysis of Internet of Things enabled healthcare monitoring systems. IET Netw. 2018, 8, 48–58. [Google Scholar] [CrossRef]
- Skorin-Kapov, L.; Pripužić, K.; Marjanović, M.; Antonić, A.; Žarko, I.P. Energy efficient and quality-driven continuous sensor management for mobile IoT applications. In Proceedings of the 10th IEEE International Conference on Collaborative Computing: Networking, Applications and Worksharing, Miami, FL, USA, 22–25 October 2014; pp. 397–406. [Google Scholar]
- El Kafhali, S.; Salah, K. Efficient and dynamic scaling of fog nodes for IoT devices. J. Supercomput. 2017, 73, 5261–5284. [Google Scholar] [CrossRef]
- Conti, S.; Faraci, G.; Nicolosi, R.; Rizzo, S.A.; Schembra, G. Battery management in a green fog-computing node: A reinforcement-learning approach. IEEE Access 2017, 5, 21126–21138. [Google Scholar] [CrossRef]
- Yousefpour, A.; Ishigaki, G.; Jue, J.P. Fog computing: Towards minimizing delay in the internet of things. In Proceedings of the 2017 IEEE International Conference on Edge Computing (EDGE), Honolulu, HI, USA, 25–30 June 2017; pp. 17–24. [Google Scholar]
- Rahbari, D.; Nickray, M. Task offloading in mobile fog computing by classification and regression tree. Peer-to-Peer Netw. Appl. 2020, 13, 104–122. [Google Scholar] [CrossRef]
- Gomes, T.; Fernandes, D.; Ekpanyapong, M.; Cabral, J. An IoT-based system for collision detection on guardrails. In Proceedings of the 2016 IEEE International Conference on Industrial Technology (ICIT), Taipei, Taiwan, 14–17 March 2016; pp. 1926–1931. [Google Scholar]
- Ni, L.; Zhang, J.; Jiang, C.; Yan, C.; Yu, K. Resource allocation strategy in fog computing based on priced timed petri nets. IEEE Internet Things J. 2017, 4, 1216–1228. [Google Scholar] [CrossRef]
- Wiśniewski, R.; Karatkevich, A.; Wojnakowski, M. Decomposition of distributed edge systems based on the Petri nets and linear algebra technique. J. Syst. Archit. 2019, 96, 20–31. [Google Scholar]
- Faraci, G.; Schembra, G. An analytical model to design and manage a green SDN/NFV CPE node. IEEE Trans. Netw. Serv. Manag. 2015, 12, 435–450. [Google Scholar] [CrossRef]
- Greenberg, A.; Hamilton, J.; Maltz, D.A.; Patel, P. The cost of a cloud: Research problems in data center networks. ACM SIGCOMM Comput. Commun. Rev. 2008, 39. [Google Scholar] [CrossRef]
- Yu, L.; Jiang, T.; Zou, Y. Fog-assisted operational cost reduction for cloud data centers. IEEE Access 2017, 5, 13578–13586. [Google Scholar] [CrossRef]
- Robinson, S. A tutorial on conceptual modeling for simulation. In Proceedings of the 2015 Winter Simulation Conference (WSC), Huntington Beach, CA, USA, 6–9 December 2015; pp. 1820–1834. [Google Scholar]
- Dastjerdi, A.V.; Buyya, R. Fog computing: Helping the Internet of Things realize its potential. Computer 2016, 49, 112–116. [Google Scholar] [CrossRef]
- Dede, J.; Förster, A.; Hernández-Orallo, E.; Herrera-Tapia, J.; Kuladinithi, K.; Kuppusamy, V.; Manzoni, P.; bin Muslim, A.; Udugama, A.; Vatandas, Z. Simulating opportunistic networks: Survey and future directions. IEEE Commun. Surv. Tutor. 2017, 20, 1547–1573. [Google Scholar] [CrossRef] [Green Version]
- Lin, F.; Zhou, Y.; Pau, G.; Collotta, M. Optimization-oriented resource allocation management for vehicular fog computing. IEEE Access 2018, 6, 69294–69303. [Google Scholar] [CrossRef]
- Su, J.; Lin, F.; Zhou, X.; Lu, X. Steiner tree based optimal resource caching scheme in fog computing. China Commun. 2015, 12, 161–168. [Google Scholar] [CrossRef]
- Bobbio, A. System modelling with Petri nets. In Systems Reliability Assessment; Springer: Singapore, 1990; pp. 103–143. [Google Scholar]
- Cheng, L.; Liu, C.; Liu, Q.; Duan, Y.; Murphy, J. Learning process models in IoT Edge. In Proceedings of the 2019 IEEE World Congress on Services (SERVICES), Milan, Italy, 8–13 July 2019; Volume 2642, pp. 147–150. [Google Scholar]
- Haneefa, N.K.; Pramod, S.; Pal, S.; Manivasakan, R. A Markov Chain Based Framework for Analysis of Hierarchical Fog Computing Networks; Kim, K.J., Kim, H.Y., Eds.; Information Science and Applications; Springer: Singapore, 2020; pp. 41–52. [Google Scholar]
- Osanaiye, O.; Chen, S.; Yan, Z.; Lu, R.; Choo, K.K.R.; Dlodlo, M. From cloud to fog computing: A review and a conceptual live VM migration framework. IEEE Access 2017, 5, 8284–8300. [Google Scholar] [CrossRef]
- Shukla, S.; Hassan, M.F.; Khan, M.K.; Jung, L.T.; Awang, A. An analytical model to minimize the latency in healthcare internet-of-things in fog computing environment. PLoS ONE 2019, 14, e0224934. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Calheiros, R.N.; Ranjan, R.; Beloglazov, A.; De Rose, C.A.; Buyya, R. CloudSim: A toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms. Softw. Pract. Exp. 2011, 41, 23–50. [Google Scholar] [CrossRef]
- Qayyum, T.; Malik, A.W.; Khattak, M.A.K.; Khalid, O.; Khan, S.U. FogNetSim++: A toolkit for modeling and simulation of distributed fog environment. IEEE Access 2018, 6, 63570–63583. [Google Scholar] [CrossRef]
- Brogi, A.; Forti, S. QoS-aware deployment of IoT applications through the fog. IEEE Internet Things J. 2017, 4, 1185–1192. [Google Scholar] [CrossRef] [Green Version]
- Brogi, A.; Forti, S.; Ibrahim, A. How to best deploy your fog applications, probably. In Proceedings of the 2017 IEEE 1st International Conference on Fog and Edge Computing (ICFEC), Madrid, Spain, 14–15 May 2017; pp. 105–114. [Google Scholar]
- Varga, A.; Hornig, R. An overview of the OMNeT++ simulation environment. In Proceedings of the 1st International Conference on Simulation Tools and Techniques for Communications, Networks and Systems & Workshops, Marseille, France, 3–7 March 2008. [Google Scholar]
- Tychalas, D.; Karatza, H. Simulation and performance evaluation of a fog system. In Proceedings of the 2018 Third International Conference on Fog and Mobile Edge Computing (FMEC), Barcelona, Spain, 23–26 April 2018; pp. 26–33. [Google Scholar]
- Lera, I.; Guerrero, C.; Juiz, C. YAFS: A simulator for IoT scenarios in fog computing. IEEE Access 2019, 7, 91745–91758. [Google Scholar] [CrossRef]
- Forti, S.; Ibrahim, A.; Brogi, A. Mimicking FogDirector application management. Softw. Intensive Cyber Phys. Syst. 2019, 34, 151–161. [Google Scholar] [CrossRef]
- Forti, S.; Pagiaro, A.; Brogi, A. Simulating FogDirector Application Management. Simul. Model. Pract. Theory 2020, 101, 102021. [Google Scholar] [CrossRef]
- Tuli, S.; Mahmud, R.; Tuli, S.; Buyya, R. Fogbus: A blockchain-based lightweight framework for edge and fog computing. J. Syst. Softw. 2019, 154, 22–36. [Google Scholar] [CrossRef] [Green Version]
- Liu, X.; Fan, L.; Xu, J.; Li, X.; Gong, L.; Grundy, J.; Yang, Y. FogWorkflowSim: An Automated Simulation Toolkit for Workflow Performance Evaluation in Fog Computing. In Proceedings of the 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE), San Diego, CA, USA, 11–15 November 2019; pp. 1114–1117. [Google Scholar]
- Abbas, N.; Asim, M.; Tariq, N.; Baker, T.; Abbas, S. A mechanism for securing IoT-enabled applications at the fog layer. J. Sens. Actuator Netw. 2019, 8, 16. [Google Scholar] [CrossRef] [Green Version]
- OPNET Network Simulator. Available online: http://opnetprojects.com/opnet-network-simulator/ (accessed on 10 March 2020).
- Shojafar, M.; Pooranian, Z.; Naranjo, P.G.V.; Baccarelli, E. FLAPS: Bandwidth and delay-efficient distributed data searching in Fog-supported P2P content delivery networks. J. Supercomput. 2017, 73, 5239–5260. [Google Scholar] [CrossRef]
- Hong, K.; Lillethun, D.; Ramachandran, U.; Ottenwälder, B.; Koldehofe, B. Mobile fog: A programming model for large-scale applications on the internet of things. In Proceedings of the Second ACM SIGCOMM Workshop on Mobile Cloud Computing, Hong Kong, China, 12–16 August 2013; pp. 15–20. [Google Scholar]
- Cisco Fog Director. Available online: https://www.cisco.com/c/en/us/products/cloud-systems-management/fog-director/index.html (accessed on 3 March 2020).
Cost Type | Works | Examples |
---|---|---|
Communication cost | [27,29,37,39] | No. of message, message size, throughput, transmission cost, network cost. |
Processing cost | [25,27,29,32,35,37,40,41,42,43,44,45] | Computing cost, system response time CPU-memory-bandwidth utilization, failures per-connection, job loss probability, response time processing -service delay resource churn. |
Cloud-network cost | [22,25,32,34,35,37,39,44,45] | Bandwidth, latency, propagation and transmission delays, round-trip-times routing costs. |
Migration cost | - | - |
Storage cost | [45] | Storage cost. |
Power cost | [25,35,36,41,46] | Energy consumption |
Software cost | [36,47,48] | Price cost, billing cost. |
Sensors cost | - | - |
Operational cost | [39,45,46,49,50,51] | Maintenance costs, operating expenses operational cost, reconfiguration, acquisition, power delivery, evacuating heat. |
Work | Problem Studied | Cost Metrics | Simulation Tool |
---|---|---|---|
Analytical Models | |||
[61] | Sources of latency in health care applications | Communication latency, computation latency, and network latency | iFogSim [35] |
[36] | Reduction of energy consumption and billing cost in audio/visual recognition and retrieval environment | Billing cost, energy consumption | N/A |
[37] | Optimal distribution of processing load among the fog and the cloud | Transmission cost, processing cost per unit time, response time | Java Modeling Tool |
[4,44] | Quality of service (QoS) in IoT networks | Service delay, propagation and transmission delays, processing delay | N/A |
[42] | Allocation of fog computing resources under SLA and QoS constraints | CPU utilization, system response time, system loss rate, system throughput, number of messages | Java Modeling Tools |
[40] | Modeling a typical healthcare monitoring system | Computing cost, response time | Java Modeling Tools |
[41] | Data management in mobile crowdsensing environments | energy consumption | N/A |
[49] | Management system design for NFV customers and service providers | Capital expenditures (CAPEX) and operating expenses (OPEX) | N/A |
Petri Nets Models | |||
[47] | Resource allocation | Price and time cost | N/A |
[48] | System decomposition into distributed components | Price and time cost | N/A |
[58] | System for learning process models in IoT edges | Time for discovering and delivering the process model | N/A |
[32] | Deployment Mobile Crowd Sensing application into a sensing Cloud. | Number of participating entities (contributors), rate of contributor arrival/departure | Emulation (Genymotion) |
Markov Chain Models | |||
[46] | Energy consumption in wireless sensor networks | Maintenance costs, energy consumption | Ansys Software |
[39] | Services migration from the edge to the cloud | Operational cost, transmission cost, routing costs, reconfiguration cost | N/A |
[43] | System performance optimization via optimal management of energy storage system. | Monetary cost, job losses | N/A |
[45] | Offloading process optimization | Processing and storage costs | Cloudsim |
Other Models | |||
[22] | Fog computing performance for IoT applications. | latency, energy consumption | Custom |
Year | Simulator | Implementation Technologies | Metrics | Objective | Citations |
---|---|---|---|---|---|
2016 | Edge-Fog [23] | Python | Distribute task processing on the participating cloud resources | 73 | |
2017 | FogTorch [64] | Java | QoS, reliability of links and nodes, power consumption, security, monetary costs | Find eligible deployments of an application over a fog infrastructure | 173 |
2017 | FogTorch [65] | Extension of FogTorch | Resource utilization and QoS accuracy | Same as FogTorch and many QoS profile according to a probability distribution | 51 |
2017 | iFogSim [35] | Extension of CloudSim, Java, JSON | Energy consumption, network congestion, and operational costs | Performance of resource management policies | 509 |
2017 | MyiFogSim [34] | Extension of iFogSim | Latency | Resource allocation | 38 |
2018 | FogDirSim [70] | RESTful API, Python | Performce in terms of uptime, energy consumption, resource usage | Compare application management and infrastructure management policies | 4 |
2018 | FogNetSim++ [63] | based on OMNeT++ | Energy module, scheduling algorithms, pricing model | General simulation of fog environments | 25 |
2019 | FogWorkFlowSim [72] | Java | Performance (time, energy and processing cost | Evaluate resource and task management strategies | |
2019 | OPNET [73] | Visual studio, based on OPNET | Processing time | Cope with the massive amount of confidential and security-sensitive data | 3 |
2019 | YAFS [68] | Python, JSON | Energy models, network utilization, response time, network delay | Analyze the design and deployment of applications | 7 |
2019 | FogDirMime [69] | Python | Support FogDirector [77] | 9 | |
2019 | Fogbus [71] | Latency, energy, network and CPU usage | 27 | ||
2020 | MobFogSim [5] | Extends iFogSim | Same as iFogSim | Evaluate application behaviour and performance | 0 |
Simulator | What It does | What It does Not | Infrastructure | Communication Network | Resource Management | Cost Model |
---|---|---|---|---|---|---|
Edge-Fog [23] | Generates a network of resources, supports task allocation, configuration parameters | Supports various model (network, energy), network configuration | Edge, fog and data store layer | No | Distributed task processing | Yes (partial) |
FogTorch [64] | QoS-aware deployment of IoT applications | Most features lacking | Cloud, fog nodes and things | No | ||
FogTorch [65] | Extends FogTorch. Estimates monthly cost of QoS-aware deployment of IoT applications | Energy consumption, security constraints, mobility | Similar to FogTorch | Latency, bandwidth (limited) | Resource consumption (RAM and storage) | Yes |
iFogSim [35] | Comparison of Resource management techniques, import topologies, calculates cost | Mobility, failure modeling | Sensors, actuators, fog devices and data centers | Network links, delay, network usage (limited), topology (tree) | Resource and power consumption, allocation policies | Yes (partial) |
MyiFogSim [34] | Extends iFogSim to support virtual machine migration policies for mobile users | Failure modeling, network configuration | Sensors, actuators, devices, and data centers | Similar to iFogSim | Similar to iFogSim | Similar to iFogSim |
FogDirSim [70] | Manage the entire life-cycle of IoT applications for CISCO FogDirector | Most features lacking | No | |||
FogNetSim++ [63] | Provides built-in modules (sensors, mobile devices, fog nodes, broker), supports communication protocols, applications | VM migration, other cost types, real-network properties (packet loss, congestion, or channel collision) | Mobile devices, fog nodes, broker nodes, sensors and base stations | Network links, delay, handovers, bandwidth, topology (graph) | Resource consumption (RAM, CPU), scheduling policy | Yes |
FogWorkFlow- Sim [72] | Modeling and simulation of workflow scheduling, web API | Most features lacking | Cloud, fog nodes, end devices | N/A | Offloading and scheduling strategies | No |
YAFS [68] | Resource allocation analysis, billing management, network design, and so on. | Network configuration, energy consumption, cost | Cloud, fog, sensors and actuators | Bandwidth and link propagation, topology (graph) | Allocation and orchestration algorithm | No |
FogDirMime [69] | Fog application management with CISCO FogDirector | Focuses on the simulation of a specific application | Cloud and fog nodes | No | ||
Fogbus [71] | Focuses on application simulation, security features, supports multi-applications | Network configuration, energy consumption | IoT devices, fog nodes, and cloud data centers | Limited | Sleep Apnea analysis, security considerations | No |
MobFogSim [5] | Extends iFogSim adding mobility and migration facilities | Network configuration, importing topologies | Mobile sensors, actuators, broker, and data centers | Similar to iFogSim | Similar to iFogSim | Similar to iFogSim |
Simulator | GUI | Documen-Tation | Actively Developed | Licence | Available at |
---|---|---|---|---|---|
Edge-Fog [23] | No | No | No | GNU | https://github.com/nitinder-mohan/EdgeFogSimulator |
FogTorch [64] | No | No | No | MIT | https://github.com/di-unipi-socc/FogTorch |
FogTorch [65] | No | No | Yes | MIT | https://github.com/di-unipi-socc/FogTorchPI |
iFogSim | Yes | Yes | No | N/A | https://github.com/Cloudslab/iFogSim |
MyiFogSim [35] | Same as iFogSim | No | No | N/A | https://github.com/marciocomp/myifogsim |
FogDirSim [70] | Yes | Yes | Yes | MIT | https://github.com/di-unipi-socc/FogDirSim |
FogNetSim++ [63] | Yes | Little | Yes | GNU | https://github.com/rtqayyum/fognetsimpp |
FogWorkFlowSim [72] | Yes plus web API | Little | Yes | N/A | https://github.com/CCIS-AHU/, http://47.74.84.61/FogWorkFlowSim |
YAFS [68] | Yes | Yes | Yes | MIT | https://github.com/acsicuib/YAFS |
FogDirMime [69] | No | No | Yes | Apache 2.0 | https://github.com/di-unipi-socc/FogDirMime |
Fogbus | Yes | Yes | Yes | GNU | https://github.com/Cloudslab/FogBus |
MobFogSim [71] | Same as iFogSim | Yes | Yes | GNU | https://github.com/diogomg/MobFogSim |
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Margariti, S.V.; Dimakopoulos, V.V.; Tsoumanis, G. Modeling and Simulation Tools for Fog Computing—A Comprehensive Survey from a Cost Perspective. Future Internet 2020, 12, 89. https://doi.org/10.3390/fi12050089
Margariti SV, Dimakopoulos VV, Tsoumanis G. Modeling and Simulation Tools for Fog Computing—A Comprehensive Survey from a Cost Perspective. Future Internet. 2020; 12(5):89. https://doi.org/10.3390/fi12050089
Chicago/Turabian StyleMargariti, Spiridoula V., Vassilios V. Dimakopoulos, and Georgios Tsoumanis. 2020. "Modeling and Simulation Tools for Fog Computing—A Comprehensive Survey from a Cost Perspective" Future Internet 12, no. 5: 89. https://doi.org/10.3390/fi12050089