A Lean Simulation Framework for Stress Testing IoT Cloud Systems (2404.11542v3)
Abstract: The Internet of Things connects a plethora of smart devices globally across various applications like smart cities, autonomous vehicles and health monitoring. Simulation plays a key role in the testing of IoT systems, noting that field testing of a complete IoT product may be infeasible or prohibitively expensive. This paper addresses a specific yet important need in simulation-based testing for IoT: Stress testing of cloud systems. Existing stress testing solutions for IoT demand significant computational resources, making them ill-suited and costly. We propose a lean simulation framework designed for IoT cloud stress testing which enables efficient simulation of a large array of IoT and edge devices that communicate with the cloud. To facilitate simulation construction for practitioners, we develop a domain-specific language (DSL), named IoTECS, for generating simulators from model-based specifications. We provide the syntax and semantics of IoTECS and implement IoTECS using Xtext and Xtend. We assess simulators generated from IoTECS specifications for stress testing two real-world systems: a cloud-based IoT monitoring system and an IoT-connected vehicle system. Our empirical results indicate that simulators created using IoTECS: (1)achieve best performance when configured with Docker containerization; (2)effectively assess the service capacity of our case-study systems, and (3)outperform industrial stress-testing baseline tools, JMeter and Locust, by a factor of 3.5 in terms of the number of IoT and edge devices they can simulate using identical hardware resources. To gain initial insights about the usefulness of IoTECS in practice, we interviewed two engineers from our industry partner who have firsthand experience with IoTECS. Feedback from these interviews suggests that IoTECS is effective in stress testing IoT cloud systems, saving significant time and effort.
- M. Hung, “Leading the iot,” Documentation at https://www.gartner.com/imagesrv/books/iot/iotEbook_digital.pdf, 2017.
- H. Chan, “Accelerated stress testing for both hardware and software,” in Annual Symposium Reliability and Maintainability, 2004 - RAMS, 2004, pp. 346–351.
- S. Y. Shin, S. Nejati, M. Sabetzadeh, L. C. Briand, C. Arora, and F. Zimmer, “Dynamic adaptation of software-defined networks for iot systems: a search-based approach,” in SEAMS ’20: IEEE/ACM 15th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, Seoul, Republic of Korea, 29 June - 3 July, 2020, 2020, pp. 137–148.
- J. Li, S. Nejati, and M. Sabetzadeh, “Learning self-adaptations for iot networks: A genetic programming approach,” in SEAMS ’22: IEEE/ACM 17th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, Pittsburgh, PA, USA, May 21 - 29, 2022, 2022.
- ——, “Using genetic programming to build self-adaptivity into software-defined networks,” ACM Trans. Auton. Adapt. Syst., aug 2023.
- A. Kertész, T. Pflanzner, and T. Gyimóthy, “A mobile iot device simulator for iot-fog-cloud systems,” Journal of Grid Computing, vol. 17, no. 3, pp. 529–551, 2019.
- Amazon, “Amazon web services. iot core.” https://aws.amazon.com/solutions/ implementations/iot-device-simulator/, 2021.
- S. Logistics, “Nuviot iot simulator,” https://www.nuviot.com, 2019.
- D. N. Jha, K. Alwasel, A. Alshoshan, X. Huang, R. K. Naha, S. K. Battula, S. Garg, D. Puthal, P. James, A. Y. Zomaya, S. Dustdar, and R. Ranjan, “Iotsim-edge: A simulation framework for modeling the behavior of internet of things and edge computing environments,” Software - Practice and Experience, vol. 50, pp. 844–867, 2020.
- C. Sonmez, A. Ozgovde, and C. Ersoy, “Edgecloudsim: An environment for performance evaluation of edge computing systems,” in Second International Conference on Fog and Mobile Edge Computing, FMEC 2017, Valencia, Spain, May 8-11, 2017, 2017, pp. 39–44.
- B. Ramprasad, M. Fokaefs, J. Mukherjee, and M. Litoiu, “Emu-iot - A virtual internet of things lab,” in 2019 IEEE International Conference on Autonomic Computing, ICAC 2019, Umeå, Sweden, June 16-20, 2019, 2019, pp. 73–83.
- D. Kliazovich, P. Bouvry, and S. U. Khan, “Greencloud: a packet-level simulator of energy-aware cloud computing data centers,” The Journal of Supercomputing, vol. 62, no. 3, pp. 1263–1283, 2012.
- F. Österlind, A. Dunkels, J. Eriksson, N. Finne, and T. Voigt, “Cross-level sensor network simulation with COOJA,” in LCN 2006, The 31st Annual IEEE Conference on Local Computer Networks, Tampa, Florida, USA, 14-16 November 2006, 2006, pp. 641–648.
- A. Boulis, “Castalia: A simulator for wireless sensor networks and body area networks,” NICTA: National ICT Australia, vol. 83, p. 7, 2011.
- Mininet, “Mininet,” https://mininet.org, 2021.
- H. Elazhary, “Internet of things (iot), mobile cloud, cloudlet, mobile iot, iot cloud, fog, mobile edge, and edge emerging computing paradigms: Disambiguation and research directions,” Journal of Network and Computer Applications, vol. 128, pp. 105–140, 2019.
- T. Pflanzner, A. Kertész, B. Spinnewyn, and S. Latré, “Mobiotsim: Towards a mobile iot device simulator,” in 4th IEEE International Conference on Future Internet of Things and Cloud Workshops, FiCloud Workshops 2016, Vienna, Austria, August 22-24, 2016, 2016, pp. 21–27.
- J. Li, S. Nejati, M. Sabetzadeh, and M. McCallen, “A domain-specific language for simulation-based testing of iot edge-to-cloud solutions,” in Proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems, MODELS 2022, Montreal, Quebec, Canada, October 23-28, 2022, 2022, pp. 367–378.
- A. Coutinho, F. Greve, C. V. S. Prazeres, and J. Cardoso, “Fogbed: A rapid-prototyping emulation environment for fog computing,” in 2018 IEEE International Conference on Communications, ICC 2018, Kansas City, MO, USA, May 20-24, 2018. IEEE, 2018, pp. 1–7.
- SednaLab, “Iotecs,” https://github.com/sednalab/IoTECS/tree/main, 2023.
- C. Pahl, A. Brogi, J. Soldani, and P. Jamshidi, “Cloud container technologies: A state-of-the-art review,” IEEE Trans. Cloud Comput., vol. 7, no. 3, pp. 677–692, 2019.
- J. Dizdarevic, F. Carpio, A. Jukan, and X. Masip-Bruin, “A survey of communication protocols for internet of things and related challenges of fog and cloud computing integration,” ACM Comput. Surv., vol. 51, no. 6, pp. 116:1–116:29, 2019.
- I. K. Aksakalli, T. Çelik, A. B. Can, and B. Tekinerdogan, “Deployment and communication patterns in microservice architectures: A systematic literature review,” J. Syst. Softw., vol. 180, p. 111014, 2021.
- B. Varghese, N. Wang, S. Barbhuiya, P. Kilpatrick, and D. S. Nikolopoulos, “Challenges and opportunities in edge computing,” in 2016 IEEE International Conference on Smart Cloud, SmartCloud 2016, New York, NY, USA, November 18-20, 2016. IEEE Computer Society, 2016, pp. 20–26.
- S. K. Mani, R. Durairajan, P. Barford, and J. Sommers, “An architecture for iot clock synchronization,” in Proceedings of the 8th International Conference on the Internet of Things, IOT 2018, Santa Barbara, CA, USA, October 15-18, 2018, 2018, pp. 17:1–17:8.
- M. Scheffer, J. Baveco, D. DeAngelis, K. Rose, and E. van Nes, “Super-individuals a simple solution for modelling large populations on an individual basis,” Ecological Modelling, vol. 80, no. 2, pp. 161–170, 1995.
- Eclipse Foundation, Inc., “Xtext v2.25.0,” https://www.eclipse.org/Xtext/, 2021.
- ——, “Xtend v2.25.0,” https://www.eclipse.org/Xtend/, 2021.
- V. Araujo, K. Mitra, S. Saguna, and C. Åhlund, “Performance evaluation of FIWARE: A cloud-based iot platform for smart cities,” J. Parallel Distributed Comput., vol. 132, pp. 250–261, 2019.
- A. A. Ismail, H. S. Hamza, and A. M. Kotb, “Performance evaluation of open source iot platforms,” in 2018 IEEE Global Conference on Internet of Things (GCIoT), 2018.
- A. Lazidis, K. Tsakos, and E. G. Petrakis, “Publish–subscribe approaches for the iot and the cloud: Functional and performance evaluation of open-source systems,” Internet of Things, vol. 19, p. 100538, 2022.
- L. Hou, S. Zhao, X. Li, P. Chatzimisios, and K. Zheng, “Design and implementation of application programming interface for internet of things cloud,” International Journal of Network Management, vol. 27, no. 3, p. e1936, 2017.
- H. Koziolek, S. Grüner, and J. Rückert, “A comparison of MQTT brokers for distributed iot edge computing,” in Software Architecture - 14th European Conference, ECSA 2020, L’Aquila, Italy, September 14-18, 2020, Proceedings, ser. Lecture Notes in Computer Science, vol. 12292, 2020, pp. 352–368.
- H. Honar Pajooh, M. A. Rashid, F. Alam, and S. Demidenko, “Iot big data provenance scheme using blockchain on hadoop ecosystem,” Journal of Big Data, vol. 8, no. 1, p. 114, 2021.
- A. Pokhilko, “UDPRequest,” https://jmeter-plugins.org/wiki/UDPRequest/, 2023.
- O. Gómez-Carmona, D. Casado-Mansilla, D. López-de-Ipiña, and J. García-Zubía, “Optimizing computational resources for edge intelligence through model cascade strategies,” IEEE Internet Things J., vol. 9, no. 10, pp. 7404–7417, 2022.
- B. Hoh, M. Gruteser, H. Xiong, and A. Alrabady, “Preserving privacy in gps traces via uncertainty-aware path cloaking,” in Proceedings of the 2007 ACM Conference on Computer and Communications Security, CCS 2007, Alexandria, Virginia, USA, October 28-31, 2007. ACM, 2007, pp. 161–171.
- K. Sonklin, C. Wang, D. Jayalath, and Y. Feng, “Connected-vehicle data exchanges and positioning computing based on the publish-subscribe paradigm,” Journal of Computer and Communications, vol. 07, pp. 82–93, 01 2019.
- Wireshark Foundation, “Wireshark v3.6.0,” https://www.wireshark.org/, 2021.
- J. Dugan, S. Elliott, B. A. Mah, J. Poskanzer, and K. Prabhu, “iperf,” https://iperf.fr, 2024.
- D. Soni and A. Makwana, “A survey on mqtt: a protocol of internet of things (iot),” in International conference on telecommunication, power analysis and computing techniques (ICTPACT-2017), vol. 20, 2017, pp. 173–177.
- S. Kumar and S. Rai, “Survey on transport layer protocols: Tcp & udp,” International Journal of Computer Applications, vol. 46, no. 7, pp. 20–25, 2012.
- H. L. Truong, “Using iotcloudsamples as a software framework for simulations of edge computing scenarios,” Internet Things, vol. 14, p. 100383, 2021.
- OMNet++, “OMNeT++,” https://omnetpp.org/intro/, 2022.
- NS-3, “Ns-3.35,” https://www.nsnam.org, 2021.
- P. Wette, M. Dräxler, and A. Schwabe, “Maxinet: Distributed emulation of software-defined networks,” in 2014 IFIP Networking Conference, Trondheim, Norway, June 2-4, 2014. IEEE Computer Society, 2014, pp. 1–9.
- A. D. Firouzabadi, H. Mellah, O. Manzanilla-Salazar, R. Khalvandi, V. Therrien, V. Boutin, and B. Sansò, “Piot: A performance iot simulation system for a large-scale city-wide assessment,” IEEE Access, vol. 11, pp. 56 273–56 286, 2023.
- U. K. Dayalan, R. A. K. Fezeu, T. J. Salo, and Z. Zhang, “Kaala: scalable, end-to-end, iot system simulator,” in NET4us ’22: Proceedings of the ACM SIGCOMM Workshop on Networked Sensing Systems for a Sustainable Society, Amsterdam, The Netherlands, August 22, 2022. ACM, 2022, pp. 33–38.
- X. Zeng, S. K. Garg, P. Strazdins, P. P. Jayaraman, D. Georgakopoulos, and R. Ranjan, “Iotsim: A simulator for analysing iot applications,” Journal of Systems Architecture: Embedded Software Design, vol. 72, pp. 93–107, 2017.
- R. N. Calheiros, R. Ranjan, C. A. F. D. Rose, and R. Buyya, “Cloudsim: A novel framework for modeling and simulation of cloud computing infrastructures and services,” CoRR, vol. abs/0903.2525, 2009.
- S. K. Garg and R. Buyya, “Networkcloudsim: Modelling parallel applications in cloud simulations,” in IEEE 4th International Conference on Utility and Cloud Computing, UCC 2011, Melbourne, Australia, December 5-8, 2011, 2011, pp. 105–113.
- A. Moawad, T. Hartmann, F. Fouquet, G. Nain, J. Klein, and Y. L. Traon, “Beyond discrete modeling: A continuous and efficient model for iot,” in 18th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MoDELS 2015, Ottawa, ON, Canada, September 30 - October 2, 2015, 2015, pp. 90–99.
- F. Nikolaidis, M. Marazakis, and A. Bilas, “Iotier: A virtual testbed to evaluate systems for iot environments,” in 21st IEEE/ACM International Symposium on Cluster, Cloud and Internet Computing, CCGrid 2021, Melbourne, Australia, May 10-13, 2021, 2021, pp. 676–683.
- M. Symeonides, Z. Georgiou, D. Trihinas, G. Pallis, and M. D. Dikaiakos, “Fogify: A fog computing emulation framework,” in 5th IEEE/ACM Symposium on Edge Computing, SEC 2020, San Jose, CA, USA, November 12-14, 2020, 2020, pp. 42–54.
- N. Ly-Trong, C. Dang-Le-Bao, D. Huynh-Van, and Q. L. Trung, “Uitiot v3: A hybrid testbed for evaluation of large-scale iot networks,” in Proceedings of the Ninth International Symposium on Information and Communication Technology, SoICT 2018, Danang City, Vietnam, December 06-07, 2018, 2018, pp. 155–162.
- J. Sendorek, T. Szydlo, and R. Brzoza-Woch, “Software-defined virtual testbed for iot systems,” Wireless Communications and Mobile Computing, vol. 2018, pp. 1 068 261:1–1 068 261:11, 2018.
- H. Gupta, A. V. Dastjerdi, S. K. Ghosh, and R. Buyya, “ifogsim: A toolkit for modeling and simulation of resource management techniques in the internet of things, edge and fog computing environments,” Softw. Pract. Exp., vol. 47, no. 9, pp. 1275–1296, 2017.
- A. Brogi and S. Forti, “Qos-aware deployment of iot applications through the fog,” IEEE Internet Things J., vol. 4, no. 5, pp. 1185–1192, 2017.
- T. Qayyum, A. Malik, M. Khattak, O. Khalid, and S. Khan, “Fognetsim++: A toolkit for modeling and simulation of distributed fog environment,” IEEE Access, vol. PP, pp. 1–1, 10 2018.
- R. Mayer, L. Graser, H. Gupta, E. Saurez, and U. Ramachandran, “Emufog: Extensible and scalable emulation of large-scale fog computing infrastructures,” in IEEE Fog World Congress, FWC 2017, Santa Clara, CA, USA, October 30 - Nov. 1, 2017. IEEE, 2017, pp. 1–6.
- M. Chiang and T. Zhang, “Fog and iot: An overview of research opportunities,” IEEE Internet Things J., vol. 3, no. 6, pp. 854–864, 2016.
- Cooja, “Cooja simulator,” https://anrg.usc.edu/contiki/index.php/Cooja_Simulator, 2016.
- J. Beilharz, P. Wiesner, A. Boockmeyer, L. Pirl, D. Friedenberger, F. Brokhausen, I. Behnke, A. Polze, and L. Thamsen, “Continuously testing distributed iot systems: An overview of the state of the art,” CoRR, vol. abs/2112.09580, 2021.
- B. Morin, N. Harrand, and F. Fleurey, “Model-based software engineering to tame the iot jungle,” IEEE Software, vol. 34, no. 1, pp. 30–36, 2017.
- H. Song, R. Dautov, N. Ferry, A. Solberg, and F. Fleurey, “Model-based fleet deployment of edge computing applications,” in MoDELS ’20: ACM/IEEE 23rd International Conference on Model Driven Engineering Languages and Systems, Virtual Event, Canada, 18-23 October, 2020, 2020, pp. 132–142.
- M. Sneps-Sneppe and D. Namiot, “On web-based domain-specific language for internet of things,” CoRR, vol. abs/1505.06713, 2015.
- M. Tichy, J. Pietron, D. Mödinger, K. Juhnke, and F. J. Hauck, “Experiences with an internal DSL in the iot domain,” in STAF 2020 Workshop Proceedings: 4th Workshop on Model-Driven Engineering for the Internet-of-Things, 1st International Workshop on Modeling Smart Cities, and 5th International Workshop on Open and Original Problems in Software Language Engineering co-located with Software Technologies: Applications and Foundations federation of conferences (STAF 2020), Bergen, Norway, June 22-26, 2020, 2020, pp. 22–34.
- T. Gomes, P. Lopes, J. Alves, P. Mestre, J. Cabral, J. L. Monteiro, and A. Tavares, “A modeling domain-specific language for iot-enabled operating systems,” in IECON 2017 - 43rd Annual Conference of the IEEE Industrial Electronics Society, Beijing, China, October 29 - November 1, 2017, 2017, pp. 3945–3950.
- M. Amrani, F. Gilson, A. Debieche, and V. Englebert, “Towards user-centric dsls to manage iot systems,” in Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2017, Porto, Portugal, February 19-21, 2017, 2017, pp. 569–576.
- A. Åkesson, G. Hedin, M. Nordahl, and B. Magnusson, “Compos: Composing oblivious services,” in IEEE International Conference on Pervasive Computing and Communications Workshops, PerCom Workshops 2019, Kyoto, Japan, March 11-15, 2019, 2019, pp. 132–138.
- D. R. Cacciagrano and R. Culmone, “IRON: reliable domain specific language for programming iot devices,” Internet Things, vol. 9, p. 100020, 2020.
- D. R. Cacciagrano, F. Corradini, R. Culmone, N. Gorogiannis, L. Mostarda, F. Raimondi, and C. Vannucchi, “Analysis and verification of ECA rules in intelligent environments,” Journal of Ambient Intelligence and Smart Environments, vol. 10, no. 3, pp. 261–273, 2018.