Resource allocation on computational grids using a utility model and the knapsack problem

https://doi.org/10.1016/j.future.2008.07.006Get rights and content

Abstract

This work introduces a utility model (UM) for resource allocation on computational grids and formulates the allocation problem as a variant of the 0–1 multichoice multidimensional knapsack problem. The notion of task-option utility is introduced, and it is used to effect allocation policies. We present a variety of allocation policies, which are expressed as functions of metrics that are both intrinsic and external to the task and resources. An external user-defined credit-value metric is shown to allow users to intervene in the allocation of urgent or low priority tasks. The strategies are evaluated in simulation against random workloads as well as those drawn from real systems. We measure the sensitivity of the UM-derived schedules to variations in the allocation policies and their corresponding utility functions. The UM allocation strategy is shown to optimally allocate resources congruent with the chosen policies.

Introduction

Grid computing [1], [2] can be viewed as a wide-area distributed system. Grid concepts and technologies were developed in order to enable resource sharing within scientific collaborations. One underlying challenge in grid computing is the coordination of resource sharing.

Allocating resources on computational grids is a complex procedure involving coordinated resource sharing and meeting the requirements of users and resource owners. Notable previous research includes the matchmaking framework [3] implemented in Condor-G [4]. The matchmaking procedure evaluates job and resource Rank and Requirements expressions to find ideal matches. Economic approaches to grid resource allocation were introduced by Buyya et al. [5] and were implemented in Nimrod-G [6] and Gridbus [7], [8]. Additional notable research in this area includes a variety of makespan minimizing heuristics [9], [10], [11], [12], and the GrADS metascheduler [13].

In this work, we improve upon the existing research by introducing a novel grid resource allocation strategy which is composed of a utility model (UM) and a formulation of the allocation as a knapsack problem. The utility model, previously introduced by Khan et al for network routing and admission control [14], is used to objectively describe the grid resource allocation options; it is developed from the idea that the allocation options vary in their perceived value, or utility, to a user or resource owner. Using the UM, the allocation problem can be naturally formulated as a variant of the 0–1 multichoice multidimensional knapsack problem (MMKP); the MMKP finds the set of allocation options which optimizes the global utility sum. In contrast with previous usage of the knapsack problem for task scheduling [28], the combined utility/knapsack approach presented in this paper allows Quality of Service (QoS) measures to be objectively defined and implemented on the grid.

Resource allocation strategies can be classified according to two criteria [15]. The first criterion involves the description of the grid, which can be either state-based or model-based. The second criterion involves task behaviour; in a preemptive environment, tasks assigned to hosts are allowed to be paused and migrated to other hosts, while in a non-preemptive environment, tasks are required to perform all of their execution on a single host.

In this work we assume a state-based preemptive form of a grid. That is, there exists a mechanism through which resource states and task metadata can be identified. Tasks are assumed to be checkpointable and malleable, meaning that tasks can be paused to be migrated between processors and that the number of processors used in parallel can be varied.

Whereas a significant number of grid applications are neither checkpointable nor malleable, indications are that grid deployments will soon incorporate system software that make these assumptions realistic. For example, by building a grid using virtual machine technologies such as Xen [16], the grid could allow application images to be easily paused and migrated to a new host. Additionally, the independent nature of many grid applications allows malleability to be achieved by executing more than one instance of an application on a single host. For example, a 64 process task can be executed on 32 processors by submitting 2 processes to each processor, if memory limits permit. It is important to note that the techniques presented in this work are also applicable as an admission control system in non-checkpointing environments. In such grids, the system will use the utility/knapsack approach to optimize the initial allocation of each task. However, without checkpointing, newly arriving high priority tasks will not be able to preempt lower priority tasks; thus, the system will not achieve the same overall performance as when checkpointing is available.

The remainder of this paper is organized as follows. In Section 2 we introduce the notion of utility in relation to grid resource allocation. Next, in Section 3 we formulate resource allocation on the grid as a variant of the 0–1 multichoice multidimensional knapsack problem. We then introduce allocation policies and their utility functions (Section 4) and demonstrate these strategies using random and real task workloads (Section 5). In Section 6 we measure the sensitivity of the task schedules to changes in the allocation policies. Finally, in Section 7 we reflect on our findings and conclude.

Section snippets

Grid resource allocation and task utility

A computational grid is comprised of many services; the service focused on in this work is the job management service, or, more specifically, the resource broker. The primary function of the resource broker is to match user-submitted tasks to the grid resources in a manner which is beneficial to both users and resource owners.

When a grid task is being submitted to a job management service, it is accompanied by a description of its required resources, such as the number of processors, the amount

The knapsack formulation

The UM-approach to allocation option evaluation requires an allocation technique which can find the optimal mapping of tasks to resources. In this section, one such solution is formulated as a knapsack problem. First, an example of a UM-based resource allocation formulation is presented, then the general formulation is introduced.

Allocation policies and utility heuristics

The utility/knapsack approach to grid resource allocation presents a general framework for describing and implementing allocation policies. The large variety of grid deployments in practice leads to a wide range of desired allocation policies. For example, grids with economic interests may favour profit, whereas altruistic grids may favour timeliness. In this section, we present a number of basic allocation policies and their associated utility function heuristics.

Experimentation via simulation

Using a simulated computational grid, we have performed an evaluation of the performance of the UM and UM+BF strategies using the five policies describe in Section 4 in comparison to the reference strategies. We have experimented with two different task populations; the first has been generated randomly according to a function described in Section 5.1, while the second is based on actual loads made public by NPACI [25]. The histogram of task lengths for the two populations are depicted in Fig. 2

