
Scientific computing is becoming increasingly data-intensive, and more high-impact discoveries are relying on efficient processing of big scientific data. The popular MapReduce framework such as Hadoop offers an alternative to conventional solutions (e.g., MPI or OpenMP). However, they perform moderately when processing state-transition applications. There are three key challenges: (1) these applications generate the inflated intermediate data that may saturate the network; (2) they may cause substantial synchronization overheads if not managed well; (3) dynamically evolving scientific phenomena result in heterogeneous data distributions, causing significant computation skews. In this paper, we propose Mammoth, an autonomic parallel data processing framework for scientific state-transition applications. Mammoth features a MapReduce-style programming model that is familiar to users. To address the challenges mentioned, it is further enhanced with a series of optimizations that parallelize the computation automatically and efficiently. We evaluate Mammoth via a weather prediction application with real-world datasets. The experimental evaluation demonstrates that Mammoth is competitive with the MPI-based solution and at least 30% faster than the optimized Hadoop-based solution.
Cloud storage services bring users a convenient, cross-device and practical application. A great number of users ranging from individuals to large-scale corporates grow and hold on the almighty information to cloud storage services. However, the lack of guaranteeing data security is a mortal defect resulting in the strong mistrust of users. Therefore, we propose and implement the SecureDropbox system which constructs a secure architecture including key generation, key management, file encryption, and synchronization modules to prevent risks of data disclosure.
The increasing spread of elastic Cloud services, together with the pay-as-you-go pricing model of Cloud computing, has led to the need of an elasticity controller. The controller automatically resizes an elastic service in response to changes in workload, in order to meet Service Level Objectives (SLOs) at a reduced cost. However, variable performance of Cloud Virtual Machines and nonlinearities in Cloud services, such as the diminishing reward of adding a service instance with increasing the scale, complicates the controller design. We present the design and evaluation of ElastMan, an elasticity controller for Cloud-based elastic key-value stores. ElastMan combines feedforward and feedback control. Feedforward control is used to respond to spikes in the workload by quickly resizing the service to meet SLOs at a minimal cost. Feedback control is used to correct modeling errors and to handle diurnal workload. To address nonlinearities, our design of ElastMan leverages the near-linear scalability of elastic Cloud services in order to build a scale-independent model of the service. We have implemented and evaluated ElastMan using the Voldemort key-value store running in an OpenStack Cloud environment. Our evaluation shows the feasibility and effectiveness of our approach to automation of Cloud service elasticity.
The elasticity afforded by cloud computing allows consumers to dynamically request and relinquish computing and storage resources and pay for them on a pay-per-use basis. Cloud computing providers rely on virtualization techniques to manage the dynamic nature of their infrastructure allowing consumers to dynamically allocate and deallocate virtual machines of different capacities. Cloud providers need to optimally decide the best allocation of virtual machines to physical machines as the demand varies dynamically. When making such decisions, cloud providers can migrate VMs already allocated and/or use external cloud providers. This paper considers the problem in which the cloud provider wants to maximize its revenue, subject to capacity, availability SLA, and VM migration constraints. The paper presents a heuristic solution, called Near Optimal (NOPT), to this NP-hard problem and discusses the results of its experimental evaluation in comparison with a best fit (BF) allocation strategy. The results show that NOPT provides a 45% improvement in average revenue when compared with BF for the parameters used in the experiment. Moreover, the NOPT algorithm maintained the availability close to one for all classes of users while BF exhibited a lower availability and even failed to meet the availability SLA at times.
In the past few years, cloud computing has become an integral technology both for the day to day running of corporations, as well as in everyday life as more services are offered which use a backend cloud. At the same time online collaboration tools are becoming more important as both businesses and individuals need to share information and collaborate with other entities. Previous work has presented an architecture for a collaboration online application which allows users in different locations to share videos, images and documents while at the same time video chatting. The application's servers are deployed in a cloud environment which can scale up and down based on demand. Furthermore, the design allows the application to be deployed on multiple clouds which are deployed in different geographic locations. Previous work however did not introduce how the application's up and down scaling is to be achieved. In this paper the autonomic system which manages the self-optimizing function of the cloud is presented. The autonomic system itself is a self-organizing system with a control model based on the leaky-bucket theory often used in network congestion control. A testbed for the collaboration application is used in order to gather performance metrics for the model.
Virtualization technology reduces the costs for server installation, operation, and maintenance and it can simplify the building of distributed systems. Currently, there are various types of virtualization technologies such as Xen, KVM, VMware, etc, and these technologies support various virtualization functions individually on heterogeneous platforms. Therefore, it is required to integrate and manage these heterogeneous virtualized resources in order to build a distributed system supporting current virtualization techniques. In this paper, we propose an integrated management system for managing heterogenous virtual resources. The proposed system is developed based on the following two techniques: a libvirt-based virtualization API and Data Distribution Service (DDS). Libvirt-based virtualization API is to extract information of heterogeneous virtual resources and to control them. DDS is to transmit in real-time the state information and control commands of virtualized resources.
With the advances of cloud computing and virtualization technologies, running MapReduce applications over clouds has been attracting more and more attention in recent years. However, as a fundamental problem, the performance of MapReduce applications can sometimes be severely degraded due to the overheads from I/O virtualization and resource competitions among virtual machines. In this paper, we propose a dynamic block device reconfiguration algorithm in virtual MapReduce clusters, which reduces the data transfer time between virtual machines and thereby improving the performance of MapReduce applications on top of the clouds. The proposed algorithm utilizes a block device reconfiguration scheme, where a block device attached to a virtual machine can be dynamically detached and reattached to other virtual machines at runtime. This scheme allows us to move files easily across different virtual machines without any network transfers between virtual machines. This algorithm is also dynamic in a sense that it estimates the total data transfer times between virtual machines using multiple regression analysis based on CPU utilization and data size, and adaptively determines a least-cost data transfer path between a mapper virtual machine and a reducer virtual machine. We have implemented our algorithm in Hadoop MapReduce. The benchmarking results showed that the overheads incurred by transferring data from mapper virtual machines to reducer virtual machines are minimized and the execution times of MapReduce applications are shortened up to 14 %.
Virtual machine (VM) live migration is a critical feature for managing virtualized environments, enabling dynamic load balancing, consolidation for power management, preparation for planned maintenance, and other management features. However, not all virtual machine live migration is created equal. Variants include memory migration, which relies on shared backend storage between the source and destination of the migration, and storage migration, which migrates storage state as well as memory state. We have developed an automated testing framework that measures important performance characteristics of live migration, including total migration time, the time a VM is unresponsive during migration, and the amount of data transferred over the network during migration. We apply this testing framework and present the results of studying live migration, both memory migration and storage migration, in various virtualization systems including KVM, XenServer, VMware, and Hyper-V. The results provide important data to guide the migration decisions of both system administrators and autonomic cloud management systems.
Peer-to-Peer (P2P) desktop grid computing systems circumvent the performance bottleneck and limited scalability of centralized Grid architectures resulting in a massively scalable and robust system. We have designed a set of protocols that implement a distributed, decentralized desktop grid via P2P techniques. Incoming jobs having different types of resource requirements are matched with system nodes through proximity in an N-dimensional resource space. In this paper, we address problems that arise from static load balancing mechanisms for assigning jobs to nodes that can arise for various reasons, including the heterogeneity of the available nodes or the jobs to be run, and from stale information in the P2P system. We greatly improve upon our prior work by providing lightweight yet effective dynamic load balancing mechanisms to overcome load imbalances caused by the limitations of the initial static job assignment scheme. Unlike other systems, we can effectively support resource constraints of jobs during the course of redistribution since we simplify the problem of matchmaking through building a multi-dimensional resource space and mapping jobs and nodes to this space. Throughout extensive simulation results, we show that dynamic load balancing makes the overall system more scalable, by improving system throughput and response time with low additional overhead.
The proliferation of observational devices and sensors with networking capabilities has led to growth in both the rates and sources of data that ultimately contribute to extreme-scale data volumes. Datasets generated in such settings are often multidimensional, with each dimension accounting for a feature of interest. We posit that efficient evaluation of queries over such datasets must account for both the distribution of data values and the patterns in the queries themselves. Configuring query evaluation by hand is infeasible given the data volumes, dimensionality, and the rates at which new data and queries arrive. In this paper, we describe our algorithm to autonomously improve query evaluations over voluminous, distributed datasets. Our approach autonomously tunes for the most dominant query patterns and distribution of values across a dimension. We evaluate our algorithm in the context of our system, Galileo, which is a hierarchical distributed hash table used for managing geospatial, time-series data. Our system strikes a balance between memory utilization, fast evaluations, and search space reductions. Empirical evaluations reported here are performed on a dataset that is multidimensional and comprises a billion files. The schemes described in this work are broadly applicable to any system that leverages distributed hash tables as a storage mechanism.
In recent years, MapReduce programming model and specifically its open source implementation Hadoop has been widely used by organizations to perform large-scale data processing tasks such as web-indexing, data mining as well as scientific simulations. The key benefits of this programming model include its simple programming interface and ability to process massive datasets in a scalable fashion without requiring high-end computing infrastructure. We observe that the current design of Hadoop framework assumes a centralized execution environment involving a single datacenter. This assumption leads to simplified design decisions in the Hadoop architecture regarding efficient network usage, specifically in the replica-selection policy in Hadoop Distributed File System (HDFS) and in the reduce phase scheduling algorithm. In this paper, we investigate real-world scenarios in which MapReduce programming model and specifically Hadoop framework could be used for processing large-scale, geographically scattered datasets. We show that using the Hadoop framework with default policies can cause severe performance degradation in such geographically distributed environment. We propose and evaluate extensions to Hadoop MapReduce framework to improve its performance in such environments. The evaluation demonstrates that the proposed extensions substantially outperform default policies in the Hadoop framework.
With the rapid growth of data centers and clouds, the power cost and power consumption of their computing and storage resources become critically important to be managed efficiently. Several research studies have shown that data servers typically operate at a low utilization of 10% to 15%, while their power consumption is close to those at peak loads. With this significant fluctuation in the workloads, an elastic delivery of computing services with an efficient power provisioning mechanism becomes an important design goal. Live workload migrations and virtualization are important techniques to optimize power and performance in large-scale data centers [5], [25] This paper presents an application specific autonomic adaptive power and performance management system that utilizes AppFlow-based reasoning to configure dynamically datacenter resources and workload allocations. This system will continuously monitor the workload to determine the current operating point of both workloads and the virtual machines (VMs) running these workloads and then predict the next operating points for these VMs. This enables the system to allocate the appropriate amount of hardware resources that can run efficiently the VM workloads with minimum power consumption. We have experimented with and evaluated our approach to manage the VMs running RUBiS bidding application. Our experimental results showed that our approach can reduce the VMs' power consumption up to 84% compared to static resource allocation and up to 30% compared to other methods with minimum performance degradation.
Recent cloud computing enables numerous scientists to earn advantages by serving on-demand and elastic resources whenever they desire computing resources. This science cloud paradigm has been actively developed and investigated to satisfy requirements of the scientists such as performance, feasibility and so on. However, effective allocation and provisioning virtual machines on clouds are still considered as a challenging issue in scientists using high throughput computing, since it determines whether they can earn benefits from economy of scale in clouds or not. Moreover, allocating the "right" provisioned cloud resources on an optimal data center is very important as performance can vary widely depending on where and under what circumstances it actually runs. In these reasons, it is required that an appropriate and suitable model for science cloud to support increasing scientists and computations. In this paper, we present an allocation and provisioning model of science cloud, especially for high throughput computing applications. In this model, we utilize job traces where statistical method is applied to pick the most influential features for improving application performance. With the feature, the system determines where VM is deployed (allocation) and which instance type is proper (provisioning). An adaptive evaluation step which is subsequent to the job execution enables our model to adapt to dynamical computing environments. We show performance achievements as comparing the proposed model with other policies through experiments. Finally, we expect that improvement on performance as well as reduction of cost from resource consumption through our model.
Content dissemination systems comprise a large number of nodes that organize themselves into different topologies. In this paper, we explore the role of topologies in autonomously coping with failures. The topologies we consider are based on regular, random, small-world, and power law graphs. Connections within these topologies can account for network proximity and are suitable for real-time communications. We explore specific attributes of a topology that contribute to its failure resiliency. The metrics that we use to profile this resilience include: communication path lengths, network partitions, migration of workloads, and the impact on system throughput. This research will allow designers to choose topologies or configure metrics for a specific topology to achieve their performance objectives.
With the continued growth in software environments on cloud application platforms, self-management at the Platform-as-a-Service (PaaS) level has become a pressing concern, and the run-time monitoring, analysis and detection of critical situations are all fundamental requirements if we are to achieve autonomic behaviour in complex PaaS environments. In this paper we focus on cloud application platforms offering their customers a range of generic built-in re-usable services. By identifying key characteristics of these complex dynamic systems, we compare cloud application platforms to distributed sensor networks, and investigate the viability of exploiting these similarities with a case study. We treat cloud data storage services as “virtual” sensors constantly emitting monitoring data, such as numbers of connections and storage space availability, which are then analysed by the central component of a monitoring framework so as to detect and react to SLA violations. We discuss the potential benefits, as well as some shortcomings, of adopting this approach.
The ubiquity of database systems and the emergence of new and different threats require multiple and overlapping security mechanisms. Providing multiple and diverse database intrusion detection and prevention systems (IDPS) is a critical component of the defense-in-depth strategy for DB information systems. However, providing this level of security can greatly impact a system's QoS requirements. It would then be advantageous to use the combination of IDPSs that best meets the security and QoS concerns of the system stakeholders for each workload intensity level. Due to the dynamic variability of the workload intensity, it is not feasible for human beings to continuously reconfigure the system. We offer an autonomic computing approach for a self-protecting and self-optimizing database system environment that captures dynamic and fine-grained tradeoffs between security and QoS. The approach uses a multi-objective utility function that considers security overhead, perceived risk level, and high level stakeholder objectives. We describe the implementation of an autonomic controller that uses combinatorial search techniques and queuing network models to dynamically search for a near-optimal security configuration. We validate our approach experimentally on a TPC-W e-commerce site and show that our approach balances QoS and security goals.
An automated solution to horizontal vs. vertical elasticity problem is central to make cloud autoscalers truly autonomous. Today's cloud autoscalers are typically varying the capacity allocated by increasing and decreasing the number of virtual machines (VMs) of a predefined size (horizontal elasticity), not taking into account that as load varies it may be advantageous not only to vary the number but also the size of VMs (vertical elasticity). We analyze the price/performance effects achieved by different strategies for selecting VM-sizes for handling increasing load and we propose a cost-benefit based approach to determine when to (partly) replace a current set of VMs with a different set. We evaluate our repacking approach in combination with different auto-scaling strategies. Our results show a range of 7% up to 60% cost saving in total resource utilization cost of our sample applications and workloads.
Despite the potential given by the combination of multi-tenancy and virtualization, resource utilization in today's data centers is still low. We identify three key characteristics of cloud services and infrastructure as-a-service management practices: burstiness in service workloads, fluctuations in virtual machine resource usage over time, and virtual machines being limited to pre-defined sizes only. Based on these characteristics, we propose scheduling and admission control algorithms that incorporate resource overbooking to improve utilization. A combination of modeling, monitoring, and prediction techniques is used to avoid overpassing the total infrastructure capacity. A performance evaluation using a mixture of workload traces demonstrates the potential for significant improvements in resource utilization while still avoiding overpassing the total capacity.
According to data volumes in scientific applications have grown exponentially, new scientific methods to analyze and organize the data are required. Especially these methods need to support effective infrastructure composed of computing resources that are used for pre-processing and post-processing of scientific data. In this paper, we describe the design of a framework to support data transformation and reduction, in which is an essential phase to handling a large scale of data in a climate simulation. In order for efficient data movement in the designed framework we use the pushpull framework provided by Apache OODT.
We present a federation model to support the dynamic federation of resources and autonomic management mechanisms that coordinate multiple workflows to use resources based on objectives. We illustrate the effectiveness of the proposed framework and autonomic mechanisms through the discussion of representative use case application scenarios, and from these experiences, we discuss that such a federation model can support new types of application formulations.