
Customizing server hardware to adapt to its workload has the potential to improve both runtime and energy efficiency. In a cluster that caters to diverse workloads, employing servers with customized hardware components leads to heterogeneity, which is not scalable. In this paper, we seek to create soft heterogeneity from existing servers with homogenous hardware components through customizing the firmware configuration. We demonstrate that firmware configurations have a large impact on runtime, power, and energy efficiency of workloads. Since finding the firmware configuration that minimizes runtime and/or energy efficiency grows exponentially as a function of the number of firmware settings, we propose a methodology called FXplore that helps complete the exploration with a quadratic time complexity. Furthermore, FXplore enables system administrators to manage the degree of the heterogeneity by deriving firmware configurations for sub-clusters that can cater to multiple workloads with similar characteristics. Thus, during online operation, incoming workloads to the cluster can be mapped to appropriate subclusters with pre-configured firmware settings. FXplore also finds the best firmware settings in case of co-runners on the same server. We validate our methodology on a fully-instrumented cluster under a large range of parallel workloads that are representative of both high-performance compute clusters and datacenters. Compared to enabling all firmware options, our method improves average runtime and energy consumption by 11% and 15%, respectively.
As Cloud computing provides Anything as a Service (XaaS), many applications can be developed and run on the Cloud without concerns of platforms. Data-incentive applications are also easily developed on virtual machines provided by the Cloud. In this work, we investigate cost-effective resource provisioning for MapReduce applications with deadline constraints, as the MapReduce programming model is useful and powerful in developing data-incentive applications. When users want to run MapReduce applications, they submit jobs to a Cloud resource broker which allocates appropriate virtual machines with consideration of SLAs (Service-Level Agreements). The goal of resource provisioning in this paper is to minimize the cost of virtual machines for executing MapReduce applications without violating their deadlines to be finished by. We propose two resource provisioning approaches: one based on listed pricing policies and the other based on deadline-aware tasks packing. Throughout simulations, we evaluate and analyze them in various ways.
Workload consolidation, sharing physical resources among multiple workloads, is a promising technique to save cost and energy in cluster computing systems. This paper highlights a number of challenges associated with workload consolidation for Hadoop; as one of the current state-of-the-art data-intensive cluster computing systems. Through a systematic step-by-step procedure, we investigate challenges for efficient server consolidation in Hadoop environments. To this end, we first investigate the inter-relationship between last level cache (LLC) contention and throughput degradation for consolidated workloads on a single physical server employing Hadoop distributed file system (HDFS). We then investigate the general case of consolidation on multiple physical servers so that their throughput never falls below a desired/predefined utilization level. We use our empirical results to model consolidation as a classic two-dimensional bin packing problem and then design a computationally efficient greedy algorithm to achieve minimum throughput degradation on multiple servers. Results are very promising and show that our greedy approach is able to achieve near optimal solutions in all experimented cases.
Companies are currently turning to the use of web applications offered as Cloud services, expecting a certain QoS expressed by means of a maximum response time. Virtual Machines hosting these applications may vary their resource allotment as a consequence of a variation in the incoming workload intensity to guarantee the agreed response time. This allotment should be enough to avoid an under-provision that would lead to the violation of response time constraints, and low enough to avoid an over-provision that would lead to resource wasting. To anticipate the resource demands of web applications, we propose a Prediction System that combines statistical and Machine Learning techniques. This system is composed by the Immediate Predictor to anticipate the immediate CPU demand, useful to adapt pro-actively the resource allotments, and by the Capacity Predictor to forecast the CPU demand at a more distant future. The last prediction might be used to make an informed admission control by means of rejecting new applications that will not be able to fulfill their SLAs. Experiments show the accuracy achieved by the Prediction System and discuss its potential benefit to enhance the resource management process in a Cloud provider.
Given the continually increasing amount of commercial Cloud services in the market, evaluation of different services plays a significant role in cost-benefit analysis or decision making for choosing Cloud Computing. In particular, employing suitable metrics is essential in evaluation implementations. However, to the best of our knowledge, there is not any systematic discussion about metrics for evaluating Cloud services. By using the method of Systematic Literature Review (SLR), we have collected the de facto metrics adopted in the existing Cloud services evaluation work. The collected metrics were arranged following different Cloud service features to be evaluated, which essentially constructed an evaluation metrics catalogue, as shown in this paper. This metrics catalogue can be used to facilitate the future practice and research in the area of Cloud services evaluation. Moreover, considering metrics selection is a prerequisite of benchmark selection in evaluation implementations, this work also supplements the existing research in benchmarking the commercial Cloud services.
In this paper, we investigate how MapReduce and Cloud computing can accelerate performance of applications and scale up the computing resources through a real data mining use case in the Biomedical Sciences. We have prototyped the data mining task using the MapReduce model and evaluated it in the Cloud. A performance evaluation model has been built for assessing the eff ciency of the prototype. The results, from both experiments and the evaluation model, show the performance and scalability can be enhanced through these advanced technologies.
The increasing popularity of cloud storage services attracts large amounts of companies to store their data in cloud instead of building their own infrastructures. With large amounts of data stored in the cloud, it is expected to provide high availability and fine global access experiences. However, there are still major concerns of the availability of major cloud services, especially in a sparsely connected global network with complicated issues. In this paper, we introduce μLibCloud, a system based on Apache libCloud, aiming to improve the availability and global access experience of clouds, and to tolerate provider failures and outages. μLibCloud works as a library at client side, transparently spreading and collecting data smartly to/from different cloud providers through erasure code. In evaluation, we deployed the system into 7 major cloud providers and run a global benchmarks from 9 locations around the world. The results were compared to the original clouds and a content delivery network. We observed that μLibCloud achieved a higher and more uniformed read availability in most cases, with reasonable estimated extra costs. For example, the read latency of some original providers could be reduced by 50%-70% at different locations.
Efficient application scheduling is critical for achieving high performance in heterogeneous computing (HC) environments. Because of its importance, there are many researches on this problem and various algorithms have been proposed. Duplication-based algorithm is a kind of famous algorithm to solve scheduling problem, which achieve high performance on minimizing the overall completion time(makespan) of applications. However, they do not consider energy consumption. With the growing advocacy for green computing system, energy conservation has been an important issue and gained a particular interest. An existing technique to reduce energy consumption of application is dynamic voltage/frequcny scaling(DVFS), but its efficiency is affected by the overhead of time and energy caused by voltage scaling. In this paper, we propose a new energy-aware scheduling algorithm called Energy Aware Scheduling by Minimizing Duplication(EAMD), which considers the energy consumption as well as the makespan of applications. It adopts a subtle energy-aware method to determine and delete the abundant task copies in the schedules generated by duplication-based algorithms, which is easier to operate than DVFS and produces no extra time and energy consumption. This algorithm can reduce large amount of energy consumption while having the same makespan compared with duplication-based algorithms without energy awareness. Randomly generated DAGs are tested in our experiments. Experimental results show that EAMD can save up to 15.59% energy consumption for the existed duplication-based algorithms. Several factors affecting the performance are analyzed in the paper, too.
Data grids provide services and infrastructures for data-intensive applications that need to access to huge amount of data stored at distributed locations around the world. The size of these data can reach hundreds of petabytes scale in many applications. Ensuring an efficient and fast access to such massive data is a challenge that must be addressed. Replication is a key technique used in data grids to improve data access efficiency. Replication also provides high availability, decreased bandwidth consumption, improved fault tolerance and enhanced scalability. In this paper, we propose a new decentralized replication strategy for dynamic data grids, called DPRSKP which stands for Decentralized Periodic Replication Strategy based on Knapsack Problem. Our goal is to select the best candidate files for replication and to place them in the best locations assuming limited storage for replicas. The problem is formulated according to the knapsack problem. Our proposed strategy includes LRU and LFU strategies. The obtained experiment results, using OptorSim, show that our strategy outperforms other replication strategies in terms of response time and bandwidth consumption.
Scientific applications are growing rapidly in both data scale and processing complexity due to advances in science instrumentation and network technologies, where Cloud computing as an emerging computing paradigm can offer unprecedented scalability and resources on demand, and is getting more and more adoption in the science community. We present our early effort in designing and building CloudDragon, a scientific computing Cloud platform based on OpenNebula. We take a structured approach that integrates client-side application specification and testing, service-based workflow submission and management, on-demand virtual cluster provisioning, high-throughput task scheduling and execution, and efficient and scalable Cloud resource management. We first analyze the integration efficiency of our approach in a cluster setting and then show a production deployment of the platform.
Quality-of-Service (QoS) aware service selection problems are a crucial issue in both Grids and distributed, service-oriented systems. When several implementations per service exist, one has to be selected for each workflow step. Several heuristics have been proposed, including blackboard and genetic algorithms. Their applicability and performance has already been assessed for static systems. In order to cover real-world scenarios, the approaches are required to deal with dynamics of distributed systems. In this paper, we propose a representation of these dynamic aspects and enhance our algorithms to efficiently capture them. The algorithms are evaluated in terms of scalability and runtime performance, taking into account their adaptability to system changes. By combining both algorithms, we envision a global approach to QoS-aware service selection applicable to static and dynamic systems. We prove our hypothesis by deploying the algorithms in a Cloud environment (Google App Engine) that allows to simulate and evaluate different system configurations.
Scheduling large-scale applications in heterogeneous Grid and Cloud systems is a fundamental NP-complete problem for obtaining good performance and execution costs. We address the problem of scheduling an important class of large-scale Grid applications inspired from real-world, characterised by a large number of homogeneous, concurrent, and computationally-intensive tasks that are the main sources of performance, cost, and storage bottlenecks. We propose a new formulation of this problem based on a cooperative distributed game theoretic method for makespan and cost optimisation of a multiple such applications while fulfilling important storage constraints. We present experimental results using simulation and real-world applications that demonstrate the effectiveness of our method in terms of the solution delivered, algorithm execution time, and fairness compared to other related approaches.
Live migration of virtual machines (VM) has recently become a key ingredient behind the management activities of cloud computing system to achieve the goals of load balancing, energy saving, failure recovery, and system maintenance. However, to our knowledge, most of the previous live VM migration techniques concentrated on the migration of a single VM which means these techniques are insufficient when the whole virtual cluster or multiple virtual clusters need to be migrated. This paper investigates various live migration strategies for virtual clusters (VC). We first describe a framework VC-Migration to control the migration of virtual clusters. Then we perform a series of experiments to study the performance and overheads of different migration strategies for virtual clusters, including concurrent migration, mutual migration, homogeneous VC migration, and heterogeneous VC migration. After that, we present several optimization principles to improve the migration performance of virtual clusters. The HPCC benchmark is selected to represent the virtual cluster workloads, and the metrics such as downtime, total migration time, and workload performance are measured. Experimental results reveal some new discoveries which are useful to the future development of new migration mechanisms and algorithms to optimize the migration of virtual clusters.
A computational grid is a large scale federated infrastructure where users execute several types of applications with different submission rates. On the evaluation of solutions for grids, there are not much effort on using realistic workloads for experiments, and most of the time users' activities and applications are not well represented. In this work, we propose a user-based grid workload model which is based on clustering users according to their behaviour in the system and their applications. The results show that according to a new metric proposed, the model quality increases when using clustering and extracting models for the group of users with similar behaviour. Moreover, we compare our user-based modelling with a state-of-the-art system-based modelling approach. We show that by using our user-based model the system load can be easily changed by varying the number of users in the grid, creating different evaluation scenarios without affecting individual users' behaviour. On the other hand, varying the number of users in the system-based model does not affect the system load and change the way individual user's behave on the system, which can result in unrealistic users' activities.
Monitoring of infrastructural resources in clouds plays a crucial role in providing application guarantees like performance, availability, and security. Monitoring is crucial from two perspectives - the cloud-user and the service provider. The cloud user's interest is in doing an analysis to arrive at appropriate Service-level agreement (SLA) demands and thecloud provider's interest is to assess if the demand can be met. To support this, a monitoring framework is necessary particularly since cloud hosts are subject to varying load conditions. To illustrate the importance of such a framework, we choose the example of performance being the Quality of Service (QoS) requirement and show how inappropriate provisioning of resources may lead to unexpected performance bottlenecks. We evaluate existing monitoring frameworks to bring out the motivation for buildingmuch more powerful monitoring frameworks. We then propose a distributed monitoring framework, which enables ï¬ne grained monitoring for applications and demonstrate with a prototype system implementation for typical use cases.
OddCI is a new architecture for distributed computing that is, at same time, flexible and highly scalable. Previous works have demonstrated the theoretical feasibility of implementing the proposed architecture on a digital television (DTV) network, but without taking into consideration any practical issues or details. This paper describes the implementation of a proof of concept for the architecture, called OddCI-Ginga, using a testbed based on DTV receivers compatible with the Brazilian DTV System. Performance tests using real broadcast transmission and the return channel demonstrate the feasibility of the model and its usefulness as a platform for efficient and scalable distributed computing.
MapReduce is emerging as an important programming model for data-intensive application. Adapting this model to desktop grid would allow taking advantage of the vast amount of computing power and distributed storage to execute new range of application able to process enormous amount of data. In 2010, we have presented the first implementation of MapReduce dedicated to Internet Desktop Grid based on the BitDew middleware. In this paper, we present new optimizations to BitDew-MapReduce (BitDew-MR): aggressive task backup, intermediate result backup, task re-execution mitigation and network failure hiding. We propose a new experimental framework which emulates key fundamental aspects of Internet Desktop Grid. Using the framework, we compare BitDew-MR and the open-source Hadoop middleware on Grid5000. Our experimental results show that 1) BitDew-MR successfully passes all the stress-tests of the framework while Hadoop is unable to work in typical wide-area network topology which includes PC hidden behind firewall and NAT; 2) BitDew-MR outperforms Hadoop performances on several aspects: scalability, fairness, resilience to node failures, and network disconnections.
Automating the execution of workflows (or business processes) on computer resources has been the subject of much research. However, many workflow scenarios still require human involvement, which introduces additional authorization concerns. Role-Based Authorization Control (RBAC), under which the users are assigned to certain roles while the roles are associated with prescribed permissions, is a popular authorisation control scheme. When we allocate resources for workloads and plan system capacities, it is often assumed that when a task is allocated to a resource, the resource will accept the task and start the execution once the processor becomes available. However, the authorization policies impose further constraints on task executions, and therefore may incur performance penalty and affect both application- and system-oriented performance. This paper investigates the issue of allocating resources for running workflows under the role-based authorization control. The resource allocation strategies are developed in this paper for both human resources and computing resources. The allocation strategy for human resources takes into account the authorization constraints and establishes the optimization equation subject to the constraint of the budget available to hire human resources. Then the optimization equation is solved to obtain the number of human resources allocated to each authorization role. The allocation strategy for computing resources also takes into account authorization constraints, calculating not only the number of computing resources, but also the proportion of processing capacity in each resource allocated to serve the tasks assuming each role. The simulation experiments have been conducted to verify the effectiveness of the developed allocation strategies. The experimental results show that the allocation strategy developed in this paper outperforms the traditional allocation strategies, which do not consider authorization constraints, in terms of both average response time and resource utilization.
Compared with the traditional computing models such as grid computing and cluster computing, a key advantage of Cloud computing is that it provides a practical business model for customers to use remote resources. However, it is challenging for Cloud providers to allocate the pooled computing resources dynamically among the differentiated customers so as to maximize their revenue. It is not an easy task to transform the customer-oriented service metrics into operating level metrics, and control the Cloud resources adaptively based on Service Level Agreement (SLA). This paper addresses the problem of maximizing the provider's revenue through SLA-based dynamic resource allocation as SLA plays a vital role in Cloud computing to bridge service providers and customers. We formalize the resource allocation problem using Queuing Theory and propose optimal solutions for the problem considering various Quality of Service (QoS) parameters such as pricing mechanisms, arrival rates, service rates and available resources. The experimental results, both with the synthetic dataset and with traced dadataset, show that our algorithms outperform related work.