Bhavesh Khemka
Colorado State University
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Bhavesh Khemka.
The Journal of Supercomputing | 2013
B. Dalton Young; Jonathan Apodaca; Luis Diego Briceno; Jay Smith; Sudeep Pasricha; Anthony A. Maciejewski; Howard Jay Siegel; Bhavesh Khemka; Shirish Bahirat; Adrian Ramirez; Yong Zou
Energy-efficient resource allocation within clusters and data centers is important because of the growing cost of energy. We study the problem of energy-constrained dynamic allocation of tasks to a heterogeneous cluster computing environment. Our goal is to complete as many tasks by their individual deadlines and within the system energy constraint as possible given that task execution times are uncertain and the system is oversubscribed at times. We use Dynamic Voltage and Frequency Scaling (DVFS) to balance the energy consumption and execution time of each task. We design and evaluate (via simulation) a set of heuristics and filtering mechanisms for making allocations in our system. We show that the appropriate choice of filtering mechanisms improves performance more than the choice of heuristic (among the heuristics we tested).
IEEE Transactions on Computers | 2015
Bhavesh Khemka; Ryan Friese; Luis Diego Briceno; Howard Jay Siegel; Anthony A. Maciejewski; Gregory A. Koenig; Chris Groër; Gene Okonski; Marcia Hilton; Rajendra Rambharos; Steve Poole
We model an oversubscribed heterogeneous computing system where tasks arrive dynamically and a scheduler maps the tasks to machines for execution. The environment and workloads are based on those being investigated by the Extreme Scale Systems Center at Oak Ridge National Laboratory. Utility functions that are designed based on specifications from the system owner and users are used to create a metric for the performance of resource allocation heuristics. Each task has a time-varying utility (importance) that the enterprise will earn based on when the task successfully completes execution. We design multiple heuristics, which include a technique to drop low utility-earning tasks, to maximize the total utility that can be earned by completing tasks. The heuristics are evaluated using simulation experiments with two levels of oversubscription. The results show the benefit of having fast heuristics that account for the importance of a task and the heterogeneity of the environment when making allocation decisions in an oversubscribed environment. The ability to drop low utility-earning tasks allow the heuristics to tolerate the high oversubscription as well as earn significant utility.
ieee international symposium on parallel & distributed processing, workshops and phd forum | 2013
Ryan Friese; Bhavesh Khemka; Anthony A. Maciejewski; Howard Jay Siegel; Gregory A. Koenig; Sarah S Powers; Marcia Hilton; Jendra Rambharos; Gene Okonski; Stephen W. Poole
Rising costs of energy consumption and an ongoing effort for increases in computing performance are leading to a significant need for energy-efficient computing. Before systems such as supercomputers, servers, and datacenters can begin operating in an energy-efficient manner, the energy consumption and performance characteristics of the system must be analyzed. In this paper, we provide an analysis framework that will allow a system administrator to investigate the tradeoffs between system energy consumption and utility earned by a system (as a measure of system performance). We model these trade-offs as a bi-objective resource allocation problem. We use a popular multi-objective genetic algorithm to construct Pareto fronts to illustrate how different resource allocations can cause a system to consume significantly different amounts of energy and earn different amounts of utility. We demonstrate our analysis framework using real data collected from online benchmarks, and further provide a method to create larger data sets that exhibit similar heterogeneity characteristics to real data sets. This analysis framework can provide system administrators with insight to make intelligent scheduling decisions based on the energy and utility needs of their systems.
ieee international symposium on parallel & distributed processing, workshops and phd forum | 2011
Luis Diego Briceno; Bhavesh Khemka; Howard Jay Siegel; Anthony A. Maciejewski; Christopher S Groer; Gregory A. Koenig; Gene Okonski; Stephen W. Poole
This study considers a heterogeneous computing system and corresponding workload being investigated by the Extreme Scale Systems Center (ESSC) at Oak Ridge National Laboratory (ORNL). The ESSC is part of a collaborative effort between the Department of Energy (DOE) and the Department of Defense (DoD) to deliver research, tools, software, and technologies that can be integrated, deployed, and used in both DOE and DoD environments. The heterogeneous system and workload described here are representative of a prototypical computing environment being studied as part of this collaboration. Each task can exhibit a time-varying emph{importance} or emph{utility} to the overall enterprise. In this system, an arriving task has an associated priority and precedence. The priority is used to describe the importance of a task, and precedence is used to describe how soon the task must be executed. These two metrics are combined to create a utility function curve that indicates how valuable it is for the system to complete a task at any given moment. This research focuses on using time-utility functions to generate a metric that can be used to compare the performance of different resource schedulers in a heterogeneous computing system. The contributions of this paper are: (a) a mathematical model of a heterogeneous computing system where tasks arrive dynamically and need to be assigned based on their priority, precedence, utility characteristic class, and task execution type, (b) the use of priority and precedence to generate time-utility functions that describe the value a task has at any given time, (c) the derivation of a metric based on the total utility gained from completing tasks to measure the performance of the computing environment, and (d) a comparison of the performance of resource allocation heuristics in this environment
acs/ieee international conference on computer systems and applications | 2011
Jonathan Apodaca; Dalton Young; Luis Diego Briceno; Jay Smith; Sudeep Pasricha; Anthony A. Maciejewski; Howard Jay Siegel; Shirish Bahirat; Bhavesh Khemka; Adrian Ramirez; Young Zou
In a heterogeneous environment, uncertainty in system parameters may cause performance features to degrade considerably. It then becomes necessary to design a system that is robust. Robustness can be defined as the degree to which a system can function in the presence of inputs different from those assumed. In this research, we focus on the design of robust static resource allocation heuristics suitable for a heterogeneous compute cluster that minimize the energy required to complete a given workload. In this study, we mathematically model and simulate a heterogeneous computing system that is assumed part of a larger warehouse scale computing environment. Task execution times/energy consumption may vary significantly across different data sets in our heterogeneous cluster; therefore, the execution time of each task on each node is modeled as a random variable. A resource allocation is considered robust if the probability that all tasks complete by a system deadline is at least 90%. To minimize the energy consumption of a specific resource allocation, dynamic voltage frequency scaling (DVFS) is employed. However, other factors, such as system overhead (spent on fans, disks, memory, etc.) must also be mathematically modeled when considering minimization of energy consumption. In this research, we propose three different heuristics that employ DVFS to minimize energy consumed by a set of tasks in our heterogeneous computing system. Finally, a lower bound on energy consumption is provided to gauge the performance of our heuristics.
IEEE Transactions on Parallel and Distributed Systems | 2015
Mark A. Oxley; Sudeep Pasricha; Anthony A. Maciejewski; Howard Jay Siegel; Jonathan Apodaca; Dalton Young; Luis Diego Briceno; Jay Smith; Shirish Bahirat; Bhavesh Khemka; Adrian Ramirez; Yong Zou
Today’s data centers face the issue of balancing electricity use and completion times of their workloads. Rising electricity costs are forcing data center operators to either operate within an electricity budget or to reduce electricity use as much as possible while still maintaining service agreements. Energy-aware resource allocation is one technique a system administrator can employ to address both problems: optimizing the workload completion time (makespan) when given an energy budget, or to minimize energy consumption subject to service guarantees (such as adhering to deadlines). In this paper, we study the problem of energy-aware static resource allocation in an environment where a collection of independent (non-communicating) tasks (“bag-of-tasks”) is assigned to a heterogeneous computing system. Computing systems often operate in environments where task execution times vary (e.g., due to cache misses or data dependent execution times). We model these execution times stochastically, using probability density functions. We want our resource allocations to be robust against these variations, where we define energy-robustness as the probability that the energy budget is not violated, and makespan-robustness as the probability a makespan deadline is not violated. We develop and analyze several heuristics for energy-aware resource allocation for both energy-constrained and deadline-constrained problems.
scientific cloud computing | 2016
Dylan Machovec; Cihan Tunc; Nirmal Kumbhare; Bhavesh Khemka; Ali Akoglu; Salim Hariri; Howard Jay Siegel
We introduce a new metric, Value of Service (VoS), which enables resource management techniques for high-performance computing (HPC) systems to take into consideration the value of completion time of a task and the value of energy used to compute that task at a given instant of time. These value functions have a soft-threshold, where the value function begins to decrease from its maximum value, and a hard-threshold, where the value function goes to zero. Each task has an associated importance factor to express the relative significance among tasks. We define the value of a task as the weighted sum of its value of performance and value of energy, multiplied by its importance factor. We also consider the variation in value for completing a task at different time; the value of energy reduction can change significantly between peak and non-peak periods. We define VoS for a given workload to be sum of the values for all tasks that are executed during a given period of time. Our system model is based on virtual machines (VMs), where each dynamically arriving task will be assigned to a VM with a resource configuration based on number of homogenous cores and amount of memory. Based on VoS, we design, evaluate, and compare different resource management heuristics. This comparison is done over various simulation scenarios and example experiments on an IBM blade server based system.
international conference on parallel processing | 2011
B. Dalton Young; Jonathan Apodaca; Luis Diego Briceno; Jay Smith; Sudeep Pasricha; Anthony A. Maciejewski; Howard Jay Siegel; Bhavesh Khemka; Shirish Bahirat; Adrian Ramirez; Yong Zou
Energy-efficient resource allocation within clusters and data centers is important because of the growing cost of energy. We study the problem of energy-constrained dynamic allocation of tasks to a heterogeneous cluster computing environment. Our goal is to complete as many tasks by their individual deadlines and within the system energy constraint as possible given that task execution times are uncertain and the system is oversubscribed at times. We use Dynamic Voltage and Frequency Scaling (DVFS) to balance the energy consumption and execution time of each task. We design and evaluate (via simulation) a set of heuristics and filtering mechanisms for making allocations in our system. We show that the appropriate choice of filtering mechanisms improves performance more than the choice of heuristics (among the heuristics we tested).
international parallel and distributed processing symposium | 2016
Dylan Machovec; Bhavesh Khemka; Sudeep Pasricha; Anthony A. Maciejewski; Howard Jay Siegel; Gregory A. Koenig; Michael Wright; Marcia Hilton; Rejendra Rambharos; Neena Imam
The worth of completing parallel tasks is modeled using utility functions, which monotonically-decrease with time and represent the importance and urgency of a task. These functions define the utility earned by a task at the time of its completion. The performance of such a system is measured as the total utility earned by all completed tasks over some interval of time (e.g., 24 hours). To maximize system performance when scheduling dynamically arriving parallel tasks onto a high performance computing (HPC) system that is oversubscribed and energy-constrained, we have designed, analyzed, and compared different heuristic techniques. Four utility-aware heuristics (i.e., Max Utility, Max Utility-per-Time, Max Utility-per-Resource, and Max Utility-per-Energy), three FCFS-based heuristics (Conservative Backfilling, EASY Backfilling, and FCFS with Multiple Queues), and a Random heuristic were examined in this study. A technique that is often used with the FCFS-based heuristics is the concept of a permanent reservation. We compare the performance of permanent reservations with temporary place-holders to demonstrate the advantages that place-holders can provide. We also present a novel energy filtering technique that constrains the maximum energy-per-resource used by each task. We conducted a simulation study to evaluate the performance of these heuristics and techniques in an energy-constrained oversubscribed HPC environment. With place-holders, energy filtering, and dropping tasks with low potential utility, our utility-aware heuristics are able to significantly outperform the existing FCFS-based techniques.
international parallel and distributed processing symposium | 2014
Bhavesh Khemka; Ryan Friese; Sudeep Pasricha; Anthony A. Maciejewski; Howard Jay Siegel; Gregory A. Koenig; Sarah S Powers; Marcia Hilton; Rajendra Rambharos; Stephen W. Poole
In this paper, we address the problem of scheduling dynamically-arriving tasks to machines in an oversubscribed heterogeneous computing environment. Each task has a monotonically decreasing utility function associated with it that represents the utility (or value) based on the tasks completion time. Our system model is designed based on the environments of interest to the Extreme Scale Systems Center at Oak Ridge National Laboratory. The goal of our scheduler is to maximize the total utility earned from task completions while satisfying an energy constraint. We design an energy-aware heuristic and compare its performance to heuristics from the literature. We also design an energy filtering technique for this environment that is used in conjunction with the heuristics. The filtering technique adapts to the energy remaining in the system and estimates a fair-share of energy that a tasks execution can consume. The filtering technique improves the performance of all the heuristics and distributes the consumption of energy throughout the day. Based on our analysis, we recommend the level of filtering to maximize the performance of scheduling techniques in an oversubscribed environment.