Dynamic, behavioral-based estimation of resource provisioning based on high-level application terms in Cloud platforms

https://doi.org/10.1016/j.future.2012.05.009Get rights and content

Abstract

Delivering Internet-scale services and IT-enabled capabilities as computing utilities has been made feasible through the emergence of Cloud environments. While current approaches address a number of challenges such as quality of service, live migration and fault tolerance, which is of increasing importance, refers to the embedding of users’ and applications’ behaviour in the management processes of Clouds. The latter will allow for accurate estimation of the resource provision (for certain levels of service quality) with respect to the anticipated users’ and applications’ requirements. In this paper we present a two-level generic black-box approach for behavioral-based management across the Cloud layers (i.e., Software, Platform, Infrastructure): it provides estimates for resource attributes at a low level by analyzing information at a high level related to application terms (Translation level) while it predicts the anticipated user behaviour (Behavioral level). Patterns in high-level information are identified through a time series analysis, and are afterwards translated to low-level resource attributes with the use of Artificial Neural Networks. We demonstrate the added value and effectiveness of the Translation level through different application scenarios: namely FFMPEG encoding, real-time interactive e-Learning and a Wikipedia-type server. For the latter, we also validate the combined level model through a trace-driven simulation for identifying the overall error of the two-level approach.

Highlights

► Translation from high level application terms to resource level attributes. ► Identification of usage patterns and prediction. ► Combined validation and trace driven simulation of the two-level prediction.

Introduction

Virtualization of hardware, rapid service provisioning, scalability, elasticity, accounting granularity as well as various cost allocation models enable Clouds to efficiently adapt service provisioning  [1] to the dynamic demands of Internet users. In such Cloud environments that provide an infrastructure able to facilitate the needs of added-value services  [2], several providers deliver services according to the Software, Platform, Infrastructure (SPI) service model  [3]. The contractual relationships between these providers are reflected in the corresponding Service Level Agreements (SLAs)  [4], which legally bind the actors and incorporate the information on each level/layer.

  • The “Application SLA”, between the Software-as-a-Service (SaaS) and the Platform-as-a-Service (PaaS) providers, includes high-level application parameters. These can be broken down to workload parameters (e.g., number of users) and QoS terms (e.g., response time, frames per second during a video transmission, etc.)—also known as Key Performance Indicators (KPIs). They are defined by the Application Developers in the SaaS layer, included in the A-SLA and made concrete by the clients of the service for each individual application instance.

  • The “Technical SLA” between the PaaS provider and the Infrastructure-as-a-Service (IaaS) provider includes low-level hardware parameters (i.e., resource attributes) that should be provided in order to fulfill the requirements expressed in the Application SLA.

In this complex and multi-layer ecosystem (Fig. 1), one of the most critical steps is the role of the PaaS in translating the high-level application parameters (workload and QoS, as these are expressed in the Application SLA) to resource level attributes (as these are needed to be expressed in the Technical SLA).

However, the exchange of information between the entities located in different layers is difficult for technical and business reasons. On the one hand, it is unlikely for these entities, especially for the application providers and the infrastructure providers, to expose/reveal the internal operational parameters and processes to other layers due to the risk of competitors accessing this information. On the other hand, exchange of such information is not always technically feasible. Each entity focuses on a particular set of parameters that can be interpreted by this layer and based on these parameters the respective mechanisms for service provisioning and QoS enforcement are implemented. Lack of cloud standards across the cloud layers is another big issue that disallows the effective share of information between different entities. Some prospective attempts towards this direction include OCCI  [5] and OVF  [6]. At this point it must be noted that if there is a direct liaison between the consumer and the IaaS provider (the case where SaaS is offered directly through IaaS), the same translation issue exists, with the only difference that now the IaaS provider is responsible for dealing with it.

Furthermore, a major challenge for SaaS providers wanting to exploit the benefits of cloud computing is to manage QoS commitments to customers throughout the service lifecycle. The complexity of this problem increases considering the non-deterministic behaviour of the users. While targeted tools and services are provided in the PaaS layer (e.g., application and performance modeling, enactment and monitoring of application execution, evaluation of events and corrective actions, etc.), behavioral-based management of the services lifecycle requires mechanisms that abstract the aforementioned complexity by providing on-demand usage patterns and estimates for high-level application workload parameters. These will allow for optimum and automated management of QoS commitments by proactively detecting potential SLA violations and thus allowing for triggering the appropriate preventing actions (i.e., resource provision to efficiently facilitate the estimated requirements).

