Speeding up profiling program’s runtime characteristics for workload consolidation
نویسندگان
چکیده
Workload consolidation is a common method to increase resource utilization of the clusters or data centers while still trying to ensure the performance of the workloads. In order to get the maximum benefit from workload consolidation, the task scheduler has to understand the runtime characteristics of the individual program and schedule the programs with less resource conflict onto the same server. We propose a set of metrics to comprehensively depict the runtime characteristics of programs. The metrics set consists of two types of metrics: resource usage and resource sensitivity. The resource sensitivity refers to the performance degradation caused by insufficient resources. The resource usage of a program is easy to get by common performance analysis tools, but the resource sensitivity can not be obtained directly. The simplest and the most intuitive way to obtain the resource sensitivity of a program is to run the program in an environment with controllable resources and record the performance achieved under all possible resource conditions. However, such a process is very much time consuming when multiple resources are involved and each resource is controlled in fine granularity. In order to obtain the resource sensitivity of a program quickly, we propose a method to speed up the resource sensitivity profiling process. Our method is realized based on two level profiling acceleration strategies. First, taking advantage of the resource usage information, we set up the maximum resource usage of the program as the upper bound of the controlled resource. In this way, the range of controlling resource levels can be narrowed, and the number of experiments can be significantly reduced. Secondly, using a prediction model achieved by interpolation, we can reduce the time spent on profiling even further because the resource sensitivity in most of the resource conditions is obtained by interpolation instead of real program execution. These two profiling acceleration strategies have been implemented and applied in profiling program runtime characteristics. Our experiment results show that the proposed two-level profiling acceleration strategy not only shortens the process of profiling, but also guarantees the accuracy of the resource sensitivity. With the fast profiling method, the average absolute error of the resource sensitivity can be controlled within 0.05.
منابع مشابه
Synapse: Bridging the Gap Towards Predictable Workload Placement
We introduce Synapse motivated by the needs to estimate workload execution characteristics on distributed heterogeneous resources. Synapse has an automated and systemindependent application profiler, and the ability to emulate profiled workloads on a variety of heterogeneous resources. We designed experiments that show: (i) that Synapse s automated profiling truthfully represents the applicatio...
متن کاملServer Workload Analysis for Power Minimization using Consolidation
Server consolidation has emerged as a promising technique to reduce the energy costs of a data center. In this work, we present the first detailed analysis of an enterprise server workload from the perspective of finding characteristics for consolidation. We observe significant potential for power savings if consolidation is performed using off-peak values for application demand. However, these...
متن کاملAdaptive Distributed Simulation for Computationally Intensive Modelling
The potential gain in speeding up the execution time of computationally intensive simulation in workstation clusters is tremendous. One of the challenges for exploring this gain is adaptation of the dynamic workload conditions and the heterogeneity of the workstation clusters. Static schemes of allocating simulation workload to distributed workstations are inadequate because the assigned worklo...
متن کاملCycle Time Reduction and Runtime Rebalancing by Reallocating Dependent Tasks
Business Process Management Systems (BPMS) is a complex information system that provides designing, administrating, and improving the business processes. Task allocation to human resources is one of the most important issues which should be managed more efficiently in BPMS. Task allocation algorithms are defined in order to meet the various policies of organizations. The most important of these...
متن کاملSafe Runtime Examination of Data Structures in C Programs
What: We are developing a tool to track variables and their values in C programs as they change at runtime. Because of the low-level, unrestricted memory access the language allows, the challenge lies in collecting accurate information without disrupting the program’s execution. Our approach combines techniques from profiling with memory tracking to analyze dynamic allocation throughout the lif...
متن کامل