Sensitivity of the allocation policies

In this section, we seek to understand the sensitivity of UM-derived allocations to variations in the resource allocation policies. These policies describe the relative preference of each task submitted to the grid and are evaluated to find a utility value for each given task option. For each task option, we compute a QoS-metric-parameter Pij using Eq. (1). The variation of the weights wl in the QoS-metric-parameter Pij allows different policies to be implemented. In this study, we select

Conclusions

In this paper, we have introduced a utility model for the allocation of grid resources which, when solved using a formulation as a variant of the 0–1 multichoice multidimensional knapsack problem, finds allocation sets which are congruent with the desired allocation policies. The solution presented employs Quality of Service concepts in the grid resource allocation problem, and shows that QoS-enabled policies do indeed allocate resources efficiently and allow for preferential allocation to

Daniel C. Vanderster completed his Ph.D. in Computer Engineering at the University of Victoria in 2008. He received the IEEE Gold Medal in Computer Engineering and the UVic Graduate Fellowship in 2003, and was awarded the NSERC PGS-M and PGS-D scholarships for his graduate education. Currently, Daniel is a post-doctoral fellow at CERN in Geneva and is developing a system for large-scale distributed analysis of particle physics data for the ATLAS experiment.

References (28)

  • O.H. Ibarra et al.

    Heuristic algorithms for scheduling independent tasks on nonidentical processors

    Journal of the ACM

    (1977)
  • M. Maheswaran et al.

    Dynamic mapping of a class of independent tasks onto heterogeneous computing systems

    Journal of Parallel and Distributed Computing

    (1999)
  • H. Casanova et al.

    Heuristics for scheduling parameter sweep applications in grid environments

  • S. Vadhiyar, J. Dongarra, A metascheduler for the grid, in: Proceedings of the 11th IEEE International Symposium on...
  • Cited by (56)

    • Encoding transformation-based differential evolution algorithm for solving knapsack problem with single continuous variable

      2019, Swarm and Evolutionary Computation
      Citation Excerpt :

      The 0–1 knapsack problem (0-1 KP) [1] is a well known combinatorial problem applied to many practical areas, such as project selection [2], resource distribution [3], network interdiction problem [4], and investment decision-making [5] and so on.

    • Binary Mother Tree Optimization Algorithm for 0/1 Knapsack Problem

      2024, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
    View all citing articles on Scopus

    Daniel C. Vanderster completed his Ph.D. in Computer Engineering at the University of Victoria in 2008. He received the IEEE Gold Medal in Computer Engineering and the UVic Graduate Fellowship in 2003, and was awarded the NSERC PGS-M and PGS-D scholarships for his graduate education. Currently, Daniel is a post-doctoral fellow at CERN in Geneva and is developing a system for large-scale distributed analysis of particle physics data for the ATLAS experiment.

    Nikitas J. Dimopoulos (S’77-M’80-SM’96) received the B.Sc. degree in Physics from the University of Athens and the M.Sc. and Ph.D. degrees in Electrical Engineering from the University of Maryland, College Park in 1975, 1976 and 1980, respectively.

    He joined the Department of Electrical and Computer Engineering, University of Victoria (U.Vic.) in 1988 where he is currently Professor, Lansdowne Chair in Computer Engineering and Department Chair. He served as the Chair of the Department (1998–2003) and was Visiting Professor at the Computer Engineering Laboratory, Delft University of Technology (2001). Previous to his appointment at U.Vic., he was Assistant and then Associate Professor at the Department of Electrical Engineering, Concordia University (1980–1987) and member of the Technical Staff at the Jet Propulsion Laboratory, Pasadena, CA (1986–1987).

    He is an Associate Editor of the Journal of Circuits Systems and Computers, was a member of the BC Science Council’s Computers and Computing committee (1990–1995) and Canadian Foundation for Innovation Multidisciplinary Adjudication Committee (2004, 2006).

    His fields of interest are in Parallel Computers, and Neural Networks. His research has been funded by NSERC, the Canadian Cable Labs Fund, ASI, CFI and CMC. He has published over 140 papers in refereed journals and conferences.

    Professor Dimopoulos is a Senior Member of the IEEE and Fellow of the Engineering Institute of Canada.

    Rafael Parra-Hernandez received the B.Ind.Eng. degree from the Veracruz Institute of Technology and the M.Sc. degree from Cenidet in Mexico. In 2005 he received the Ph.D. degree in Electrical and Computer Engineering from the University of Victoria in Canada.

    In 2007 he joined Enquisite Software Inc. where he is currently a Senior Scientist working in the areas of data mining and user behaviour modelling as applied to Internet marketing. Previously, he worked at Powertech Labs Inc. in the area of data mining as applied to power systems. He is an Adjunct Faculty at the University of Victoria.

    His research interests include data mining, Internet fraud, resource allocation problems and computational intelligence.

    Dr. Randall J. Sobie is a Principal Research Scientist of the Institute of Particle Physics of Canada at the University of Victoria. He is currently working on the BaBar Experiment at the Stanford Linear Accelerator Centre and the ATLAS experiment at the CERN Laboratory in Geneva, Switzerland. Besides his interest in particle physics he is actively investigating how Canadian researchers will use the Grid to store and analyze the vast data sets from the current and future experiments. In addition, Dr. Sobie is a Principle Investigator for the Research Computing Facility at the University of Victoria.

    This work was supported by grants from NSERC and the University of Victoria. The use of the High Performance Computational Facility at the University of Victoria is gratefully acknowledged.

    1

    Work performed while at the University of Victoria.

    View full text