An Architecture and Stochastic Method for Database Container Placement in the Edge-Fog-Cloud Continuum

Databases as software components may be used to serve a variety of smart applications. Currently, the Internet of Things (IoT), Artificial Intelligence (AI) and Cloud technologies are used in the course of projects such as the Horizon 2020 EU-Korea DECENTER project in order to implement four smart applications in the domains of Smart Homes, Smart Cities, Smart Construction and Robot Logistics. In these smart applications the Big Data pipeline starts from various sensor and video streams to which AI and feature extraction methods are applied. The resulting information is stored in database containers, which have to be placed on Edge, Fog or Cloud infrastructures. The placement decision depends on complex application requirements, including Quality of Service (QoS) requirements. Information that must be considered when making placement decisions includes the expected workload, the list of candidate infrastructures, geolocation, connectivity and similar. Software engineers currently perform such decisions manually, which usually leads to QoS threshold violations. This paper aims to automate the process of making such decisions. Therefore, the goals of this paper are to: (1) develop a decision making method for database container placement; (2) formally verify each placement decision and provide probability assurances to the software engineer for high QoS; and (3) design and implement a new architecture that automates the whole process. A new optimisation method is introduced, which is based on the theory and practice of stochastic Markov Decision Processes (MDP). It uses as input monitoring data from the container runtime, the expected workload and user-related metrics in order to automatically construct a probabilistic finite automaton. The generated automaton is used for both automated decision making and placement success verification. The method is implemented in Java. It also uses the PRISM model-checking tool. Kubernetes is used in order to automate the whole process when orchestrating database containers across Edge, Fog and Cloud infrastructures. Experiments are performed for NoSQL Cassandra database containers for three representative workloads of 50000 (workload 1), 200000 (workload 2) and 500000 (workload 3) CRUD database operations. Five computing infrastructures serve as candidates for database container placement. The new MDP-based method is compared with the widely used Analytic Hierarchy Process (AHP) method. The obtained results are used to analyse container placement decisions. When using the new MDP based method there were no QoS violations in any of the placement cases, while when using the AHP based method the placement results in some QoS threshold violations in all workload cases. Due to its properties, the new MDP method is particularly suitable for implementation. The paper also describes a multi-tier distributed computing system that uses multi-level (infrastructure, container, application) monitoring metrics and Kubernetes in order to orchestrate database containers across Edge, Fog and Cloud nodes. This architecture demonstrates fully automated decision making and high QoS container operation.

[1]  Mohsen Guizani,et al.  Internet of Things: A Survey on Enabling Technologies, Protocols, and Applications , 2015, IEEE Communications Surveys & Tutorials.

[2]  Ioannis Konstantinou,et al.  Automated, Elastic Resource Provisioning for NoSQL Clusters Using TIRAMOLA , 2013, 2013 13th IEEE/ACM International Symposium on Cluster, Cloud, and Grid Computing.

[3]  Sneha A. Dalvi,et al.  Internet of Things for Smart Cities , 2017 .

[4]  Dana Petcu,et al.  Developing a Model Driven Approach for engineering applications based on mOSAIC , 2013, Cluster Computing.

[5]  Ling Li,et al.  QoS-Aware Scheduling of Services-Oriented Internet of Things , 2014, IEEE Transactions on Industrial Informatics.

[6]  Cees T. A. M. de Laat,et al.  A Software Workbench for Interactive, Time Critical and Highly Self-Adaptive Cloud Applications (SWITCH) , 2015, 2015 15th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing.

[7]  Vlado Stankovski,et al.  QoS-Aware Orchestration of Network Intensive Software Utilities within Software Defined Data Centres , 2018, Journal of Grid Computing.

[8]  Nelson Luis Saldanha da Fonseca,et al.  The Internet of Things, Fog and Cloud Continuum: Integration and Challenges , 2018, Internet Things.

[9]  Kris K. Hauser,et al.  Artificial intelligence framework for simulating clinical decision-making: A Markov decision process approach , 2013, Artif. Intell. Medicine.

[10]  Inderveer Chana,et al.  Q-aware: Quality of service based cloud resource provisioning , 2015, Comput. Electr. Eng..

[11]  Kenneth Dixon,et al.  Introduction to Stochastic Modeling , 2011 .

[12]  Martin L. Puterman,et al.  Markov Decision Processes: Discrete Stochastic Dynamic Programming , 1994 .

[13]  Frank Ciesinski,et al.  On Probabilistic Computation Tree Logic , 2004, Validation of Stochastic Systems.

