{"title":"Time-function scheduling: a general approach to controllable resource","authors":"L. Fong, M. Squillante","doi":"10.1145/224056.225832","DOIUrl":null,"url":null,"abstract":"A large number of diverse scheduling objectives have been proposed and used in various operating system designs, including absolute/relative throughput and response time measures, predict able (i. e., low variance) performance, proportional resource allocation, avoiding indefinite postponement, and satisfying real-time constraints. Many of these objectives are in conflict, and thus most scheduling algorithms have been designed to meet only a subset of these goals. In addition to supporting multiple diverse scheduling objectives, a principal design challenge is to provide effective control over resource allocation to achieve the desired performance requirements for these simultaneous objectives. Unfortunately, most scheduling strategies do not support flexible paramet erization of their algorithms to satisfy the varying performance requirements of different environments. Over the past several years we have been exploring the use of time-based functions to provide effective and flexible control over resource allocation to achieve the above scheduling objectives and performance requirements. This paper describes a general approach to resource management called time-finction sck.eduhng (TFS), which represents a generalization of our previous research activities. TFS is based on the concept of dynamic priorities that change according to general functions of the time each job has spent waiting for the resource of interest, although functions of measures other than waiting time can be used. A large and diverse set of scheduling objectives and performance requirements is achieved by employing time-functions with properties that match these requirements. Moreover, various mechanisms can be used to dynamically adjust these time-functions in response to changes in the system workload so that the desired objectives are continuously satisfied. These properties are achieved by exploiting the strong theoretical foundation of our approach, which is in stark contrast to the ad hoc and poorly understood methods employed in most existing resource allocation technologies. Permission to make digital/hard copy of part or all of thk work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage, the copyright notice, the title of the publication and its date appear, and notice is given that ~pying is by permission of ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior speeific permission and/or a fee. SIGOPS ’95 12/95 00, USA 01995 ACM 0-89791-71 5-4/95/0012...$3.50 Resource We have developed a prototype implementation of a relatively simple form of TFS. We use this experimental platform to compare the control over resource allocation provided by TFS with that obtained under the standard UNIX decayusage scheduling algorithm and the recently proposed lottery scheduling algorithm [2] for various workloads representative of scientific and commercial computing environments. Our results demonstrate the ability of TFS to effectively and efficiently provide a level of resource allocation control that is not possible with most scheduling policies. In the few instances where some control is provided, the ability to achieve different performance requirements can be quite difficult (if not impossible), the range of control is often very limited, and the control mechanisms are poorly understood in general. Our numerous experiments with decay-usage scheduling confirm these observations. Lottery scheduling is one of the few methods appearing in the research literature with objectives somewhat similar to TFS in that lottery supports control over the relative execution rates of computations. Our experimental results demonstrate that TFS achieves the same proportional execution rate goals while significantly reducing the waiting time variance, in some cases by as much as several orders of magnitude. We further demonstrate that TFS provides very fast and stable convergence to these resource allocation goals and minimal variability in response, due to the more deterministic control properties of TFS. There has been very little work on scheduling to minimize variance while also satisfying other performance requirements, which is particularly important in commercial transaction processing environments. These performance benefits are obtained with a simple, straightforward implementation of TFS that exhibits overheads comparable to lottery scheduling. We refer the interested reader to [I] for a full-length version of this paper.","PeriodicalId":168455,"journal":{"name":"Proceedings of the fifteenth ACM symposium on Operating systems principles","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1995-12-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"24","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the fifteenth ACM symposium on Operating systems principles","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/224056.225832","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 24
Abstract
A large number of diverse scheduling objectives have been proposed and used in various operating system designs, including absolute/relative throughput and response time measures, predict able (i. e., low variance) performance, proportional resource allocation, avoiding indefinite postponement, and satisfying real-time constraints. Many of these objectives are in conflict, and thus most scheduling algorithms have been designed to meet only a subset of these goals. In addition to supporting multiple diverse scheduling objectives, a principal design challenge is to provide effective control over resource allocation to achieve the desired performance requirements for these simultaneous objectives. Unfortunately, most scheduling strategies do not support flexible paramet erization of their algorithms to satisfy the varying performance requirements of different environments. Over the past several years we have been exploring the use of time-based functions to provide effective and flexible control over resource allocation to achieve the above scheduling objectives and performance requirements. This paper describes a general approach to resource management called time-finction sck.eduhng (TFS), which represents a generalization of our previous research activities. TFS is based on the concept of dynamic priorities that change according to general functions of the time each job has spent waiting for the resource of interest, although functions of measures other than waiting time can be used. A large and diverse set of scheduling objectives and performance requirements is achieved by employing time-functions with properties that match these requirements. Moreover, various mechanisms can be used to dynamically adjust these time-functions in response to changes in the system workload so that the desired objectives are continuously satisfied. These properties are achieved by exploiting the strong theoretical foundation of our approach, which is in stark contrast to the ad hoc and poorly understood methods employed in most existing resource allocation technologies. Permission to make digital/hard copy of part or all of thk work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage, the copyright notice, the title of the publication and its date appear, and notice is given that ~pying is by permission of ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior speeific permission and/or a fee. SIGOPS ’95 12/95 00, USA 01995 ACM 0-89791-71 5-4/95/0012...$3.50 Resource We have developed a prototype implementation of a relatively simple form of TFS. We use this experimental platform to compare the control over resource allocation provided by TFS with that obtained under the standard UNIX decayusage scheduling algorithm and the recently proposed lottery scheduling algorithm [2] for various workloads representative of scientific and commercial computing environments. Our results demonstrate the ability of TFS to effectively and efficiently provide a level of resource allocation control that is not possible with most scheduling policies. In the few instances where some control is provided, the ability to achieve different performance requirements can be quite difficult (if not impossible), the range of control is often very limited, and the control mechanisms are poorly understood in general. Our numerous experiments with decay-usage scheduling confirm these observations. Lottery scheduling is one of the few methods appearing in the research literature with objectives somewhat similar to TFS in that lottery supports control over the relative execution rates of computations. Our experimental results demonstrate that TFS achieves the same proportional execution rate goals while significantly reducing the waiting time variance, in some cases by as much as several orders of magnitude. We further demonstrate that TFS provides very fast and stable convergence to these resource allocation goals and minimal variability in response, due to the more deterministic control properties of TFS. There has been very little work on scheduling to minimize variance while also satisfying other performance requirements, which is particularly important in commercial transaction processing environments. These performance benefits are obtained with a simple, straightforward implementation of TFS that exhibits overheads comparable to lottery scheduling. We refer the interested reader to [I] for a full-length version of this paper.