Browse Prior Art Database

Achieving Service Fraction Objectives in Uniprocessor UNIX Systems

IP.com Disclosure Number: IPCOM000105159D
Original Publication Date: 1993-Jun-01
Included in the Prior Art Database: 2005-Mar-19
Document File: 2 page(s) / 44K

Publishing Venue

IBM

Related People

Hellerstein, J: AUTHOR

Abstract

Disclosed is a mechanism for achieving per-process service fraction objectives in uniprocessor systems employing UNIX*-style decay usage scheduling as described in [1,6]. (A process's service fraction is the fraction of the CPU allocated to that process.) In decay usage scheduling, process priorities are the sum of CPU usage (times a conversion factor, herein denoted by R ')' and a per-process, external control that is commonly referred to as the nice-value. Periodically (every T quanta), CPU usage is decayed by a factor D '.' Such an approach favors non-compute bound work, thereby improving throughput.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 60% of the total text.

Achieving Service Fraction Objectives in Uniprocessor UNIX Systems

      Disclosed is a mechanism for achieving per-process service
fraction objectives in uniprocessor systems employing UNIX*-style
decay usage scheduling as described in [1,6].  (A process's service
fraction is the fraction of the CPU allocated to that process.)  In
decay usage scheduling, process priorities are the sum of CPU usage
(times a conversion factor, herein denoted by R ')'  and a
per-process, external control that is commonly referred to as the
nice-value.  Periodically (every T quanta), CPU usage is decayed by a
factor D '.' Such an approach favors non-compute bound work, thereby
improving throughput.

   A variety of approaches have been used to achieve service fraction
objectives in UNIX systems.  For example, in [2,4], the UNIX
scheduler is modified so that process priorities change based on the
relationship between the user's CPU consumption and the
installation's objectives for that user (in the form of processor
shares); [7] employs similar objectives but uses a simple heuristic
to manipulate nice-values instead of requiring scheduler
modifications; and [5] describes a scheduler that incorporates tuning
parameters that can be adjusted to user CPU consumption.  In all
cases, measurements are presented to illustrate how the scheduler
operates in practice, but there is no underlying theory; as such,
there is little understanding of the circumstances under which
objectives can be met...