Self-Adaptive Data Processing to Improve SLOs for Dynamic IoT Workloads †
Abstract
:1. Introduction
2. Background
2.1. Kubernetes
2.2. IoT Platform
2.2.1. Overview of the IoT Platform
- accepting incoming traffic from end nodes via one of the following protocols—MQTT, WebSockets, HTTP;
- storing incoming messages into a queue until the data processing software is able to proceed with their processing;
- storing the results of the messages processing to the persistent database;
- access control through support for multiple users, devices and sensors;
- secure communication with end nodes via JWT tokens mechanism;
- data visualization in various formats ready for subsequent analytics.
2.2.2. IoT Back-End
2.2.3. IoT Gateway
{ “timestamp”: 15267967123, “sensor_id”: “123”, “value”: 2420 }
2.2.4. Apache Kafka
2.2.5. Data Processor
3. Related Work
4. Approach
4.1. Autoscaling Techniques
4.1.1. Efficient Monitoring
4.1.2. Short update Interval
4.1.3. Scaling Direction-Aware Computation of Scaling Factors
4.1.4. Forecasting for Autoscaling in Advance
4.1.5. Scaling Constraints
4.2. Data Processor Desired Replicas Calculation Improvements
4.2.1. Producing Rate-Based (PR-B) as Scale-Out Equation and Forecast-Based Version of PR-B (I-FPR-B) as Scale-In Equation
4.2.2. Forecasted Producing Rate-Based Scale-Out Equation (O-FPR-B) and Forecasted Producing Rate-Based Scale-In Equation (I-FPR-B)
4.2.3. Forecasted Message Lag-Based Scale-Out Equation (O-FML-B) and Forecasted Message Lag-Based Scale-In (I-FML-B) Equation
5. Evaluating Scaling Mechanisms
5.1. Evaluation Method
- Functional requirement: a certain percentage of messages should have a message waiting time within the SLO;
- Quality requirement: autoscaling mechanism should save compute resources when possible;
- Quality requirement: performance in terms of low average message waiting time should be kept;
- Quality requirement: the data processor should not scale often as the scaling actions could be expensive or could affect the performance of the data processor.
- number of instance seconds to evaluate how much compute resources does the scaled state consume (lower instance seconds mechanisms preferred);
- average message waiting time to evaluate the performance of the scaled state (lower waiting time preferred);
- number of scaling actions to evaluate the frequency of scaling (lower number of scaling actions preferred).
5.2. Test Architecture
5.3. Test Environment
6. Results and Discussion
7. Conclusions
Author Contributions
Funding
Conflicts of Interest
Abbreviations
AWS | Amazon Web Services |
HPA | Horizontal Pod Autoscaler |
JSON | JavaScript object notation |
MAPE-K | monitor-analyze-plan-execute with shared knowledge |
SLO | service-level objective |
References
- Gilchrist, A. Industrial Internet Use-Cases. In Industry 4.0: The Industrial Internet of Things; Apress: Berkeley, CA, USA, 2016; pp. 13–31. [Google Scholar] [CrossRef]
- Wu, W.C.; Liaw, H.T. The Next Generation of Internet of Things: Internet of Vehicles. In Frontier Computing; Hung, J.C., Yen, N.Y., Hui, L., Eds.; Springer: Singapore, 2018; pp. 278–282. [Google Scholar]
- Balandina, E.; Balandin, S.; Koucheryavy, Y.; Mouromtsev, D. IoT Use Cases in Healthcare and Tourism. In Proceedings of the 2015 IEEE 17th Conference on Business Informatics, Lisbon, Portugal, 13–16 July 2015; Volume 2, pp. 37–44. [Google Scholar] [CrossRef]
- Mäkinen, S.J. Internet-of-things disrupting business ecosystems: A case in home automation. In Proceedings of the 2014 IEEE International Conference on Industrial Engineering and Engineering Management, Bandar Sunway, Malaysia, 9–12 December 2014; pp. 1467–1470. [Google Scholar] [CrossRef]
- Podolskiy, V.; Mayo, M.; Koay, A.; Gerndt, M.; Patros, P. Maintaining SLOs of Cloud-Native Applications Via Self-Adaptive Resource Sharing. In Proceedings of the 2019 IEEE 13th International Conference on Self-Adaptive and Self-Organizing Systems (SASO), Umea, Sweden, 16–20 June 2019; pp. 72–81. [Google Scholar] [CrossRef] [Green Version]
- Podolskiy, V.; Jindal, A.; Gerndt, M. Multilayered Autoscaling Performance Evaluation: Can Virtual Machines and Containers Co–Scale? Int. J. Appl. Math. Comput. Sci. 2019, 29, 227–244. [Google Scholar] [CrossRef] [Green Version]
- Masoud, M.; Jaradat, Y.; Manasrah, A.; Jannoud, I. Sensors of Smart Devices in the Internet of Everything (IoE) Era: Big Opportunities and Massive Doubts. J. Sens. 2019, 2019. [Google Scholar] [CrossRef]
- Chindanonda, P.; Podolskiy, V.; Gerndt, M. Metrics for Self-Adaptive Queuing in Middleware for Internet of Things. In Proceedings of the 2019 IEEE 4th International Workshops on Foundations and Applications of Self* Systems (FAS*W), Umea, Sweden, 16–20 June 2019; pp. 130–133. [Google Scholar] [CrossRef]
- Chindanonda, P. Self-Adaptive Data Processing for the IoT Platform. Master’s Thesis, Technische Universität München, Munich, Germany, 2019. [Google Scholar]
- Podolskiy, V.; Ramirez, Y.; Yenel, A.; Mohyuddin, S.; Uyumaz, H.; Uysal, A.N.; Assali, M.; Drugalev, S.; Gerndt, M.; Friessnig, M.; et al. Practical Education in IoT through Collaborative Work on Open-Source Projects with Industry and Entrepreneurial Organizations. In Proceedings of the 2018 IEEE Frontiers in Education Conference (FIE), San Jose, CA, USA, 3–6 October 2018; pp. 1–9. [Google Scholar] [CrossRef]
- Dickel, H.; Podolskiy, V.; Gerndt, M. Evaluation of Autoscaling Metrics for (stateful) IoT Gateways. In Proceedings of the 2019 IEEE 12th Conference on Service-Oriented Computing and Applications (SOCA), Kaohsiung, Taiwan, 18–21 November 2019; pp. 17–24. [Google Scholar] [CrossRef]
- Möstl, M.; Schlatow, J.; Ernst, R.; Hoffmann, H.; Merchant, A.; Shraer, A. Self-aware systems for the Internet-of-Things. In Proceedings of the 2016 International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS), Pittsburgh, PA, USA, 2–7 October 2016; pp. 1–9. [Google Scholar]
- Do Nascimento, N.M.; de Lucena, C.J.P. FIoT: An agent-based framework for self-adaptive and self-organizing applications based on the Internet of Things. Inf. Sci. 2017, 378, 161–176. [Google Scholar] [CrossRef]
- Iftikhar, M.U.; Ramachandran, G.S.; Bollansée, P.; Weyns, D.; Hughes, D. DeltaIoT: A Self-Adaptive Internet of Things Exemplar. In Proceedings of the 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), Buenos Aires, Argentina, 23–29 May 2017; pp. 76–82. [Google Scholar] [CrossRef]
- Seiger, R.; Huber, S.; Heisig, P.; Assmann, U. Enabling Self-adaptive Workflows for Cyber-physical Systems. In Enterprise, Business-Process and Information Systems Modeling; Schmidt, R., Guédria, W., Bider, I., Guerreiro, S., Eds.; Springer International Publishing: Cham, Switzerland, 2016; pp. 3–17. [Google Scholar]
- Athreya, A.P.; Tague, P. Network self-organization in the Internet of Things. In Proceedings of the 2013 IEEE International Workshop of Internet-of-Things Networking and Control (IoT-NC), New Orleans, LA, USA, 24 June 2013; pp. 25–33. [Google Scholar] [CrossRef] [Green Version]
- Casalicchio, E.; Perciballi, V. Auto-Scaling of Containers: The Impact of Relative and Absolute Metrics. In Proceedings of the 2017 IEEE 2nd International Workshops on Foundations and Applications of Self* Systems (FAS*W), Tucson, AZ, USA, 18–22 September 2017; pp. 207–214. [Google Scholar] [CrossRef]
- Gerostathopoulos, I.; Skoda, D.; Plasil, F.; Bures, T.; Knauss, A. Architectural Homeostasis in Self-Adaptive Software-Intensive Cyber-Physical Systems. In Software Architecture; Tekinerdogan, B., Zdun, U., Babar, A., Eds.; Springer International Publishing: Cham, Switzerland, 2016; pp. 113–128. [Google Scholar]
- Ilyushkin, A.; Ali-Eldin, A.; Herbst, N.; Bauer, A.; Papadopoulos, A.V.; Epema, D.; Iosup, A. An Experimental Performance Evaluation of Autoscalers for Complex Workflows. ACM Trans. Model. Perform. Eval. Comput. Syst. 2018, 3. [Google Scholar] [CrossRef] [Green Version]
- Podolskiy, V.; Jindal, A.; Gerndt, M.; Oleynik, Y. Forecasting Models for Self-Adaptive Cloud Applications: A Comparative Study. In Proceedings of the 2018 IEEE 12th International Conference on Self-Adaptive and Self-Organizing Systems (SASO), Trento, Italy, 3–7 September 2018; pp. 40–49. [Google Scholar] [CrossRef]
- An Architectural Blueprint for Autonomic Computing; Autonomic Computing White Paper, Technical Report; IBM: Hawthorne, NY, USA, 2006.
# | Scale-Out Equation | Scale-In Equation | Average Message Waiting Time | Instance Seconds | # Scaling Actions |
---|---|---|---|---|---|
1 | (3) | (5) | 64 ms. | 1591 | 12 |
1 (new) | (4) | (6) | 16 ms. | 1683 | 12 |
2 | (7) | (5) | 15 ms. | 1699 | 12 |
2 (new) | (8) | (6) | 16 ms. | 1732 | 12 |
3 | (9) | (15) | 3184 ms. | 1273 | 8 |
3 (new) | (11) | (16) | 2566 ms. | 1304 | 10 |
# | Scale-Out Equation | Scale-In Equation | Waiting Time (Seconds) | |||||
---|---|---|---|---|---|---|---|---|
[0,2) | [2,4) | [4,6) | [6,8) | [8,10) | [10,∞) | |||
1 | (3) | (5) | 99.97% | 0.03% | – | – | – | – |
1 (new) | (4) | (6) | 100.00% | – | – | – | – | – |
2 | (7) | (5) | 100.00% | – | – | – | – | – |
2 (new) | (8) | (6) | 100.00% | – | – | – | – | – |
3 | (9) | (15) | 42.09% | 22.16% | 17.63% | 10.69% | 4.57% | 2.87% |
3 (new) | (11) | (16) | 52.94% | 17.45% | 16.10% | 8.99% | 2.81% | 1.70% |
© 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
Chindanonda, P.; Podolskiy, V.; Gerndt, M. Self-Adaptive Data Processing to Improve SLOs for Dynamic IoT Workloads. Computers 2020, 9, 12. https://doi.org/10.3390/computers9010012
Chindanonda P, Podolskiy V, Gerndt M. Self-Adaptive Data Processing to Improve SLOs for Dynamic IoT Workloads. Computers. 2020; 9(1):12. https://doi.org/10.3390/computers9010012
Chicago/Turabian StyleChindanonda, Peeranut, Vladimir Podolskiy, and Michael Gerndt. 2020. "Self-Adaptive Data Processing to Improve SLOs for Dynamic IoT Workloads" Computers 9, no. 1: 12. https://doi.org/10.3390/computers9010012
APA StyleChindanonda, P., Podolskiy, V., & Gerndt, M. (2020). Self-Adaptive Data Processing to Improve SLOs for Dynamic IoT Workloads. Computers, 9(1), 12. https://doi.org/10.3390/computers9010012