A Queueing Model for A Multiprocessor System with Partitioned Memory (1975)

A general multi-resource queueing system is defined to be a single congestion point associated with a number of different resource types and having arrivals which require some combination of the system resources simultaneously for the duration of their processing times. Such a system is characterized by a variable processing rate which is a function of the combination of Jobs being concurrently serviced at any Instant. The capacity bound for a multi-resource queue is the smallest Input rate which is guaranteed to cause saturation regardless of the scheduling rule employed, give some fixed set of job stream characteristIcs. . I This paper examines the performanc~ of a simple example of a multlresource queue, a two CPU system with two memory partitions. There are two classes of Poisson arrivals, and each Job class has independent and exponentially distributed service times. Resource requirements are such that Cla55-1 Jobs need one CPU and one block of memory. while Class-2 jobs require a single CPU and both memory blocks In order to be executed. An algorithm for calculating the capacity bound is given which enables one to determine the op tlmaJlI proportion of time that the system should spend in processing various job combinations. Seven scheduling rules are described in terms of the manner in which preference is given to different Job combinations, and the notion of assigning priorities to combinations of jobs is stressed. The paper then gives an overview of the relative system performance under these rules by comparIng the system capacity and average flow times for these disciplines. Finally, a sample derivation is provided for one of the scheduling rules In order to j Ilustrate a powerful analytic technique used by the authors to obtaIn many of the described results. Title: A Queueing Hodel for a Multiprocessor System with Partitioned Memory Queueing Theory can provide valuable Insights Into various aspects of computer system performance, but existing computer systems exhibit , forms of resource allocation which are no~ accurately represented by the queueing models analyzed to date. An examination of the literature , leads to the conclusion that previously analyzed models have two common features: (I) each queue is associated with either a single ,resource or a number of Identical resources, and (II) arriving Jobs require exactly one unit of the scarce resource. This conclusion Is valid for a vast majority of the mOdels Including queues with feedback, networks of queues, and multlple~server queues. The theses by the authors [1,2] have Independently attacked a class of queueing problems Involving a form of resource allocation not previously treated In the literature. In order to better defIne this class of problems, the term multi-resource queue Is Introduced to describe the situation In whIch a congestion point Is associated with a number of resources and where job arrivals require the simultaneous use of some combination of the system resources. Computer, systems provide strong motivation for examinlng'muiti-resource queues because a job or process must generally be allocated both a processor and primary memory In order for execution to take place. The notion of a multi-resource queue may also be seen in a simulation language such as GPSS £3] where users may define storage entities to handle discrete resources for which the allocation quantity may be several units. This paper presents results for an example of a multi-resource queue which, while, simple In certain respects, nevertheless exhibits a number of Interesting properties which are quite different from those for the usual case of a queueing system InvolvIng a single resource type. Notation & Terminology for a General Multi-Resource Queue A general multi-resource queue Is a system consisting of several different resource types and an arbitrary number of units of each resource type. Each job arriving to the system requires a combination of the system resources simultaneously for the duration of the processing tIme of the job. The arriving Jobs fall Into'varlous classes, and each Job