798150.pdf

QNAT: A GRAPHICAL TOOL FOR THE ANALYSIS OF QUEUEING NETWORKS
D. Manjunath, D.M. Bhaskar, Hema Tahilramani, Sanjay K. Bose ,M.N. Umesh
Department of Electrical Engineering, Indian Institute of Technology
Kanpur - 208 016, INDIA
ABSTRACT
The Queueing Network Analysis Tool (QNAT) is a powerful
package for analysing a wide variety of queueing networks.
QNAT has a friendly GUI for a PC-Windows environment and
uses Mathematicam as its computing platform. QNAT can
handle general configurations of open and closed networks of
both finite and infinite capacity queues. Incorporation of forkjoin nodes (with and without a synchronising queue), multiclass customers, mixed customer classes and blocking
mechanisms of different types are some of the other features
available in QNAT
fashion for a PC-Windows environment using MathematicaTMas
the computing engine. This paper describes the capabilities of
QNAT in terms of the types of queueing networks that it can
handle and gives some details on its implementation.
2. THE GRAPHICAL USER INTERFACE FOR QNAT
The current version of QNAT supports a GUI for drawing the
queueing network, specifying the queuehetwork parameters
and providing the analytical results to the user. It also provides
features such as savingketrievingnetworks as files and printing
the analytical results in a text file for the user's convenience.
The GUI may be used to draw new networks or retrieve
previously saved networks. The GUI runs on Win95 but
versions for Windows 3.1 1 and Windows NT are also available.
A simulation option with the same GUI is also being
implemented. The GUI provides a user-friendly f r o n t a d to
QNAT. Depending on the type of queueing network that has
been specified, the RUN option of the GUI launches the
algorithm that is required to analyze it.
The types of queueing networks that may be currently
analyzed using QNAT are listed below [A] Networks of Multi-server Infnite Capaciq Queues with
Multiple Job Classes: opedclosedlmixed networks with
probabilistic routing, multi-class open networks with
deterministicrouting.
lJ3] Networks of Multi-sewer Infinite Capaci& Queues with a
Single Job Class: simple opedclosed networks, open networks
fork-join Nodes without synchronising queue, closed networks
with Fork-Join Nodes with or without synchronising queue
[C] Networks of Multi-ServerFinite or Infnite Capaciq Queues
with a Single Job Class: open/closed networks with Transfer
Blocking, Repetitive Service with Random Destination
Blocking, Repetitive Service with Fixed Destination Blocking,
open networks with Rejection Blocking
The subsequent sections of this paper present a brief
summary of the actual algorithms used in QNAT to solve these
different types of queueing networks.
1. INTRODUCTION
'
Queueing Networks have been widely used to model and
analyse the performance of complex systems involving service.
Examples of such systems include communication systems,
computer networks, transaction systems, manufacturing systems
and vehicular traffic. A queueing network is a set of
interconnected queues where customers/jobs, after receiving
service at a queue, move to another queue (or out of the
network) with some probability. Such a network may have
multiple classes of customers where each class has its OWI set
of queueing parameters. A class of customers could be open (i.e.
the customers of this class enter and leave the system) or closed
(the number of customers of this class in the network will be
fixed with none of them either entering or leaving the network).
When a customer enters a forWjoin"queueing node, it will
spawn a fixed number of indqendent jobs. These jobs are
called the child processes of the original (parent) customer and
will be served at the different sub-queues with different service
time distributions. The parent customer will leave this queue
only when all its chld processes have been served. A queue in
the network may have either finite capacity (blocking queue) or
may be of infinite capacity (nonblocking queue). In queueing
networks with finite capacity nodes, blocking can occur when
the destination queue is full. Several types of blocking models
have been identified. On completion of Service at a queue, if the
destination queue is full, the customer may wait at the server
itself by blocking the server. This is called Transfer Blocking.
Instead of blocking the server, a blocked customer can receive
another service from the server. This is called Blocking with
Repetitive Service. A third kind of blocking called Rejection
Blocking occurs in open networks where a customer attempting
to enter a full queue is lost fiom the system.
If a queueing network model can be proposed for the
system under study, then this network can be studied in more
detail using either an analyt~calor a simulation based approach.
Depending on the individual types of the component queues in
the network, different analytical algorithms may be used to
obtain exact or approximate results both for the performance of
the individual queues and for that of the overall system, i.e., the
queueing network. The QNAT package developed at I.I.T.
Kanpur aims at doing this in a versatile and user-friendly
0-7803-4886-9/98/$1 0.000 1998 IEEE
3. NETWORKS OF INFINITE CAPACITY QUEUES
For networks of infinite capacity queues, QNAT may be used to
analyse both open and closed networks with multiple classes of
jobs as well as networks with mixed classes where some classes
are open while the others are closed. The analytical methods
also support various types of fork-join queue models for the
individual nodes.
3.1 Open Networks
For an open network of S i t e capacity queues,
QNAT uses the GVGM approximation method of [l, 21. This
requires the first and second moments of the inter-arrival time
and service time distributions. It computes the first and second
moments of the flet arrival process at each node by solving a set
320
Authorized licensed use limited to: INDIAN INSTITUTE OF TECHNOLOGY BOMBAY. Downloaded on January 6, 2009 at 02:21 from IEEE Xplore. Restrictions apply.
of linear equations. The perfomance of the network is then
obtained by analysing the individual queues in isolation, hvliere
each queue is modelled as a standard GIItiIM queue
characterised by the first two niomrnts of the arrival process
and service times. Typical performance measures such as mean
number and mean waiting times in each queue, as well as the
squared coefficient of variance (SQV) of these parameters may
then be found.
I h s method can handle fixed or probabilistic routing
for single class of jobs; for networks with multiple job classes,
this method only handles fixed, class-dependent routing. Both
these options have been implemented and are available in
QNAT. In QNAT, probabilistic routing with multiple job
classes in an open network may also be handled. This is treated
as a special case of a network with mixed (open/closed) job
classes where there are no closed classes. The algorithm for this
is described later.
Fork-Join Xobs: For single-class networks of this type,
QNAT can also handle situations where some or all of the
individual nodes are actually fork-join nodes without
synchronising queues. Each of these nodes is assumed to have a
number of independent single-server sibling queues with
exponentially distributed service times. For a fork-join node of
this type with k siblings, the effective service time distribution
of the overall node will be the maximum of the k random service
times. This resultant distribution is then used to calculate the
mean and SQV of the effective service time at this node. This is
subsequently used in the GUGIM approximation of [I, 21 to
analyse the overall network.
characterised by the external arrival rates for that class and the
closed classes are characterisedby the population of each closed
class. The algorithm used in QNAT for analysing this type of
networks is taken from [3]. In this algorithm, the utilizations of
the open classes at each node are computed first followed by the
net utilisation of each node due to the open classes. The
perfomiance parameters of the closed classes are computed by
eliminating the open classes and converting the mixed model
into a closed model with inflated service demands for the closed
classes. The inflation factor used is 1 - U,(,), (1 - utilisation due
to open classes at node i ) and U&) is given by
0
Ui,, where Ui,,
is the Utilisation at node i of class c
Ui,(o)=
C=l
This is the percentage of time the server is not used by open
classes and is the time available for the closed classes to get
service from the server in the queue. The performance of the
closed classes is analysed using the standard MVA solution
technique discussed earlier with the inflated service times for
the closed class customers. The performance of the open classes
are computed by considering the mean queue length of the
closed classes at each node in the network. For this type of
networks, QNAT permits the use of zero open class with nonzero closed classes or vice-versa.
4. NETWORKS OF FINITE CAPACITY QUEUES
For single class of jobs, QNAT can handle networks of finite
capacity queues where different types of blocking may occur. A
summary description of the analytml techniques implemented
is given next. It should be noted that for these types of
networks, the algorithmic approaches used in QNAT will allow
some or all the nodes to be specified to be of infinite capacity
(i.e. non-blocking) as well - this may however slow down the
evaluation process.
3.2 Closed Networks
QNAT uses standard Mean Value .4na!vsis (MYA) [ 3 ,
41 to analyse closed networks of &mite capacity queues with
multiple job classes. We have implemented a state-dependent,
multi-class MVA for this purpose. Note that this is an iterative
algorithm requiring only the mean of the (exponentially
distributed) service time at the individual nodes.
Fork-Join Nobs: For closed, single-class networks, QNAT
allows individual nodes to be specified as fork-join nodes with
or without a gmchronising quene. For a fork-join node without
a synchronising queue, the resultant distribution is computed as
done for the open network case. A minim- mean square error
approach is then taken to fit an exponential distribution to this.
The mean of this exponential distribution is then used in the
MVA for analysing the overall network.
For a fork-join node with a synchronising queue, sub-jobs wait
in the synchronising queue after they complete service at a
sibling queue, i.e. the server at the sibling queue is freed. The
sub-jobs are recombined after all of them finish service - the job
then leaves the node. The solution procedure for this is based on
the decomposition and aggregation approach of [5, 61. This
procedure computes a Flow Equivalent Server (FES) for the
fork-join node leading to a state-dependent mean service time
descriptionfor this. This FES is then used in solving the overall
network using a state-dependent MYA approach. Note that this
procedure requires the user to specify in a state-dependent
fashion the mean service rateltime for each sibling queue. In
QNAT, this may be done either in the form of a h c t i o n or in a
tabular form. These are then used to reduce the node to the
appropriate FES.
4.1 Open Network, Rejection Blocking
In Rejection Blocking,a job arriving to a full node is
lost, i.e. forced to leave the network. In QNAT, we follow the
technique of [7]for solving open exponential queueing networks
with rejection blocking - i.e. open networks with Poisson
arrivals and exponentially distributed service times. This
assumes that the net flow into the node is also Poisson and the
flow balance equations may be solved to fmd the total offered
traffic to each node - these equations are not the same as those
for Jackson type networks but have been modified to
incorporate rejection blocking. It is M e r assumed that the
network may still be approximated by a product-fonn solution
and using this the network is decomposed into individual
M/M/c/K queues which are analysed independently.
Apart from the average number, average sojourn time
etc., parameters like conditional expected sojourn time for the
customers who are eventually lost (VI) or conditional expected
sojourn time for the customers who left the network after
completing their service requirements (U,) will also be
important for this type of blocking networks. To calculate U,
and U1, the random walk of the customer through the network
with “loss” and “served” as the absorbing states is considered.
These states respectively represent the situations when a
customer was lost on encountering a full queue or when the
customer left the network after completing its service
requirements. Customers who are lost before starting service at
any node in the network are referred to as “rejected” customers.
Lost customers include the rejected customers as well.
3.3 Mixed Networks
Mixed networks are ones where some classes are open
and the others are closed. The open classes in the network are
321
Authorized licensed use limited to: INDIAN INSTITUTE OF TECHNOLOGY BOMBAY. Downloaded on January 6, 2009 at 02:21 from IEEE Xplore. Restrictions apply.
mechanism. In this approach, a hypothetical node is added to to
handle blocking along individual trafic streams where such
blocking may occur. The resulting network is then solved using
flow balance and MEM based methods. This is continued
iteratively until suitable convergence is obtained. Some
techniques for analyzing such networks have been proposed
earlier in [lo, 111. These are limited in assuming either singleserver queues or certain limited network coilfigurations (e.g.
tandem or feed-forward networks) or assume exponentially
distributed inter-arrival and service times, and cannot be
applied to solve general open networks.
For our approximate analytical approach [9], we make
the simplifying assumption that any deadlock condition which
arises is immediately resolved by moving all the deadlocked
jobs simultaneously to the their respective destinations. We
assume a GE distribution for all inter-arrival and service times
defined through their respective means and SQVs. Job flow
processes of this type may be combined or probabilistically split
to obtain resultant GE processes. Good approximations are also
available for modelling the output stream of a queue as a GE
stream given that the input stream is GE and the mean and SQV
of the queue‘s service time is available. Following the approach
of [lo], we add a hypothetical node to each incoming stream of
the finite capacity queues to hold the blocked customers. This
reconfigured network is further modified to obtain essentially a
flow converter between one queue and the next downstream
blocking queue - this modifies the SQV at the output to the
former queue to an appropriate value at input of the blocking
queue.
The flows in the different parts of this reconfigured
network are obtained by solving the flow balance equations and
CorreSponding SQVs are calculated using the appropriate GEbased expressions for merging, splitting, service through a
queue and for flow through thejlow converter mentioned above.
The individual queues in the network are then solved using
MEM to obtain the state probabilities and the blocking
probabilities. This is continued iteratively until suitable
convergence is obtained.
We have verified the accuracy of this new, proposed
method using extensive simulations. In all the cases observed,
the absolute relative errors between analytic and simulation
results were founq to be less than 5% confirming the
applicability of the pioposed approximateanalytical technique.
4.2 Open Network, Repetitive Service Blocking with Fixed
or Random Destination
Consider a situation where a customer upon
completion of its service at node i, attempts to join node j . If
nodej is full, the customer immediately receives another service
at node i . This will continue until the customer can actually
move to nodej on its service completion. This mode of blocking
is termed Repetitive Service Blocking. In the above description,
we assumed that the destination node is fixed. This is
essentially Repetitive Service Bloching with Fixed Destination
(aS-FD). Alternatively, if the customer chooses a destination
node (from the set of all the nmks allowed by the routing
probabilitiesj independently after e ;try service completion, the
blocking mechanism is called Repetitive Service with Random
Destination (RS-RD).
In QNAT, we have used the Maximum. Entropy
Method of [SI for the analysis of arbitrary open queueing
networks with multiple general servers and Repetitive Service
blocking. Consider an arbitrary open queueing network under
RS-RD or RS-FD blocking mechanisms where the network
consists of M FCFS multiple-server queues of finite or infinite
capacity. It has been shown [SI that the Maximum Entropy
(ME) solution, subject to normalisation and certain constraints,
M
is given by the product-form approximation p ( n ) = n p i ( n i )
1=l
where, p(n) is equilibrium probability that the network is, in
state n and pi($ is the marginal ME solution of a GEIGEIciNi
queue. An open network may be decomposed into individual
GE/GE/&/N,queues with revised inter-arrival and service time
distributions. All the inconling streams (including the external
arrival stream) to node I merge to form the overall arrival
stream to node i. The effective service time at node i is the total
time for which a server of queue i is occupied by a particular
job.
This method requires inputs from the user on the
mean and SQV of all the service times and the interarrival
times of all the external arrival processes assuming each of
them to be a GE-type distribution. Using results on merging and
splitting of GE processes, and the modification of a GE process
going through a GE/GE/cN queue, a set of non-linear equations
are iteratively solved. These non-linear equations include those
on flow balance, equations to calculate the SQV of the net
arrival processes to the individual queues and those to calculate
the mean and SQV of the effective service times. These also
include Maximum Entropy Method (MEM) based expressions
for the state distribution of each queue from which the effective
blocking probabilities for the individual flows may be obtained.
Once the iterations converge (our measure here was on each of
the individual SQVs), the output results for each queue (e.g.
mean number, mean waiting time and their SQVs, throughput,
blocking probabilities etc.) and for the overall network may be
calculated. Note that the same method is applicable for both the
RS-RD and RS-FD cases except for some changes in the form of
some of the equations.Further details may be found in [S, 91.
’
4.4 Closed Network, Repetitive Service Blocking with Fixed
or Random Destination
For the analysis of closed networks with Repetitive
Service Blocking, a related “pseudo-open” network is f i t
solved [SI. [A closed network, when represented as an open
network with no external arrival streams &d no external
departures, ! referred to as a “pseudo-open’’ network.] The
pseudo-ope;? network must also satisfy the principle of
“conservation of population”. This is represented by the fixed
mean population constraint, i.e., the mean number of jobs at all
the nodes in network must sum up to the number of jobs
actually circulating in the closed network. The individual
queues in the closed network are “censored’, i.e. arrivals to a
queue when all the N buffers are 111 are turned away and no
departures are allowed to occur when the queue has the
minimum possible number of jobs K ( D O ) . In closed networks,
K will be greater than zero for some node i if the total number
of jobs circulating in the network is greater than the total
capacity of the network excluding node i . The pseudoopen
network is decomposed into individual censored queues with
4.3 Open Network, Transfer Blocking
Consider a situation where a customer upon
completion of its service at node i , attempts to join nodej. If
node j is full at that instant then under the Transfer BZocking
mechanism, the customer waits at node i, blocking the server,
until it can move to node j . We have developed a new
approximation technique [9, lo] for the analysis of general,
open networks with multiple servers under this blocking
322
Authorized licensed use limited to: INDIAN INSTITUTE OF TECHNOLOGY BOMBAY. Downloaded on January 6, 2009 at 02:21 from IEEE Xplore. Restrictions apply.
revised inter-arrival and service time distnbutions and. solved in
the- same way as an open network under Repetitive Service
Blocking.
The solution obtained from the pseudo-open network
may not satisfy the job flow balance equations. The values of
the flow balance coefficients are then iteratively adjusted so that
these are satisfied. The marginal state probabilities obtained
after these iterations may now be used to obtain the
performance measures ‘of interest. This method has been
incorporated in QNAT to handle closed networks with RS-RD
or RS-FD blocking.
4.5 Closed Network, Transfer Blocking
The product-form approximation method’ of [I21 is
used in QNAT to analyze a closed-network with transfer
blocking. [Note that this method assumes that the number of
customers in the system is less than the total capacity of the
minimum-capacity directed cycle in the network. This is done to
ensure, that deadlocks do not arise.] This approach first
considers an identical network with’no blocking, i.e. one where
all the nodes have infinite capacity. All the states of the
equivalent non-blocking network will not be feasible in the
blocking network.’ The states .which . violate the station
capacities are “normalised”. This ‘‘normalisation’’ procedure
does the following. If the number of customers in a node
exceeds its capacity, then the number in the node is set equal to
the capacity of the node and the excess jobs are distributed
among all the other nodes depending on the incoming transition
probabilities (from the rest of the nodes to the node whose
capacity constraints were being violated). We continue to do
this until a “feasible” state is obtained. A “feasible” state is
one which is a valid state for the blocking network. By
normalising all the infeasible states of the identical nonblocking network, we obtain an equivalent state space which
consists only of those states which are feasible for the blocking
network. The probability PHof a feasible state ‘His the sum of
the probabilities of all the states of the equivalent non-blocking
network which get normalised to this feasible state.
Note that since the non-blocking network has a
product-form solution, Jackson’s results may be used to
calculate its state probabilities. Based on the normalisation
described above, the state distribution of the blocking network
may be found from that of the non-blocking network. All the
parameters, except throughput, can now he calculated from this
state distribution. Calculation of the throughput is based on the
fact that a non-blocking network with.an equal number of states
as the blocking network has the same stochastic structure as that
of the blocking network. The throughput of these networks will
also be approximately the same. In order to compute the
throughput, we determine the number of states in the blocking
queueing network. The equivalent number of jobs in the nonblocking network is then obtained such that the two networks
have same number of states. The non-blocking queueing
network with this equivalent number of jobs is now analysed to
obtain its throughput and this is used as the approximate
throughput of the blocking netwprk.
classes. QNAT also allows us to include fork-join queues that
may or may not have synchronising queues after the service
queue in the siblings. We have developed reduction techniques
to handle fork-join queues without synchronising queues for
open and closed networks. We have also developed our own
approximation method for analysing networks of finte-capacity
queues under the transfer blocking mechanism. These new
methods have also been included in the QNAT package. . . ’
QNAT has a user-friendly GUI based front end to
define the network and to view the results of the solution. Using
MathematicaTM to carry out the computational tasks
considerably simplifies the development process and enabled
the easy implementation of mathematically involved algorithms.
Another salient feature of QNAT is that we have included the
analysis of many types of queueing networks in one package.
Depending on the specificationof the network, QNAT uses the
right set of packagesMgorithmsto carry out its analysis.
A beta version of QNAT has been distributed over the
Internet for comments, evaluation and debugging. Details on
this may be obtained by writing to the author af
[email protected]. A web site containing the latest information
on QNAT at http:hww. iitk.eniet.idpub2/ednetworks/qnat/
may also be accessed.
REFERENCES
[l] W. Whitt, “The Queueing Network Analyser”, B.S.T.J., Vol.
62, NO. 9, NOV.1983, pp 2779-2815.
[2] W. Whitt, “Performance of the Queueing Network
Analyses”, B.S.T.J., Vol. 62, No. 9, Nov. 1983, pp 28 17-2843.
[3] Edward D. Lazowska, John Zahorjan, G. Scott Graham and
Kenneth C. Sevcik, “Quantitative System Performance”,
Prentice-Hall,Inc., 1984.
[41 Michael K. Molloy, “Fundamental of Performance
Modelling”, Macmillan Publishing Company, 1989.
[5] Y. C. Liu and H. G. Perros, “A Decomposition for the
Analysis of a Closed ForkIJoin Queueing System“, EEE
Trans. on Computers, Vol. 40, No. 3, pp. 365-370, Mar. 1991.
[6] Y. C. Liu and H. G. Perros, “Approximate Analysis of a
Closed ForkLJoin model“, European Journal of Operational
Research 53, pp. 382-392, 1991.
[7J 0. Bronstein, 1. B. Gertsbakh, ‘Xn Open Exponential
Queueing Network with Limited Waiting Spaces and Losses: A
Method of Approximate Anatysis ”, Performance Evaluation,
Vol. 4, 1984, pp. 31-43.
[8] D. D. Kouvastos, N. P. Xenios, “MEA4 for Aribihimy
Queueing Nehvorks with hfultiple Geneml Servers and
Reptitive Service Blocking ”,Performance Evaluation, Vol. 10,
1989, pp. 169-195.
[9] H. Tahilramani, ‘:4nalvsis of Various Types of Blocking in
Finite Capacity Queueing Networks, M.Tech. Thesis, Dept. of
Elect. Engg., Z.I.T., Kanpur, Feb. 1998.
[lo] L. Kerbache, J. MacGregor Smith, “The Genetalized
Expansion Method for Open Finite Queueing Networks“,
European Journal of Operational Research, 32 (I 987), pp 448461.
[11) Hyo-Seong Lee, S. M. Pollock, ‘‘ Approximate Analysis of
Open Acyclic Expon&tial Queueing Networks with Bloclnng ”,
Operations Research, V. 38 1990, pp 1123-1 134.
[I21 I. F. Akyildiz, “Product Form Approximations for
Queueing Networks with Multiple Servers and Blocking”, IEEE
Trans. on Computers, Vol. 38, No. 1, 1989, pp. 9911 13.
5. CONCLUSIONS
In this paper we have described QNAT, a Microsoft Windows
based graphical package for queueing network analysis. This
package may be used to analyse general queueing networks with
nodes having finite or infinite buffer capacity. For infinite buffer
capacity queues, the jobs can be of a single class or of multiple
Mathemotica t the trademark of U’ofiam ResearchInc
323
Authorized licensed use limited to: INDIAN INSTITUTE OF TECHNOLOGY BOMBAY. Downloaded on January 6, 2009 at 02:21 from IEEE Xplore. Restrictions apply.