Computing and Information Systems - Theses

Permanent URI for this collection

Search Results

Now showing 1 - 4 of 4
  • Item
    Thumbnail Image
    Intelligent Scaling of Container-based Web Applications in Geographically Distributed Clouds
    Aldwyan, Yasser ( 2021)
    Cloud data centers are increasingly distributed around the globe. Recently, containerisation, a lightweight virtualization technology, has been rapidly adopted as an application packaging mechanism for efficient, consistent web application deployment and scaling within and across Cloud-based data centers. To leverage Cloud elasticity and scalability, containers commonly run on elastic, scalable clusters of virtual machines (VMs). Such global infrastructure and lightweight deployment capabilities offer a perfect choice for deploying latency-sensitive web applications in multiple locations to serve globally distributed users. However, managing container-based web applications, including containers and VMs, in widely dispersed data centers currently lacks intelligent deployment and elasticity capabilities from Cloud providers. This thesis investigates several problems related to the lack of such capabilities. This includes problems of deployment such as where and how to deploy VM clusters as well as geo-replicated application containers across data centers to address potential outages while considering wide-area network latency issues. It also considers how to dynamically deploy clusters across data centers to handle potential spatial workload fluctuations with minimum costs. This in turn gives rise to elasticity problems for multi-cluster container-based web applications deployed to multiple data centers. These problems include how to rapidly scale overloaded clusters at the VM level through temporary inter-cluster resource utilisation to avoid Cloud VM provisioning delays. Ideally this should provide sufficient VM resources for the timely launching of new containers in response to sudden workload spikes and avoid costly resource over-provisioning. A further challenge is how to control elastic scaling for both containers and VMs while considering application-level metrics and potential variations in container processing capacity, due to performance interference in shared Cloud data centers. Key to this is the need to optimise performance, availability and costs in a flexible and intelligent manner. This thesis aims to enhance the state-of-the-art in the deployment and elasticity of container-based web applications in geographically distributed Cloud environments, by tacking the above-mentioned problems using meta-heuristics and queuing theory. The thesis makes the following key contributions: 1. it provides an approach for latency-aware failover deployment of container-based web applications across multiple Cloud-based data centers to maintain performance with associated SLOs under normal conditions and in the presence of failures; 2. it provides an approach for dynamic elastic deployment of container-based clusters, both in terms of the quantity and placement across data centers whilst offering trade offs between cost and performance in the context of geographic web workload changes; 3. it offers a cost-efficient, rapid auto-elastic scaling approach for bursty multi-cluster container-based web applications deployed across data centers that scales containers in overloaded situations in a timely and cost-efficient fashion; 4. it presents a two-level elasticity controller algorithm that seamlessly auto-scales at both the container and VM levels based on application-level metrics and queuing-based performance models through estimating the container capacity needed without violating SLOs; 5. it supports dynamic, inter-data center latency aware container scheduling policies for cross-data center clusters that are able to optimise the overall performance, and 6. it presents extensive experiments using case studies based on the container technologies Docker, Docker-Swarm and Kubernetes on the Australia-wide distributed Cloud computing environment (NeCTAR) and international (commercial) cloud data centres.
  • Item
    Thumbnail Image
    Distributed data stream processing and task placement on edge-cloud infrastructure
    Amarasinghe, Gayashan Niroshana ( 2021)
    Indubitable growth of smart and connected edge devices with substantial processing power has made ubiquitous computing possible. These edge devices either produce streams of information related to the environment in which they are deployed or the devices can be located in proximity to such information producers. Distributed Data Stream Processing is a programming paradigm that is introduced to process these event streams to acquire relevant insights in order to make informed decisions. While deploying data stream processing frameworks on distributed cloud infrastructure has been the convention, for latency critical real-time applications that rely on data streams produced outside the cloud on the edge devices, the communication overhead between the cloud and the edge is detrimental. The privacy concerns surrounding where the data streams are processed is also contributing to the move towards utilisation of the edge devices for processing user-specific data. The emergence of Edge Computing has helped to mitigate these challenges by enabling to execute processes on edge devices to utilise their unused potential. Distributed data stream processing that shares edge and cloud computing infrastructure is a nascent field which we believe to have many practical applications in the real world such as federated learning, augmented/virtual reality and healthcare applications. In this thesis, we investigate novel modelling techniques and solutions for sharing the workload of distributed data stream processing applications that utilise edge and cloud computing infrastructure. The outcome of this study is a series of research works that emanates from a comprehensive model and a simulation framework developed using this model, which we utilise to develop workload sharing strategies that consider the intrinsic characteristics of data stream processing applications executed on edge and cloud resources. First, we focus on developing a comprehensive model for representing the inherent characteristics of data stream processing applications such as the event generation rate and the distribution of even sizes at the sources, the selectivity and productivity distribution at the operators, placement of tasks onto the resources, and recording the metrics such as end-to-end latency, processing latency, networking latency and the power consumption. We also incorporate the processing, networking, power consumption, and curating characteristics of edge and cloud computing infrastructure to the model from the perspective of data stream processing. Based on our model, we develop a simulation tool, which we call ECSNeT++, and verify its accuracy by comparing the latency and power consumption metrics acquired from the calibrated simulator and a real test-bed, both of which execute identical applications. We show that ECSNeT++ can model a real deployment, with proper calibration. With the public availability of ECSNeT++ as an open source software, and the verified accuracy of our results, ECSNeT++ can be used effectively for predicting the behaviour and performance of stream processing applications running on large scale, heterogeneous edge and cloud computing infrastructure. Next, we investigate how to optimally share the application workload between the edge and cloud computing resources while upholding quality of service requirements. A typical data stream processing application is formed as a directed acyclic graph of tasks that consist of sources that generate events, operators that process incoming events and sinks that act as destinations for event streams. In order to share the workload of such an application, these tasks need to placed onto the available computing resources. To this end, we devise an optimisation framework, consisting of a constraint satisfaction formulation and a system model, that aims to minimise end-to-end latency through appropriate placement of tasks either on cloud or edge devices. We test our optimisation framework using ECSNeT++, with realistic topologies and calibration, and show that compared to edge-only and cloud-only placements, our framework is capable of achieving 8-14% latency reduction and 14-15% energy reduction when compared to the conventional cloud only placement, and 14-16% latency reduction when compared to a naive edge only placement while also reducing the energy consumption per event by 1-5%. Finally, in order to cater the multitude of applications that operate under dynamic conditions, we propose a semi-dynamic task switching methodology that can be applied to optimise end-to-end latency of the application. Here, we approach the task placement problem for changing environment conditions in two phases: in the first phase respective locally optimal task placements are acquired for discrete environment conditions which are then fed to the second phase, where the problem is modelled as an Infinite Horizon Markov Decision Process with discounted rewards. By solving this problem, an optimal policy can be obtained and we show that this optimal policy can improve the performance of distributed data stream processing applications when compared with a dynamic greedy task placement approach as well as static task placement. For real-world applications executed on ECSNeT++, our approach can improve the latency as much as 10 - 17% on average when compared to a fully dynamic greedy approach.
  • Item
    Thumbnail Image
    Cost-efficient Management of Cloud Resources for Big Data Applications
    Islam, Muhammed Tawfiqul ( 2020)
    Analyzing a vast amount of business and user data on big data analytics frameworks is becoming a common practice in organizations to get a competitive advantage. These frameworks are usually deployed in a computing cluster to meet the analytics demands in every major domain, including business, government, financial markets, and health care. However, buying and maintaining a massive amount of on-premise resources is costly and difficult, especially for start-ups and small business organizations. Cloud computing provides infrastructure, platform, and software systems for storing and processing data. Thus, Cloud resources can be utilized to set up a cluster with a required big data processing framework. However, several challenges need to be addressed for Cloud-based big data processing which includes: deciding how much Cloud resources are needed for each application, how to maximize the utilization of these resources to improve applications' performance, and how to reduce the monetary cost of resource usages. In this thesis, we focus on a user-centric view, where a user can be either an individual or a small/medium business organization who want to deploy a big data processing framework on the Cloud. We explore how resource management techniques can be tailored to various user-demands such as performance improvement, and deadline guarantee for the applications; all while reducing the monetary cost of using the cluster. In particular, we propose efficient resource allocation and scheduling mechanisms for Cloud-deployed Apache Spark clusters.
  • Item
    Thumbnail Image
    Profit optimization of resource management for big data analytics-as-a-service platforms in cloud computing environments
    Zhao, Yali ( 2020)
    Discovering optimal resource management solutions to support data analytics to extract value from big data is an increasingly important research area. It is fair to say that the success of many organizations, companies, and individuals now relies heavily on data analytics solutions. Cloud computing greatly supports big data analytics by providing scalable resources based on user demand and supporting elastic resource provisioning in a pay-as-you-go model. Big data Analytics as a Service (AaaS) platforms provision AaaS to various domains as consumable services in an easy to use manner across cloud computing environments. AaaS platforms aim to deliver efficient data analytics solutions to benefit decision-making and problem solving in a wide range of application domains such as engineering, science, and government. However, big data analytics solutions face a range of challenges: the dynamic nature of query requests; the heterogeneity of cloud resources; the different Quality of Service (QoS) requirements; the potential for lengthy data processing times and associated expensive resource costs and dealing with big data processing demands under potentially limited/constrained budgets, deadlines and/or data accuracies. The above challenges need to be tackled by efficient resource management solutions to support AaaS platforms to deliver reliable, cost-effective and fast AaaS. Optimal resource management solutions are essential for AaaS platforms to maximize profits and minimize query times while guaranteeing Service Level Agreements (SLAs) during AaaS delivery. To tackle the above challenges, this thesis systematically studies profit optimization solutions to support AaaS platforms. Key contributions are made through a range of resource management solutions. These include admission control and resource scheduling algorithms that enable various problem scenarios where data needs to be processed under heterogeneous, constrained or limited budgets, deadlines, or accuracies with support of data splitting and/or data sampling-based methods to reduce data processing times and costs with potential accuracy trade-offs. These algorithms allow AaaS platforms to optimize profits and minimize query times through optimal resource management solutions, and thereby increase market share by maximizing query admissions and improve reputation by delivering SLA-supported AaaS solutions.