This page reviews the source codes found, during my research works, of Fog/Edge management solutions published in the literature. It also reports some Fog-Edge Computing simulators/frameworks, often-used data traces, Fog/Edge topologies, IoT applications, and Fog/Edge Computing Projects.
This repo aims to:
-
Simplify access to references for users and facilitate the comparison of their proposals with the existing approaches.
-
Serve as a guideline for future research.
-
Help researchers learn and build Awesome Fog management strategies.
Do not hesitate to contribute to this page by providing source codes that I have not reported and thus enriching this repo. Any idea, you can create an issue or PR here.
I classify the identified source codes according to the addressed Fog-Edge Computing issue, i.e., Resource allocation, Service placement, and Computation Offloading; the type of the resolution approach; and the programming languages.
- [Python] Santos, J., Wauters, T., Volckaert, B., & De Turck, F. (2021). "Towards end-to-end resource provisioning in Fog Computing over Low Power Wide Area Networks". Journal of Network and Computer Applications, 175, 102915. [Source code]
- [Python] Santos, J., Wauters, T., Volckaert, B., & De Turck, F. (2021). "Resource provisioning in fog computing through deep reinforcement learning." [Source Code]
- [Python] Towers, M (2020). "Reinforcement learning agents for online flexible resource allocation in mobile Edge Computing". [Source Code]
- [Java] Fakhfakh, F., Neji, A., Cheikhrouhou, S., & Kallel, S. (2019). "Optimizing the performance of timed-constrained business processes in cloud-fog environment". In International Conference on Model and Data Engineering (pp. 78-90). Springer, Cham. [Source Code]
- [Go] Agrawal, N., Rellermeyer, J., & Ding, A. Y. (2019). "IoT resource-aware orchestration framework for edge computing". In Proceedings of the 15th International Conference on emerging Networking EXperiments and Technologies (pp. 62-64). [Source Code]
- [Java] Li, C., Zhuang, H., Wang, Q., & Zhou, X. (2018). "SSLB: Self-Similarity-Based Load Balancing for Large-Scale Fog Computing". Arabian Journal for Science & Engineering (Springer Science & Business Media BV), 43(12). [Source Code]
- [Java] Vieira, J. C. R (2019). "Fog and Cloud Computing Optimization in Mobile IoT Environments". [Source Code]
- [Java] Sharma, S., & Saini, H. (2019). "A novel four-tier architecture for delay aware scheduling and load balancing in fog environment". Sustainable Computing: Informatics and Systems, 24, 100355. [Source Code]
- [Java] Aït-Salaht, F., Desprez, F., & Lebre, A. (2020). "An overview of service placement problem in fog and edge computing". ACM Computing Surveys (CSUR), 53(3), 1-35. [Source code]
- [Python] Tuli, S., Casale, G., & Jennings, N. R. (2021). "GOSH: Task Scheduling Using Deep Surrogate Models in Fog Computing Environments". arXiv preprint arXiv:2112.08916. [Source code]
- [Java] Tuli, S., Ilager, S., Ramamohanarao, K., & Buyya, R. (2020). "Dynamic scheduling for stochastic edge-cloud computing environments using a3c learning and residual recurrent neural networks". IEEE Transactions on Mobile Computing. [Source code]
- [Python] Lera, I., Guerrero, C., & Juiz, C. (2018). "Availability-aware service placement policy in fog computing based on graph partitions". IEEE Internet of Things Journal, 6(2), 3641-3651. [Source code]
- [Python] Guerrero, C., Lera, I., & Juiz, C. (2019). "Evaluation and efficiency comparison of evolutionary algorithms for service placement optimization in fog architectures". Future Generation Computer Systems, 97, 131-144. [Source code]
- [Matlab] Hoseiny, F., Azizi, S., Shojafar, M., Ahmadiazar, F., & Tafazolli, R. (2021, May). "PGA: a priority-aware genetic algorithm for task scheduling in heterogeneous fog-cloud computing". In IEEE INFOCOM 2021-IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS) (pp. 1-6). IEEE. [Source Code]
- [Matlab] Hu, S., & Li, G. (2019). "Dynamic request scheduling optimization in mobile edge computing for IoT applications". IEEE Internet of Things Journal, 7(2), 1426-1437. [Source Code]
- [Java] Faragardi, H. R., et al. (2018). "A time-predictable fog-integrated cloud framework: One step forward in the deployment of a smart factory". In IEEE RTEST. pp. 54-62. [Source code]
- [Java] Sarkar, S., Chatterjee, S., & Misra, S. (2015). "Assessment of the Suitability of Fog Computing in the Context of Internet of Things". IEEE Transactions on Cloud Computing, 6(1), 46-59. [Source code]
- [Java] Cardellini, V., Grassi, V., Lo Presti, F., & Nardelli, M. (2016, June). "Optimal operator placement for distributed stream processing applications". In ACM International Conference on Distributed and Event-based Systems (pp. 69-80). [Source code]
- [Java] Guerrero, C., Lera, I., & Juiz, C. (2019). "A lightweight decentralized service placement policy for performance optimization in fog computing". Journal of Ambient Intelligence and Humanized Computing, 10(6), 2435-2452. [Source Code]
- [Python] Brogi, A., Forti, S., Guerrero, C., & Lera, I. (2020, October). "Towards declarative decentralised application management in the fog". In 2020 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW) (pp. 223-230). IEEE. [Source code]
- [Java] Yousefpour, A. et al. (2019). "FOGPLAN: A lightweight QoS-aware dynamic fog service provisioning framework". IEEE Internet of Things Journal, 6(3), 5080-5096. [Source code]
- [Java] Naas, M. I., Parvedy, P. R., Boukhobza, J., & Lemarchand, L. (2017). "iFogStor: an IoT data placement strategy for fog infrastructure". In IEEE ICFEC. pp. 97-104. [Source code]
- [Python] Avasalcai, C., Tsigkanos, C., & Dustdar, S. (2021). "Resource Management for Latency-Sensitive IoT Applications with Satisfiability". IEEE Transactions on Services Computing. [Source Code]
- [Java] Abdullaha, M., Khana, S. A., Alenezib, M., Almustafab, K., & Iqbala, W. (2020). "Application Centric Virtual Machine Placements to Minimize Bandwidth Utilization in Datacenters". Intell. Autom. Soft Comput., 26(1), 13-25. [Source code]
- [Matlab] Cong, R., Zhao, Z., Min, G., Feng, C., & Jiang, Y. (2021). "EdgeGO: A Mobile Resource-sharing Framework for 6G Edge Computing in Massive IoT Systems". IEEE Internet of Things Journal. [Source code]
- [Matlab] Shu, C., Zhao, Z., Han, Y., Min, G., & Duan, H. (2019). "Multi-user offloading for edge computing networks: A dependency-aware and latency-optimal approach". IEEE Internet of Things Journal, 7(3), 1678-1689. [Source code]
- [Python] Wu, D., Ullah, R., Harvey, P., Kilpatrick, P., Spence, I., & Varghese, B. (2021). "Fedadapt: Adaptive offloading for iot devices in federated learning". arXiv preprint arXiv:2107.04271.[Source code]
- [Python] Wang, J., Hu, J., Min, G., Zomaya, A. Y., & Georgalas, N. (2020). "Fast adaptive task offloading in edge computing based on meta reinforcement learning". IEEE Transactions on Parallel and Distributed Systems, 32(1), 242-253. Source code
- [Python] Huang, L., Bi, S., & Zhang, Y. J. A. (2019). "Deep reinforcement learning for online computation offloading in wireless powered mobile-edge computing networks". IEEE Transactions on Mobile Computing, 19(11), 2581-2593. [Source code]
- [Python] Wang, Yunpeng, et al. "Computation offloading optimization for UAV-assisted mobile edge computing: a deep deterministic policy gradient approach." Wireless Networks 27.4 (2021): 2991-3006. [Source code]
- [Python] Bi, Suzhi, et al. "Lyapunov-guided deep reinforcement learning for stable online computation offloading in mobile-edge computing networks." IEEE Transactions on Wireless Communications (2021). [Source code]
- [Python] Huang, L., Feng, X., Feng, A., Huang, Y., & Qian, L. P. (2018). "Distributed deep learning-based offloading for mobile edge computing networks". Mobile networks and applications, 1-8. [Source Code]
- [Python] Huang, L., Bi, S., & Zhang, Y. J. A. (2019). "Deep reinforcement learning for online computation offloading in wireless powered mobile-edge computing networks". IEEE Transactions on Mobile Computing, 19(11), 2581-2593. [Source Code]
- [Python] Tang, M., & Wong, V. W. (2020). "Deep reinforcement learning for task offloading in mobile edge computing systems". IEEE Transactions on Mobile Computing. [Source Code]
- [Python] Wang, J., Hu, J., Min, G., Zhan, W., Zomaya, A., & Georgalas, N. (2021). "Dependent task offloading for edge computing based on deep reinforcement learning". IEEE Transactions on Computers. [Source Code]
- [Java] Basic, F., Aral, A., & Brandic, I. (2019, June). "Fuzzy handoff control in edge offloading". In 2019 IEEE International Conference on Fog Computing (ICFC) (pp. 87-96). IEEE. [Source Code]
- [Matlab] Tran, T. X., & Pompili, D. (2018). "Joint task offloading and resource allocation for multi-server mobile-edge computing networks". IEEE Transactions on Vehicular Technology, 68(1), 856-868. [Source Code]
- [Python] Yan, Jia, Suzhi Bi, and Ying-Jun Angela Zhang (2018). "Optimal offloading and resource allocation in mobile-edge computing with inter-user task dependency." IEEE GLOBECOM. [Source Code]
- [Java] De Maio, V., & Brandic, I. (2018, May). "First hop mobile offloading of dag computations". In 2018 18th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID) (pp. 83-92). IEEE. [Source code 1] [Source code 2]
- [Python] Mitsis, Giorgos, et al. "Intelligent dynamic data offloading in a competitive mobile edge computing market." Future Internet 11.5 (2019): 118. [Source Code]
- [Python] Chen, Y. T., & Liao, W. (2019, May). "Mobility-aware service function chaining in 5G wireless networks with mobile edge computing". In ICC. pp. 1-6. [Source code]
-
CloudSim
. [Java] Calheiros, R. N., Ranjan, R., Beloglazov, A., De Rose, C. A., & Buyya, R. (2011). "CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms". Software: Practice and experience, 41(1), 23-50. [Source code] -
iFogSim
. [Java] Gupta, H., Vahid Dastjerdi, A., Ghosh, S. K., & Buyya, R. (2017). "iFogSim: A toolkit for modeling and simulation of resource management techniques in the Internet of Things, Edge and Fog computing environments". Software: Practice and Experience, 47(9), 1275-1296. [Source code] -
Dynamic ifogsim
. [Python] Seo, D., Shahhosseini, S., Mehrabadi, M. A., Donyanavard, B., Lim, S. S., Rahmani, A. M., & Dutt, N. (2020). "Dynamic ifogsim: A framework for full-stack simulation of dynamic resource management in iot systems". In COINS. pp. 1-6. [Source Code] -
Edgecloudsim
. [Java] Sonmez, C., Ozgovde, A., & Ersoy, C. (2018). "Edgecloudsim: An environment for performance evaluation of edge computing systems". Transactions on Emerging Telecommunications Technologies, 29(11), e3493. [Source code] -
YAFS
. [Python] Lera, I., Guerrero, C., & Juiz, C. (2019). "YAFS: A simulator for IoT scenarios in fog computing". IEEE Access, 7, 91745-91758. [Source code] -
FogTorch
. [Java] Brogi, A., & Forti, S. (2017). "QoS-aware deployment of IoT applications through the fog". IEEE Internet of Things Journal, 4(5), 1185-1192. [Source code] -
FogTorchPI
. [Java] Brogi, A., Forti, S., & Ibrahim, A. (2019). "Predictive analysis to support fog application deployment". Fog and edge computing: principles and paradigms, 191-222. [Source code] -
MobFogSim
. [Java] Puliafito, C., Gonçalves, D. M., Lopes, M. M., Martins, L. L., Madeira, E., Mingozzi, E., ... & Bittencourt, L. F. (2020). "MobFogSim: Simulation of mobility and migration for fog computing". Simulation Modelling Practice and Theory, 101, 102062. [Source code] -
Emufog
. [Kotlin] Mayer, R., Graser, L., Gupta, H., Saurez, E., & Ramachandran, U. (2017, October). "Emufog: Extensible and scalable emulation of large-scale fog computing infrastructures". In IEEE FWC. pp. 1-6. [Source code] -
VirtFogSim
. [Matlab] Scarpiniti, M., Baccarelli, E., & Momenzadeh, A. (2019). "VirtFogSim: A parallel toolbox for dynamic energy-delay performance testing and optimization of 5G mobile-fog-cloud virtualized platforms". Applied Sciences, 9(6), 1160. [Source code] -
FogNetSim++
. [OMNeT++] Qayyum, T., Malik, A. W., Khattak, M. A. K., Khalid, O., & Khan, S. U. (2018). "FogNetSim++: A toolkit for modeling and simulation of distributed fog environment". IEEE Access, 6, 63570-63583. [Source code] -
FogDirMime
. [Python] Forti, S., Ibrahim, A., & Brogi, A. (2019). "Mimicking FogDirector application management". SICS Software-Intensive Cyber-Physical Systems, 34(2), 151-161. [Source Code] -
FogDirSim
. [Python] Forti, S., Pagiaro, A., & Brogi, A. (2020). Simulating fogdirector application management. Simulation Modelling Practice and Theory, 101, 102021. [Source code] -
LocPrivFogSim
. [Java] LocPrivFogSim: A simulator to analyze threats of computation offloading strategies to location privacy in fog computing with real-world trajectory data. -
FogAtlas
. [Go] FogAtlas – A platform for operating Fog Computing infrastructures. -
KubeEdge
. [Go] Kubernetes Native Edge Computing Framework. -
Fogbed
. [Python] Fog emulation platform. -
ENORM
. [Python] Wang, N., Varghese, B., Matthaiou, M., & Nikolopoulos, D. S. (2017). "ENORM: A framework for edge node resource management. IEEE transactions on services computing". [Source code] -
ECHO
. [Java] Ravindra, P., Khochare, A., Reddy, S. P., Sharma, S., Varshney, P., & Simmhan, Y. (2017). "ECHO: An Adaptive Orchestration Platform for Hybrid Dataflows across Cloud and Edge". In International Conference on Service-Oriented Computing (pp. 395-410). [Source code] -
FogFlow
. [Go] FogFlow: an IoT Edge Computing framework. -
EdgeSim
. [Java] EdgeSim: An open-source simulator of edge computing and caching -
IoTSim-Edge
. [Java] Jha, D. N. et al. (2020). "IoTSim‐Edge: A simulation framework for modeling the behavior of Internet of Things and edge computing environments". Software: Practice and Experience, 50(6), 844-867. [Source code] -
IoTSim-Osmosis
. [Java] Alwasel, K. et al. (2021). "IoTSim-Osmosis: A framework for modeling and simulating IoT applications over an edge-cloud continuum". Journal of Systems Architecture, 116, 101956. [Source code] -
PureEdgeSim
. [Java] Mechalikh, C., Taktak, H., & Moussa, F. (2019, July). PureEdgeSim: A simulation toolkit for performance evaluation of cloud, fog, and pure edge computing environments. In 2019 International Conference on High Performance Computing & Simulation (HPCS) (pp. 700-707). IEEE. [Source code] -
Pfogsim
. [Java] Wang, Q. (2019). "Pfogsim: A simulator for evaluating dynamic and layered fog computing environments" [Source code] -
LighMANO
. [Python] Riggio, R., Khan, S. N., Subramanya, T., Yahia, I. G. B., & Lopez, D. (2018, April). "LightMANO: Converging NFV and SDN at the Edges of the Network". In NOMS 2018-2018 IEEE/IFIP Network Operations and Management Symposium (pp. 1-9). IEEE. [Source code] -
SimpleIoTSimulator
. [Python] The InternetOfThings Simulator -
SLEIPNIR
. [Java] SLEIPNIR is a DAG scheduling simulator focused on mobile cloud/edge/iot infrastructures -
STEP-ONE
. [Java] Mass, J., Srirama, S. N., & Chang, C. (2020). "STEP-ONE: simulated testbed for edge-fog processes based on the opportunistic network environment simulator". Journal of Systems and Software, 166, 110587. [Source code] -
Veins
. [OMNeT++] Veins: The open source vehicular network simulation framework. -
Amazon, Azure IoT Edge
. [NodeJS, C# or Java] Amazon, Azure IoT Edge -
SniperSim
. [Python] Multi-core simulator. -
OMNeT++
. OMNeT++ Discrete Event Simulator
- Microscopic vehicular mobility trace of Europarc roundabout, Creteil, France
- mobility patterns of SUMO - Simulation of Uban MObility
- Industrial Internet of Things Data
- Mobile HEALTH datasets
- Machine Learning Repository
- Alibaba Cluster Trace Program
- Fog-Computing-Data-set
- Iot-compute-dataset
- CRAWDAD: Community Resource for Archiving Wireless Data At Dartmouth
- Wide mawi working group traffic archive
- AutoML – training high-quality custom machine learning models with minimum effort and machine learning expertise.
- Alibaba Cluster Trace Program
- The BRITE network generator
- Real world topologies from Caida
- The Internet Topology Zoo
- Mininet
- Maxinet. Distributed Emulation of sofrware-Defined Networks
- Refer to this page that reviews the main identified IoT applications in Fog-Edge Computing investigated in the literature.