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.
© Copyright 2026 Paperzz