[14]  Alex Bateman,et al.  An introduction to hidden Markov models. , 2007, Current protocols in bioinformatics.

[15]  Rolf Stadler,et al.  Resource Management in Clouds: Survey and Research Challenges , 2015, Journal of Network and Systems Management.

[16]  Bu-Sung Lee,et al.  Optimization of Resource Provisioning Cost in Cloud Computing , 2012, IEEE Transactions on Services Computing.

[17]  Ali Miri,et al.  An End-to-End QoS Mapping Approach for Cloud Service Selection , 2013, 2013 IEEE Ninth World Congress on Services.

[18]  Joan Serrat,et al.  Management and orchestration challenges in network functions virtualization , 2016, IEEE Communications Magazine.

[19]  Jianhua Gu,et al.  A Scheduling Strategy on Load Balancing of Virtual Machine Resources in Cloud Computing Environment , 2010, 2010 3rd International Symposium on Parallel Architectures, Algorithms and Programming.

[20]  Ioannis Konstantinou,et al.  Dependable Horizontal Scaling Based on Probabilistic Model Checking , 2015, 2015 15th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing.

[21]  Yan Chen,et al.  QoS Requirements of Network Applications on the Internet , 2004, Inf. Knowl. Syst. Manag..

[22]  Weisong Shi,et al.  Edge Computing: Vision and Challenges , 2016, IEEE Internet of Things Journal.

[23]  Cees T. A. M. de Laat,et al.  Developing and Operating Time Critical Applications in Clouds: The State of the Art and the SWITCH Approach , 2015, Cloud Forward.

[24]  Sandeep K. Sood,et al.  Scheduling of big data applications on distributed cloud based on QoS parameters , 2014, Cluster Computing.

[25]  Jun Yang,et al.  An adaptive service selection method for cross‐cloud service composition , 2013, Concurr. Comput. Pract. Exp..

[26]  Radu Prodan,et al.  Guest Editors’ Introduction: Special Issue on Storage for the Big Data Era , 2018, Journal of Grid Computing.

[27]  Marko Grobelnik,et al.  A Capillary Computing Architecture for Dynamic Internet of Things: Orchestration of Microservices from Edge Devices to Fog and Cloud Providers , 2018, Sensors.

[28]  Prateek Sharma,et al.  Transiency-driven Resource Management for Cloud Computing Platforms , 2018 .

[29]  A. Taleb-Bendiab,et al.  A Comparative Study into Distributed Load Balancing Algorithms for Cloud Computing , 2010, 2010 IEEE 24th International Conference on Advanced Information Networking and Applications Workshops.

[30]  Vlado Stankovski,et al.  Supporting smart construction with dependable edge computing infrastructures and applications , 2018 .

[31]  Rajkumar Buyya,et al.  A framework for ranking of cloud computing services , 2013, Future Gener. Comput. Syst..

[32]  Zibin Zheng,et al.  QoS Ranking Prediction for Cloud Services , 2013, IEEE Transactions on Parallel and Distributed Systems.

[33]  Nabor das Chagas Mendonça,et al.  A multi-criteria approach for assessing cloud deployment options based on non-functional requirements , 2015, SAC.

[34]  Zongpeng Li,et al.  Dynamic resource provisioning in cloud computing: A randomized auction approach , 2014, IEEE INFOCOM 2014 - IEEE Conference on Computer Communications.

[35]  Raja Lavanya,et al.  Fog Computing and Its Role in the Internet of Things , 2019, Advances in Computer and Electrical Engineering.

[36]  Zhu Han,et al.  Resource Management in Cloud Networking Using Economic Analysis and Pricing Models: A Survey , 2017, IEEE Communications Surveys & Tutorials.

[37]  Sunilkumar S. Manvi,et al.  Resource management for Infrastructure as a Service (IaaS) in cloud computing: A survey , 2014, J. Netw. Comput. Appl..

[38]  Ramakrishnan Rajamony,et al.  An updated performance comparison of virtual machines and Linux containers , 2015, 2015 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS).

[39]  Zenon Chaczko,et al.  Availability and Load Balancing in Cloud Computing , 2011 .

[40]  Carlos Juiz,et al.  Genetic Algorithm for Multi-Objective Optimization of Container Allocation in Cloud Architecture , 2017, Journal of Grid Computing.

[41]  Peter Deussen,et al.  Current and Future Challenges of Software Engineering for Services and Applications , 2016, Cloud Forward.