In this paper, we present a generic black-box approach for correlating resource attributes at a low level with information at a high level related both to application terms and to users’ behaviour. The approach includes a time series analysis mechanism for identifying and estimating high-level parameters with respect to the workload of the application (e.g., number of users, frequency of requests, geographical distribution, etc.), and a translation mechanism to convert these high-level parameters to resource attributes, which can be negotiated with IaaS providers in order to provide the corresponding resource. Both of these mechanisms are based on Artificial Neural Networks (ANNs), which are being used on a per software component basis and with application-specific terms (that vary depending on the examined scenario) and different hardware configurations. In one of our previous works  [7], a translation mechanism was presented, that took as a prerequisite the specification of the workload parameters by the client. In this approach through the addition of the Behavioral Layer, the clients may insert only the needed KPI levels.

The major advantages of the enhanced approach are the following: (i) enabling environments to facilitate real-time and interactive applications through the provision of accurate estimates during runtime with regard to the anticipated workload—leading to the required resource provision, (ii) cost minimization and provision of QoS guarantees through proactive SLA violation detection, (iii) increased business agility enabled by the decreased time at which additional capacity can be offered, (iv) optimized infrastructure capacity and utilization through the exploitation of the anticipated workload information, (v) limited amount of information that needs to be passed across the Cloud stack layers and (vi) applicability to different software components due to the generic and flexible nature of ANNs.

Finally we must stress that these methods were selected due to the specific Cloud characteristics of entity separation in the SPI model (that limits the exchange of information between the layers) and the ability to regulate resources automatically through available interfaces. Furthermore, they were selected in an effort to create a generic framework that can handle different types of applications (but with application-specific characteristics) in an automated way as would be expected by a large scale PaaS provider. In more general web scenarios where these limitations may not exist, the proposed methods may also be applied, given that suitable elastic interfaces exist. However there may be other methods too, like analytical modeling, which may perform better. Analytical modeling in general needs significant amounts of information regarding the internal structure of the applications and a sufficient amount of time spent by an expert to design and fine-tune it. If the general web scenario is for a specific application for example, then this type of modeling would be more efficient. However it cannot be realistically applied in a PaaS provider that has to model numerous services.

The following relevant works to the one presented in this paper are listed and analyzed in Section  2, while the core of the proposed approach appears in Section  3. Indicative case studies of the application of the approach are described in Section  4, while detailed evaluation is contained in Section  5. The paper concludes with a discussion on future research and potentials for the current study.

Section snippets

Related work

Numerous interesting works have been identified with respect to the aforementioned issues. In  [8], the importance of applying ANNs in the service oriented field is demonstrated. In this approach, the main goal of the ANN is to set up technical targets of design attributes of web service systems in terms of quality goals. In this process it takes under consideration the relationships between quality of service requirements and design attributes of a web service system. A number of critical

Two-layer estimation mechanism

The major goal of Clouds at the moment is to offer infrastructures that are self-manageable and QoS-aware. In order to achieve this, various approaches have been followed, as seen in the related work. From these we have followed the approach discussed in  [17], which divides the SLA process in two stages (Application-SLA and Technical-SLA), as has been portrayed also in the introduction.

Case studies

The case studies presented in this section are separated again into two levels. We consider three cases with different inputs and outputs, to show the flexibility of our proposed black box approach. These include differentiations on the hardware attributes that are used by the IaaS providers for reserving resources and on the software components that need translation. For the Behavioral level, we consider joining one of the Translation case studies to the time series analysis in order to create

Accuracy and structure of the translation ANN models

As has been described in the previous sections, ANNs can be used to directly translate application terms to resource attributes with very little information provided by the Application Developer. But is the accuracy of these translation rules satisfactory? Do the reserved resources meet the expected QoS?

For investigating this factor, the ability of the networks to predict the performance of the software components was measured. The available datasets were obtained through sampling. For example,

Conclusions

The translation problem from application-level terms (workload and QoS) to resource-level attributes is a challenging issue in the modern Cloud computing stack, mainly due to the discrete roles between the layers (SaaS, PaaS, IaaS) and the limited amount of information available from one layer to the other. Furthermore, the management of a service running on a virtualized infrastructure requires a priori knowledge of the anticipated future traffic. In this paper, a generic approach that is

Acknowledgments

This research is partially funded by the European Commission as part of the European IST 7th Framework Program through the projects IRMOS under contract number 214777 and OPTIMIS under contract number 25715. The authors would also like to thank Prof. Anastasios Doulamis for his valuable experience and suggestions with regard to the machine learning methods used.

George Kousiouris received his diploma in Electrical and Computer Engineering from the University of Patras, Greece in 2005. He is currently pursuing his Ph.D. in Grid and Cloud computing at the Telecommunications Laboratory of the Dept. of Electrical and Computer Engineering of the National Technical University of Athens and is a researcher for the Institute of Communication and Computer Systems (ICCS). He has participated in the EU funded projects BEinGRID IRMOS and OPTIMIS and the National

References (45)

  • George Kousiouris et al.

    The effects of scheduling, workload type and consolidation scenarios on virtual machine performance and their prediction through optimized artificial neural networks

    Journal of Systems and Software

    (2011)
  • T. Erl

    Service-Oriented Architecture: Concepts, Technology, and Design

    (2005)
  • Michael Armbrust et al.

    A view of cloud computing

    Communications of the ACM

    (2010)
  • L. Youseff, M. Butrico, D. Da Silva, Toward a unified ontology of cloud computing. In: Grid Computing Environments...
  • Markus Böhm et al.

    Towards a generic value network for cloud computing

  • Open, Cloud computing interface working group....
  • Open Virtualization, Format specification. Available at:...
  • George Kousiouris, Dimosthenis Kyriazis, Spyridon V. Gogouvitis, Andreas Menychtas, Kleopatra Konstanteli, Theodora A....
  • Lianzhang Zhu et al.

    Technical target setting in QFD for web service systems using an artificial neural network

    IEEE Transactions on Services Computing

    (2010)
  • Vincent C. Emeakaroha, Ivona Brandic, Michael Maurer, Schahram Dustdar, Low level metrics to high level SLAs—LoM2HiS...
  • Yuan Chen, S. Iyer, Xue Liu, D. Milojicic, A. Sahai, SLA decomposition: translating service level objectives to system...
  • Jae W. Lee, Krste Asanovic, METERG: measurement-based end-to-end performance estimation technique in QoS-capable...
  • Zhengting He, Cheng Peng, Aloysius Mok, A performance estimation tool for video applications, in: RTAS, 12th IEEE...
  • A. Strube, D. Rexachs, E. Luque, Software probes: towards a quick method for machine characterization and application...
  • Rui Zhang et al.

    Comparing the use of Bayesian networks and neural networks in response time modeling for service-oriented systems

  • Ripal Nathuji et al.

    Q-clouds: managing performance interference effects for QoS-aware clouds

  • J. Happe et al.
  • Georgina Gallizo, Roland Kübert, Karsten Oberle, Klaus Satzke, Spyridon V. Gogouvitis, Gregory Katsaros, Eduardo...
  • Alex Guazzelli et al.

    Efficient deployment of predictive analytics through open standards and cloud computing

    SIGKDD Explor. Newsl.

    (2009)
  • Jia Rao, Xiangping Bu, Cheng-Zhong Xu, Leyi Wang, George Yin, VCONF: a reinforcement learning approach to virtual...
  • Gerald Tesauro et al.

    On the use of hybrid reinforcement learning for autonomic resource allocation

  • Giovanni Toffetti, Alessio Gambi, Mauro Pezzè, Cesare Pautasso, Engineering autonomic controllers for virtualized web...
  • Cited by (56)

    • Deadline-based dynamic resource allocation and provisioning algorithms in Fog-Cloud environment

      2020, Future Generation Computer Systems
      Citation Excerpt :

      This algorithm is for scientific workflow scheduling in the Cloud environment. Kousiouris et al. [26] proposed dynamic and behavioural-based resource provisioning estimations using a two-level generic black-box approach. These levels are based on Artificial Neural Networks (ANN) but with special architecture in which Key Performance Indicators (KPIs) need to be specified by the users, instead of workload parameters.

    • A survey on FinTech

      2018, Journal of Network and Computer Applications
    • Approaches for optimizing virtual machine placement and migration in cloud environments: A survey

      2018, Journal of Parallel and Distributed Computing
      Citation Excerpt :

      According to [47], ”a virtual machine is an abstract unit of storage and computing capacity provided in a cloud”. It is frequently seen as a black box containing basic (OS) and application software running isolated from the host OS [24,45,87,101]. A VM is a complete computer system which runs in an isolated environment [84] and whose hardware is emulated through software.

    View all citing articles on Scopus

    George Kousiouris received his diploma in Electrical and Computer Engineering from the University of Patras, Greece in 2005. He is currently pursuing his Ph.D. in Grid and Cloud computing at the Telecommunications Laboratory of the Dept. of Electrical and Computer Engineering of the National Technical University of Athens and is a researcher for the Institute of Communication and Computer Systems (ICCS). He has participated in the EU funded projects BEinGRID IRMOS and OPTIMIS and the National project GRID-APP. In the past he has worked for private telecommunications companies. His interests are mainly computational intelligence, optimization, computer networks and web services.

    Andreas Menychtas graduated from the School of Electrical and Computer Engineering, National Technical University of Athens (NTUA) in 2004. In 2009, he received his Ph.D. in the area of Distributed Computing from the School of Electrical and Computer Engineering of the National Technical University of Athens. He worked in the private sector as a computer and network engineer and has been involved in several EU and National funded projects such as GRIA, NextGRID, EGEE, IRMOS, HellasGRID and GRID-APP. His research interests include Distributed Systems, Web Services, Object Oriented Programming, Service Oriented Architectures, and Security and Information Engineering. Currently, he works as a research engineer in the Institute of Communication and Computer Systems (ICCS) of the National Technical University of Athens.

    Dimosthenis Kyriazis received his diploma from the School of Electrical and Computer Engineering of the National Technical University of Athens (NTUA) in 2001 and his M.Sc. degree in “Techno-economics” in 2004 (co-organized by the Electrical and Computer Engineering Dept–NTUA, Economic Sciences Dept.–National Kapodistrian University of Athens, Industrial Management Dept.–University of Piraeus). Since 2007, he holds a Ph.D. in the area of Service Oriented Architectures with a focus on quality aspects and workflow management from the School of Electrical and Computer Engineering of NTUA. His expertise lies with service-based, distributed and heterogeneous systems, software and service engineering. As a Senior Research Engineer of the Institute of Communication and Computer Systems (ICCS) of NTUA, he has participated in several EU and National funded projects (e.g. VISION Cloud, 4CaaSt, BEinGRID, NextGRID, AkoGRIMO, HPC-Europa, EchoGRID, CHALLENGERS, HellasGRID, USNES) leading research on addressing issues related to quality of service provisioning, fault tolerance, workflow management, performance modeling in service oriented environments and application domains such as multimedia, post-production, virtual reality, finance, e-health and others. He also serves as the QoS & SLAs EU Collaboration Working Group leader.

    Spyridon Gogouvitis was born in Athens, Greece in 1982. He received the Dipl. -Ing. from the School of Electrical and Computer Engineering of the National Technical University of Athens (NTUA) in 2006. He is currently pursuing his Ph.D. in the Telecommunication Laboratory of the Electrical and Computer Engineering School of NTUA. He is also working as a research associate in the Institute of Communication and Computer Systems (ICCS). In the past he has worked as a developer for the Hellenic Army Information Systems Support Centre and as a consultant for the General Secretariat for Information Systems of the Hellenic Ministry of Economy and Finance. He has also been involved in various EU and National funded projects. His research interests include Cloud Computing, Web Services and Service Oriented Architectures, Mobile and Ubiquitous Computing.

    Theodora Varvarigou received the B. Tech degree from the National Technical University of Athens, Athens, Greece in 1988, the MS degrees in Electrical Engineering (1989) and in Computer Science (1991) from Stanford University, Stanford, California in 1989 and the Ph.D. degree from Stanford University as well in 1991. She worked at AT&T Bell Labs, Holmdel, New Jersey between 1991 and 1995. Between 1995 and 1997 she worked as an Assistant Professor at the Technical University of Crete, Chania, Greece. Since 1997 she was elected as an Assistant Professor while since 2007 she is a Professor at the National Technical University of Athens, and Director of the Postgraduate Course “Engineering Economics Systems”. Prof. Varvarigou has great experience in the area of semantic web technologies, scheduling over distributed platforms, embedded systems and grid computing. In this area, she has published more than 150 papers in leading journals and conferences.

    View full text