A matrix-analytic solution for the DBMAP/PH/1 priority queue

Similar documents
Stationary Probabilities of Markov Chains with Upper Hessenberg Transition Matrices

A FAST MATRIX-ANALYTIC APPROXIMATION FOR THE TWO CLASS GI/G/1 NON-PREEMPTIVE PRIORITY QUEUE

Chapter 1. Introduction. 1.1 Stochastic process

Queues and Queueing Networks

Exercises Stochastic Performance Modelling. Hamilton Institute, Summer 2010

Channel Probing in Communication Systems: Myopic Policies Are Not Always Optimal

TRANSIENT ANALYSIS OF A DISCRETE-TIME PRIORITY QUEUE

Multi-class, multi-server queues with non-preemptive priorities

Queueing Theory I Summary! Little s Law! Queueing System Notation! Stationary Analysis of Elementary Queueing Systems " M/M/1 " M/M/m " M/M/1/K "

A Queueing System with Queue Length Dependent Service Times, with Applications to Cell Discarding in ATM Networks

Departure Processes of a Tandem Network

ring structure Abstract Optical Grid networks allow many computing sites to share their resources by connecting

A discrete-time priority queue with train arrivals

Minimizing response times and queue lengths in systems of parallel queues

Link Models for Circuit Switching

Preemptive Resume Priority Retrial Queue with. Two Classes of MAP Arrivals

TCOM 501: Networking Theory & Fundamentals. Lecture 6 February 19, 2003 Prof. Yannis A. Korilis

An M/M/1 Queue in Random Environment with Disasters

Geo (λ)/ Geo (µ) +G/2 Queues with Heterogeneous Servers Operating under FCFS Queue Discipline

Lecture 20: Reversible Processes and Queues

Non Markovian Queues (contd.)

Markov Chain Model for ALOHA protocol

IEOR 6711, HMWK 5, Professor Sigman

Part I Stochastic variables and Markov chains

Queueing Theory and Simulation. Introduction

A preemptive repeat priority queue with resampling: Performance analysis

Quality of Real-Time Streaming in Wireless Cellular Networks : Stochastic Modeling and Analysis

Solutions to COMP9334 Week 8 Sample Problems

Environment (E) IBP IBP IBP 2 N 2 N. server. System (S) Adapter (A) ACV

NATCOR: Stochastic Modelling

ECE-517: Reinforcement Learning in Artificial Intelligence. Lecture 4: Discrete-Time Markov Chains

NOTICE WARNING CONCERNING COPYRIGHT RESTRICTIONS: The copyright law of the United States (title 17, U.S. Code) governs the making of photocopies or

Data analysis and stochastic modeling

57:022 Principles of Design II Final Exam Solutions - Spring 1997

Time Reversibility and Burke s Theorem

Modelling Complex Queuing Situations with Markov Processes

Queueing systems. Renato Lo Cigno. Simulation and Performance Evaluation Queueing systems - Renato Lo Cigno 1

Queueing. Chapter Continuous Time Markov Chains 2 CHAPTER 5. QUEUEING

Lecturer: Olga Galinina

Optimal Sleeping Mechanism for Multiple Servers with MMPP-Based Bursty Traffic Arrival

Retrial queue for cloud systems with separated processing and storage units

One billion+ terminals in voice network alone

A QUEUE-LENGTH CUTOFF MODEL FOR A PREEMPTIVE TWO-PRIORITY M/M/1 SYSTEM

11 The M/G/1 system with priorities

Statistics 150: Spring 2007

A Heterogeneous Two-Server Queueing System with Balking and Server Breakdowns

Sensitivity Analysis for Discrete-Time Randomized Service Priority Queues

Analysis of Software Artifacts

A STAFFING ALGORITHM FOR CALL CENTERS WITH SKILL-BASED ROUTING: SUPPLEMENTARY MATERIAL

An Improved Bound for Minimizing the Total Weighted Completion Time of Coflows in Datacenters

Cover Page. The handle holds various files of this Leiden University dissertation

Session-Based Queueing Systems

Chapter 2 Queueing Theory and Simulation

Contents Preface The Exponential Distribution and the Poisson Process Introduction to Renewal Theory

BIRTH DEATH PROCESSES AND QUEUEING SYSTEMS

M/G/1 and Priority Queueing

queue KTH, Royal Institute of Technology, Department of Microelectronics and Information Technology

Contents LIST OF TABLES... LIST OF FIGURES... xvii. LIST OF LISTINGS... xxi PREFACE. ...xxiii

Queuing Networks: Burke s Theorem, Kleinrock s Approximation, and Jackson s Theorem. Wade Trappe

Derivation of Formulas by Queueing Theory

Stochastic process. X, a series of random variables indexed by t

Performance Evaluation of Queuing Systems

Structured Markov Chains

Operations Research Letters. Instability of FIFO in a simple queueing system with arbitrarily low loads

Simultaneous Transient Analysis of QBD Markov Chains for all Initial Configurations using a Level Based Recursion

Lecture 4: Bernoulli Process

Probability and Stochastic Processes Homework Chapter 12 Solutions

Other properties of M M 1

Stochastic Optimization for Undergraduate Computer Science Students

Overload Analysis of the PH/PH/1/K Queue and the Queue of M/G/1/K Type with Very Large K

Exercises Solutions. Automation IEA, LTH. Chapter 2 Manufacturing and process systems. Chapter 5 Discrete manufacturing problems

MARKOV PROCESSES. Valerio Di Valerio

A Joining Shortest Queue with MAP Inputs

Computer Networks More general queuing systems

Figure 10.1: Recording when the event E occurs

A TANDEM QUEUE WITH SERVER SLOW-DOWN AND BLOCKING

THIELE CENTRE. The M/M/1 queue with inventory, lost sale and general lead times. Mohammad Saffari, Søren Asmussen and Rasoul Haji

6 Solving Queueing Models

Queueing Systems: Lecture 3. Amedeo R. Odoni October 18, Announcements

Markov Chains. X(t) is a Markov Process if, for arbitrary times t 1 < t 2 <... < t k < t k+1. If X(t) is discrete-valued. If X(t) is continuous-valued

Queueing Theory. VK Room: M Last updated: October 17, 2013.

Waiting-Time Distribution of a Discrete-time Multiserver Queue with Correlated. Arrivals and Deterministic Service Times: D-MAP/D/k System

Chapter 2. Poisson Processes. Prof. Shun-Ren Yang Department of Computer Science, National Tsing Hua University, Taiwan

Lecture notes for Analysis of Algorithms : Markov decision processes

Solutions to Homework Discrete Stochastic Processes MIT, Spring 2011

R u t c o r Research R e p o r t. Classes, Priorities and Fairness in Queueing Systems. David Raz a. Benjamin Avi-Itzhak b Hanoch Levy c

Let (Ω, F) be a measureable space. A filtration in discrete time is a sequence of. F s F t

Analysis of a tandem queueing model with GI service time at the first queue

CPU scheduling. CPU Scheduling

Robustness and performance of threshold-based resource allocation policies

IEEE TRANSACTIONS ON AUTOMATIC CONTROL, VOL. 43, NO. 3, MARCH

System occupancy of a two-class batch-service queue with class-dependent variable server capacity

The shortest queue problem

Cover Page. The handle holds various files of this Leiden University dissertation

Fuzzy Queues with Priority Discipline

Stochastic Shortest Path Problems

CHAPTER 4. Networks of queues. 1. Open networks Suppose that we have a network of queues as given in Figure 4.1. Arrivals

LIMITS FOR QUEUES AS THE WAITING ROOM GROWS. Bell Communications Research AT&T Bell Laboratories Red Bank, NJ Murray Hill, NJ 07974

Multi Stage Queuing Model in Level Dependent Quasi Birth Death Process

Stochastic modelling of epidemic spread

Transcription:

Queueing Syst (6) 53:17 145 DOI 117/s11134-6-836- A matrix-analytic solution for the DBMAP/PH/1 priority queue Ji-An Zhao Bo Li Xi-Ren Cao Ishfaq Ahmad Received: 18 September / Revised: November 5 C Science + Business Media LLC 6 Abstract Priority queueing models have been commonly used in telecommunication systems The development of analytically tractable models to determine their performance is vitally important The discrete time batch Marovian arrival process (DBMAP) has been widely used to model the source behavior of data traffic while phase-type (PH) distribution has been extensively applied to model the service time This paper focuses on the computation of the DBMAP/PH/1 queueing system with priorities in which the arrival process is considered to be a DBMAP with two priority levels and the service time obeys a discrete PH distribution Such a queueing model has potential in performance evaluation of computer networs such as video transmission over wireless networs and priority scheduling in ATM or TDMA networs Based on matrix-analytic methods we develop computation algorithms for obtaining the stationary distribution of the system numbers and further deriving The wor was supported in part by grants from RGC under the contracts HKUST614/4E HKUST675/4E and HKUST6165/5E a grant from NSFC/RGC under the contract N HKUST65/ a grant from NSF China under the contract 649 Ji-An Zhao Bo Li Department of Computer Science e-mail: zhaojian@ieeeorg e-mail: bli@csusth Xi-Ren Cao ( ) Department of Electronic Engineering Hong Kong University of Science and Technology Clear Water Bay Kowloon Hong Kong China e-mail: eecao@eeusth Ishfaq Ahmad Computer Science and Engineering Department The University of Texas at Arlington Arlington TX 7619-15 USA e-mail: iahmad@cseutaedu the ey performance indices of the DBMAP/PH/1 priority queue Keywords Marovian arrival process Phase-type distribution M/G/1-type Marov chain Matrix-analytic methods AMS subject classifications: 6K5 9B 68M 1 Introduction The Marovian arrival process (MAP) [9] and the discrete time Marovian arrival process (DMAP) were introduced to model source behavior with correlations which is a distinctive feature of data traffic MAP and DMAP were extended to the batch arrival case called the batch Marovian arrival process (BMAP) [1 11] and the discrete-time batch Marovian arrival process (DBMAP) [3] respectively BMAP and DBMAP were introduced to capture the bursty nature of traffic source behavior They were thus well suited to model multimedia data [] There have been extensive studies on queueing systems with BMAP or DBMAP input For instance the BMAP/G/1 single server queue was studied in [1] and the DBMAP/G/1/N single server queue was investigated in [3] Phase-type (PH) distributions were shown to approximate many general distributions particularly in modeling the service time [13] A DBMAP/PH/1 queue with different service disciplines was studied in [5] However none of these models consider priority in their queueing systems Priority queueing models are commonly used in telecommunications systems The development of analytically tractable models to determine the performance of such models is essential Traditional M/G/1 priority queues with Poisson arrivals were studied in [16] in which average performance measures were obtained Queue length distribution

18 Queueing Syst (6) 53:17 145 for continuous-time M/M/1 priority queues were obtained in [1] The DMAP/PH/1 priority queue was especially studied in [1] in which the arrival process was modeled as a single arrival MAP with two priority levels and the service process was modeled to follow discrete time PH-type distribution Based on the quasi-birth-death (QBD) type of transition probability matrix of the underlying Marov chain a matrix-geometric solution was derived Furthermore based on the upper triangular structure of the R measure (defined below in Section 41) computation algorithms were developed for the queue length and waiting time distributions This paper considers the computation of a queueing system consisting of a DBMAP arrival process with two priority levels and a single server with a PH-type service distribution which we call the DBMAP/PH/1 priority queue Our wor builds upon the existing DMAP/PH/1 queueing model with priority support by taing into account the fact that batch arrival accurately captures the bursty and correlation nature of data traffic generated in computer communication networs The main contributions of this paper are summarized as follows We extend the DBMAP definition [3] to support different types of arrivals The extension is based on Marov chains with mared transitions [8] We derive the transition probability matrices for the underlying Marov chains of the DBMAP/PH/1 priority queue under both non-preemptive and preemptive disciplines We show that the related Marov chains are M/G/1-type [14] The transition probability matrix for the Marov chain has a bloc structure with an infinite number of blocs and each bloc element has infinitely large dimensions It is nown that there is no general solution for this type of Marov chain the bloc elements of the transition probability matrix have infinite dimensions The matrix-analytic methods [6] can handle the case only when the bloc elements are of finite size In this paper we develop an analytical solution for the problem We firstly study the relationships among the R measures [19] for the related Marov chains We then prove that the R and measures are in upper-hessenberg form and have row-repeating structures We proceed to show that the R measures have upper-triangular form structures with row-repeating properties Based on these special structures and the relationships among R R and we develop algorithms to compute these measures and present detailed computation steps Subsequently we solve the underlying Marov chains of the DBMAP/PH/1 priority queues by adopting matrix-analytic methods and we obtain the stationary queue length distributions for both the high and low priority queues We also analyze the time and memory complexity of the computation Finally we offer numerical results and discuss possible applications of the DBMAP/PH/1 priority queues in modeling computer and communication networs In what follows we introduce the DBMAP process in Section 1 and the PH-type distribution in Section In Section 3 we discuss the basic model of the DBMAP/PH/1 queueing system under both non-preemptive and preemptive disciplines We then describe the computation algorithms that solve the DBMAP/PH/1 priority queue in Section 4 Finally we provide numerical examples in Section 5 and present concluding remars in Section 6 The DBMAP arrival process and PH distribution 1 The DBMAP arrival process In this subsection we give a brief introduction to the discretetime batch Marovian arrival process (DBMAP) [3] Consider a sequence of n n substochastic matrices D = 1 and an n state discrete-time Marov chain with transition probability matrix D which is the sum of the D elements ie D = = D Suppose that at time t t the Marov chain is in state j1 j n; then at time epoch t + 1 with conditional probability D ( j j ) the arrival process enters state j 1 j n and triggers a batch of arrivals Therefore the D matrix corresponds to state transitions with no arrival and the D matrix with 1 corresponds to state transitions with a batch arrival of size In other words when the state of the arrival process changes from j to j the batch size distribution of the triggered arrival is given by [D ( j j ) D 1 ( j j ) D ( j j ) D 3 ( j j )] Obviously we have n D ( j j ) = 1 for all 1 j n = j =1 which is equivalent to D e = De = e = e denotes a column vector with all elements being 1 1 Assume the process is in stationary state and let α be the steady state probability vector for D wehave { αd = α αe = 1 The arrival rate λ of a stationary DBMAP process is given by λ = α( D )e = 1 In this paper we always let e denote a column vector with all 1s with proper dimensions according to the context

Queueing Syst (6) 53:17 145 19 The probability of having an arrival regardless of the batch size is given by α =1 D e Let N(t) be the number of arrivals in the duration ( t] let the random variable J(t) be the state of the underlying Marov chain immediately after time t the bivariate sequence (N(t) J(t)) t is a two dimensional discrete time Marov chain on the state space {(i j) i 1 j n} The states can be listed in the form of (level phase) pairs as follows: ( ) ( 1) ( ) ( n) (1 ) (1 1) (1 ) (1 n) ( ) ( 1) ( ) ( n) The transition probability matrix for the above Marov chain is given by D D 1 D D 3 D D 1 D D D 1 (1) The above two-dimensional Marov chain (1) completely describes the corresponding DBMAP process The transition from state (i j) to state (i + j ) 1 1 j n 1 j n corresponds to an arrival with batch size It has been shown that many traditional arrival processes such as the Bernoulli arrival process the discretetime Marov modulated Bernoulli process and the batch Bernoulli process with correlated batch arrivals etc are all special cases of the DBMAP process [3] The phase-type distribution Consider an m + 1 state Marov chain with initial probability vector (ββ m+1 ) and transition probability matrix [ ] S S P = 1 β is a row vector with m elements (ββ m+1 ) is a row probability vector with m + 1 elements S = e Se S is substochastic and I S is nonsingular A discrete phasetype (PH) distribution is defined as the time until absorption of state m + 1 in the finite discrete Marov chain defined by the above stochastic matrix P The probability density In this paper we let I denote the identity matrix with a proper dimension function p of the PH-type distribution is given by p = β m+1 p = βs 1 S 1 and the mean equals to β(i S) 1 e The pair (β S) is called a representation of the PH-type distribution [13] and m is called the dimension of the PH-type distribution in this paper 3 The DBMAP/PH/1 priority queueing model In this section we establish the DBMAP/PH/1 priority queueing model for both the non-preemptive and preemptive disciplines We firstly define the DBMAP arrival process with priorities in Section 31 and then introduce the service disciplines in Section 3 We formulate the non-preemptive DBMAP/PH/1 priority queue in Section 33 and the preemptive DBMAP/PH/1 priority queue in Section 34 31 The DBMAP arrival process with priorities The DBMAP process introduced in Section 1 describes only a single class or a single priority of arrivals To extend the DBMAP process to distinguish more than one class or more than one priority of arrivals we tae a similar approach as the Marovian chain with mared transitions model in [7 8] and extend the one-dimensional index for the D matrices in Section 1 to a two-dimensional index below We consider an n state discrete-time Marovian arrival process with two types of batch arrivals one for high priority jobs and the other for low priority jobs The maximum batch sizes are given by b 1 and b for high priority and low priority arrivals respectively The corresponding parameter matrices for the DBMAP are given by {D D 1 D i1 i D b1 b } Each D i1 i is a substochastic matrix with dimension n n Suppose that at time t the underlying Marov chain of the DBMAP process is in state j1 j n; then at the next time epoch t + 1 with conditional probability D i1 i ( j j ) i 1 b 1 i b the process changes to state j 1 j n with a simultaneous batch arrival of i 1 high priority jobs and i low priority jobs In other words when the state of the arrival process changes from j to j the twodimensional batch size distribution of the triggered arrival is given as follows: [D ( j j ) D 1 ( j j )D i1 i ( j j )D b1 b ( j j )] The transition probability matrix of the underlying Marov chain is given by D = b 1 b i 1 = i = D i 1 i Assume that the arrival process is in a stationary state and the initial probability vector of the arrival process is given by

13 Queueing Syst (6) 53:17 145 α Wehave { αd = α αe = 1 The arrival rate for the high priority jobs is given by b 1 b λ h = α( i 1 D i1 i )e; i 1 = i = the arrival rate for the low priority jobs is given by b 1 b λ l = α( i D i1 i )e; i 1 = i = and the total arrival rate is given by λ = λ h + λ l The aggregated arrival process that consists of all the high and low priority jobs is a normal DBMAP with parameters {D D 1 D D b1 +b } D = D D 1 = D 1 + D 1 D = D + D 11 + D D 3 = D 3 + D 1 + D 1 + D 3 D b1 +b = D b1 b The arrival rate for this DBMAP process is given by λ = α( b 1 +b i=1 id i )e 3 Service disciplines We consider a queueing system described as follows The arrival process follows the DBMAP process with two priority levels defined by {D D 1 D D b1 b } All D i1 i matrices are of dimension n n The service processes for both the high and low priority jobs follow discrete PH-type distributions with (β 1 S 1 ) indicating the high priority jobs and (β S ) indicating the low priority jobs β 1 is a row vector with m 1 elements and S 1 is an m 1 m 1 substochastic matrix; β is row vector with m elements and S is an m m substochastic matrix There is a single priority server in the system and the service discipline can be preemptive or non-preemptive by nature In the preemptive case we consider only the preemptive resume discipline That is when the server returns to serve the preempted low priority job processing will start from the service phase when the job was preempted Recording the exact preempting phase leads to a relatively large state space Thus we tae the same approach as in [1] and let β be the service phase when the preempted low priority job resumes service β satisfies { β e = 1 β = β (S + S β ) Here β can be interpreted as the limiting probability vector of the phase from which the low priority job resumes service We expect that replacing the exact service preemption phase with β would not bring a major impact on the performance measures In the non-preemptive case there is no need to consider the β1 problem because once the low priority job is serviced there is no interruption until the job is completed The above queueing model is called a DBMAP/PH/1 priority queue with two levels of priority It differs from the single arrival model [1] in two ways Firstly since the arrival process of the DBMAP/PH/1 priority queue allows batch arrivals the model has much broader application in practice An wireless multimedia example is given in Section 5 Secondly the solution is also different from that of the single arrival model For the DMAP/PH/1 priority queue direct computation of the R measure is possible since R is the solution of a matrix quadratic equation However for the DBMAP/PH/1 priority queue direct computation of the R measures can not be done since they are related by a system of matrix equations as shown in Section 4 We next derive the transition probability matrices under both preemptive and non-preemptive service disciplines 33 The non-preemptive DBMAP/PH/1 priority queue For the non-preemptive DBMAP/PH/1 priority queue we define state space to be {(n 1 n i s p)} 3 State (n 1 n i s p) in has the following conditions The arrival process is in state s s = 1 n A high priority job is being served if i = 1; or a low priority job is being served if i = Here i is an index variable The service process is in phase p depending on which type of job is in service as indicated by i When i = 1 p = 1 m 1 ; when i = p = 1 m There are n1 high priority jobs in the system including the one being served if any In the case of n1 = and n = state (n 1 n i s p) can be reduced to ( s) since the whole system is idle and there is no need to record the service phase In this case the number of high and low priority jobs in the system is zero In the case of n 1 = and n 1 state (n 1 n i s p) can be reduced to ( n s p) since only a low priority job can be in service In this case n denotes the number of low priority jobs in the system In the case of n 1 1 the server may be busy with a high or low priority job due to the non-preemptive service discipline In this case n denotes the number of low priority 3 We refer to n 1 and n as the system numbers in this paper

Queueing Syst (6) 53:17 145 131 jobs waiting in the queue Thus if the server is busy serving a low priority job the total number of low priority jobs in the system is n + 1 otherwise the total number of low priority jobs in the system is n The system can be described by an M/G/1-type Marov chain with state space The transition probability matrix for the non-preemptive case P npm (the subscript npm stands for non-preemptive) is given by P npm B B 1 B B b1 B 1 A A 1 A b1 1 A b1 = A 1 A A b1 A b1 1 A b1 A 1 A b1 3 A b1 A b1 1 A b1 with the following sub-matrices 4 : B = and B B 1 B B b B 1 B B 1 B b 1 B b B B b B b 1 B b B b 3 B b B b 1 B b B = D B i = D i β i = 1 b B 1 = D S B i = D i S + D (i +1) S β i = 1 b 1 B b = D b S = D S β B i1 = B B 1 B B b Bi 1 B 1 B b 1 Bi 1 B b i 1 = 1 b 1 B b 1 1 () 4 In this paper the superscript 1 denotes an index while the bold superscript 1 denotes the inverse of a matrix The symbol denotes Kronecer product operation B i = [ D i1 i β 1 ] i = 1 b = [ D i1 S β ] 1 D i1 S B i = [ D i1 (i +1) S β ] 1 D i1 (i +1) S i = 1 b 1 and B1 B1 1 B1 B b 1 B 1 = B1 B1 1 B b 1 1 B b 1 and [ ] B1 = D S1 B i 1 = [ Di S 1 β ] i = 1 b Ai 1 Ai 1 1 Ai 1 A b i 1 A i1 = Ai 1 Ai 1 1 A b 1 i 1 A b i 1 i 1 = 1 b 1 [ A i D(i1 +1)i i1 = S1 β ] 1 + D i1 i S 1 D i1 i S β 1 D i1 i S for i 1 = 1 b 1 1 i = 1 b [ ] A i Db1 i b1 = S 1 D b1 i S β i 1 D b1 i S = 1 b and A 1 A 1 1 A 1 A b 1 A 1 = A 1 A 1 1 A b 1 1 A b 1 A i 1 = [ Di S1 β ] 1 i = 1 b Some elements of the blocs in () are briefly explained here Other elements can be understood in a similar way

13 Queueing Syst (6) 53:17 145 B i : This represents the probability of the following event The original state for both the high and low priority queue is A batch arrival happens (with probability D i ) which brings high priority job and i low priority jobs into the system Thus the state of the low priority queue is changed to i but the high priority queue remains and the server is initialized (by the initial service vector β ) to serve a newly arrived low priority job B i : This represents the probability of the following two events In the first event a batch arrival brings high priority job and i low priority jobs and the server remains busy with a low priority job The probability of this event is D i S In the second event a batch arrival brings high priority job and i + 1 low priority jobs The server completes the low priority job during the current time slot and becomes ready to serve the next low priority job The probability of this event is D (i +1) S β A i i1 : This can be understood as the transition probability matrix governing switches in the service between the high and low priority jobs as follows: [ ] Prob{Continue with high} Prob{Switch from high to low} Prob{Switch from low to high} Prob{Continue with low} 34 The preemptive DBMAP/PH/1 priority queue For the preemptive DBMAP/PH/1 priority queue we define the state space to be {(n 1 n s p)} n 1 is the number of high priority jobs in the system; and n is the number of low priority jobs in the system; s denotes the arrival process state and s = 1 n; p is the current service phase depending on which type of job is in service ie when n 1 = and n 1 p is for the low priority job service phase and p = 1 m ; when n 1 1 p is for high priority service phase and p = 1 m 1 Further when n 1 = and n = state (n 1 n s p) can be reduced to ( s) Similarly the system can be described by an M/G/1-type Marov chain with state space The transition probability matrix for the preemptive case P pm (the subscript pm stands for preemptive) is given by B B 1 B B b1 B 1 A A 1 A b1 1 A b1 P pm = A 1 A A b1 A b1 1 A b1 A 1 A b1 3 A b1 A b1 1 A b1 (3) with the following sub-matrices: B = B B i B 1 B B 1 B B b B 1 B B 1 B b 1 B b = D B B b B b 1 B b B b 3 B b B b 1 B b = D i β i = 1 b = D S B i = D i S + D (i +1) S β i = 1 b 1 B b = D b S and = D S β B i1 = and B B 1 B B b B b 1 B b Bi 1 B 1 B b 1 B b Bi 1 B b i 1 = 1 b 1 B i = D i1 i β 1 i = 1 b = D i1 S β 1 B i i1 = D i1 (i +1) S β 1 + D i1 i S eβ 1 i = 1 b 1 B b = D i1 b S eβ 1 B1 B1 1 B1 B b 1 B1 B1 1 B b 1 1 B b 1 B 1 = B1 B b 1 B b 1 1 B b 1 B 1 = D S 1 B i 1 = D i S 1 β i = 1 b B i 1 = D i S 1 β i = 1 b

Queueing Syst (6) 53:17 145 133 and Ai 1 Ai 1 1 Ai 1 A b i 1 A i1 = Ai 1 Ai 1 1 A b 1 i 1 A b i 1 i 1 = 1 b 1 A i i1 = D (i1 +1)i S1 β 1 + D i1 i S 1 for i 1 = 1 b 1 1 i = 1 b A i b1 = D b1 i S 1 i = 1 b and A 1 A 1 1 A 1 A b 1 A 1 = A 1 A 1 1 A b 1 1 A b 1 A i 1 = D i S 1 β 1 i = 1 b 35 Stability of the queueing system The stability condition for the single-arrival DMAP/PH/1 priority queue in [1] applies to the batch-arrival DBMAP/PH/1 priority queue in this paper as well The system is stable only if λ h t h + λ l t l < 1; or equivalently the system is stable only if ρ = ρ h + ρ l < 1 ρ h and ρ l are the traffic intensity for the high and low priority arrivals respectively The above necessary condition is quite intuitive since otherwise if ρ 1 the low priority queue length will add up to infinity Throughout the rest of the paper we assume that the queueing system is stable and that the steady state distribution of the system numbers exists 4 Computational algorithms for the queueing model In this section we calculate the R measures for the related M/G/1-type Marov chains in Section 41 We then introduce the computation algorithms for the stationary distribution of the system numbers in Section 4 We analyze the time and storage complexity for the computation algorithms in Section 43 Finally we compute the performance measures for the queueing system in Section 44 and give a brief summary in Section 45 41 Characteristics of the R measures We now introduce the definitions for the R measures for a GI/G/1-type Marov chain [19] Consider a discrete-time Marov chain with transition matrix D D 1 D D 3 D 1 C C 1 C P = D C 1 C C 1 (4) D 3 C C 1 C D is an m m matrix and C is an m m matrix The dimensions of D > can be determined accordingly Let C = = C which is assumed to be stochastic and irreducible P is assumed to be stochastic irreducible and aperiodic The structure of (4) has similar row elements ie row i + 1 can be obtained by shifting row i to the right direction by one bloc element Such a transition probability matrix is said to have the row-repeating property in this paper The Marov chain defined in (4) is called a Marov chain of Toeplitz type or GI/G/1-type Furthermore if P is in the upper-hessenberg form the Marov chain is called M/G/1-type [6 14] We notice that both () and (3) are M/G/1-type Let us define L ={( j); j = 1 m } L i ={(i j); j = 1 m} i 1 L i = i = L Then the state space S of the Marov chain P can be written as S = i= L i For an arbitrary state (i j) i and j are called level and phase respectively 5 The R measures for a GI/G/1-type Marov chain are defined as follows [19] For j > R j is a matrix of size m m whose (r s)th entry is R j (r s) = Expected number of visits to ( j s) before hitting L ( j 1) given a start at ( r) 5 For the DBMAP/PH/1 priority queue defined in Section 33 and Section 34 we have = i= L i and for an arbitrary state (n 1 n ) in n 1 and n are called level and phase respectively

134 Queueing Syst (6) 53:17 145 is a matrix of size m m whose (r s)th entry is (r s) = Probability of hitting ( s) upon returning to L for the first time given a start at ( r) Since () and (3) are banded matrices with finite number of bands b 1 all the R and R for > b 1 are zero matrices We obtain the following recursive formulas for R R and : Let i 1 for 1 R is a matrix of size m m whose (r s)th entry is R (r s) = Expected number of visits to (i + s) before hitting L (i+ 1) given a start at (i r) Let i 1 is a matrix of size m m whose (r s)th entry is R = (B + R +1 A 1 )(I A R 1 A 1 ) 1 for = 1 b 1 1 R b1 = B b1 (I A R 1 A 1 ) 1 R = (A + R +1 A 1 )(I A R 1 A 1 ) 1 for = 1 b 1 1 R b1 = A b1 (I A R 1 A 1 ) 1 = B + R 1 B 1 (6) (r s) = Probability of hitting (i s) upon returning to L i for the first time given a start at (i r) Notice that because the transition matrix (4) has the rowrepeating property all the R measures defined above are independent of i The reason is that the transition probabilities in (4) from level i (i 1) to level i + (i 1) are independent of i We note that for an M/G/1-type Marov chain all the elements below the sub-main diagonal of the transition probability matrix are zeros According to the GI/G/1 results in [19] for the M/G/1-type Marov chains () and (3) studied in this paper we have the following relations for R j R and : R (I ) = D + R +1 C 1 R (I ) = C + R +1 C 1 = D + R 1 D 1 = C + R 1 C 1 In addition as shown in [6 19] the steady probability vector π for the GI/G/1-type Marov chain satisfies n 1 π n = π R n + π R n n 1 =1 π is the solution of π = π subject to π e = 1 = (5) Equation (6) can not obtain R measures directly since all of them have infinite dimensions The ey is to examine the special structures of these R measures We next illustrate that R has a similar structure as B for all There are two reasons for this fact On one hand note that R represents the expected number of visits to level L before entering level L 1 given a start at level L R is a probability measure for the following event: The event starts at time t when there is no high priority job in the system ie n 1 = ; at time t + 1 a batch arrival brings at least high priority jobs resulting in n 1 ; and during the remaining event period more high priority arrivals and departures may occur but the system remains at n 1 until some time later at t + τ when n 1 = and a high priority departure is about to happen which would end the event period and result in n 1 = 1 Since during the first time slot of the above event period there are high priority arrivals it is easy to see that during the whole event period at most one low priority job can depart from the system As a result R is in upper-hessenberg form On the other hand because the number of low priority job arrivals that occur after a given time is independent of the number of low priority jobs present in the system at the given time and this number is also independent of the service process R has the row-repeating property except for the first row which is subject to the boundary condition In addition based on the same argument in [1] we note that all R are upper-triangular matrices with the rowrepeating property and is also an upper-hessenberg matrix with the similar row-repeating structure as B since

Queueing Syst (6) 53:17 145 135 = B + R 1 B 1 In summary we have R R 1 R R 3 R 1 R R 1 R R = R 1 R R 1 R 1 R R 1 1 b 1 R R 1 R R 3 R R 1 R R = R R 1 1 b 1 R = 1 1 1 1 3 1 1 1 Several properties for R and R are introduced below Property I: R and R are finite According to the definition elements of R and R represent conditional expectation measures regarding the queue length Therefore all the elements of R and R must be finite since the queue under study is stable Property II: π R e and π n R e are finite This is valid since by virtue of probability interpretation π R e and π n R e represent conditional expectations for the low priority queue length Therefore π R e and π n R e must be finite for a stable DBMAP/PH/1 priority queue Property III: lim i R i = lim i R i = and lim i R i = This was a conjecture in [1] and here we only use R1 i as an illustration to prove the correctness of the conjecture Suppose that this is not the case and R1 i ε 1 as i for some ε 1 Then by referring to (6) we have Rb i based on the fact that R b1 = A b1 (I A R 1 A 1 ) 1 since (I A R 1 A 1 ) 1 = I + (A + R 1 A 1 ) r (7) r=1 and all A are upper triangular matrices with positive elements on the main diagonal However this contradicts the fact that R and R are all finite 4 Computation of the stationary distribution of the system numbers We next focus our discussion on the computation of the stationary distribution of the system numbers π n = [π n π n1 π n ] n = 1 for the M/G/1-type Marov chain The computation algorithms are identical for both the preemptive and non-preemptive cases The special structures of R R and shown in Section 41 suggest that it is possible to compute these R measures by iteration which is required to compute π ij for i j = 1 In what follows we compute π ij by two stages as introduced below 41 Computation of R R and In stage one we compute R R and by the following iterative algorithm 1 Set R = B R = A Update R R recursively according to (6) until the differences in the results obtained in two consecutive iterations are element-wise smaller than ε which is a small threshold value used for precision control 3 Compute according to (6) Let R (s) and R(s) be the temporary results obtained in the s- th iteration The two sequences {R (s) s = 1 } and {R (s) s = 1 } have the following properties Monotonically increasing R (s) and R(s) increase as s (s) This can be verified by examining (6) We tae R as an example to reveal this property The initial value for R () is given by A After the first iteration we have R (1) > R () since R (1) = (A + R () +1 A 1)(I A R () 1 A 1) 1 (8) Chec the right-hand side of (8) the first factor (A + R () +1 A 1) is greater than A and the second factor (I A R () 1 A 1) 1 is greater than I by referring to (7) Therefore the product of the two factors is greater than R () It is straightforward to argue that R(s+1) > R (s) for any s > by method of mathematical induction on s Similarly we have R (s+1) > R (s) Upper bounded R (s) and R(s) are finite according to Property I of the R measures as introduced in Section 41 Therefore R (s) values and R(s) must be bounded by some finite Based on the above two properties we conclude that the proposed iteration algorithm must converge In other words must converge to some limit value R and R (s) and R(s)

136 Queueing Syst (6) 53:17 145 R respectively as s The limit values of R and R can be considered as the exact solution for the system of equations (6) Notice that in step of the iteration algorithm we must do truncation on R and R since it is impossible to store and compute matrices with infinite dimensions We now discuss how to choose the truncation level K First we notice that in real applications we do not compute π ij for an arbitrarily large index Instead we have to truncate both the high and low priority queue lengths at some level which may depend on the maximum queue length that we are interested in By intuition we expect that very high dimension elements of the R measures will not contribute too much to the queue length distribution In this paper we recommend the following truncation method During the iteration we refer to the small threshold value ε and choose the truncation level K such that { R K <ε R K <ε R K <ε and R i ε Ri ε (9) Ri ε for i = 1K 1 We notice that K must exist according to Property III of the R measures as introduced in Section 41 We discuss the bound of the computation error caused by this truncation method in Section 4 We now discuss how to compute (I A R 1 A 1 ) 1 We notice that all A i are upper-triangular with the rowrepeating property so I A R 1 A 1 is also uppertriangular with the row-repeating property which is an important fact As a consequence (I A R 1 A 1 ) 1 can be computed as shown in [1] although it has infinite dimensions We omit the details in this paper We next discuss how to do multiplications of R A 1 R 1 B 1 and R A 1 It is quite straightforward to notice that in (6) the result for R A 1 (also for R 1 B 1 ) has the same structure as that of R and the result for R A 1 has the same structure of that of R since A 1 and B 1 are uppertriangular with the row-repeating property Let U U 1 U U 3 U 1 U U 1 U R A 1 = U 1 U U 1 U 1 U U 1 V V 1 V V 3 V V 1 V R A 1 = V V 1 V Then we have U j = U j = V j = min(b j) n= min(b j+1) n= min(b j) n= ( j n) R A n 1 R j n An 1 R j n A n 1 4 Computation of π ij (1) In stage two we compute the stationary distribution of the M/G/1-type Marov chain We firstly compute π Note that is an upper-hessenberg form transition probability matrix with the row-repeating property which is obviously an M/G/1-type By standard matrix-analytic methods [6] π = π can be solved We omit the details here Based on π we can compute π n by n 1 π n = π R n + π R n 1 n b 1 =1 b 1 π n = π n R b 1 < n < =1 (11) Multiplication of π R and π 1 R can be done in the following way Let π R = [p p 1 p ] and let π 1 R = [q q 1 q ] Then we have i 1 p i = π R i + q i = i= n= 1 i π 1 (i n) R n n= π (i n) R n Finally we normalize π ij and ensure that π ij e = 1 j= Let πn be the theoretical result under the hypothesis that there is no truncation on the R measures and that the limit values R and R are applied in (11) We can expect that the practical computation result π n >πn since π n is obtained by truncating the probabilities for a high level queue length Suppose that R and R are truncated at level K according to the ε policy recommended in (9) then for 1

Queueing Syst (6) 53:17 145 137 n b 1 we have [ ] n 1 π n e πn e < π 1 K e + π K e =1 [ ] + π n 1 1e + π e (1) =1 and for n > b 1 we have [ ] b1 π n e πn e < b 1 π n K e + πn e (13) in which =1 =1 ε ε ε ε ε ε ε ε ε ε ε ε ε ε ε 1 = ε ε ε ε ε = ε ε ε ε 1 K and K are finite dimension matrices obtained by truncating 1 and respectively at level K Since 1 K and K only have finite dimensions we have π 1 K e and b 1 =1 π K e asε Furthermore according to Property II of the R measures as introduced in Section 41 we have π 1e and b 1 =1 π e as ε Therefore it is evident from (1) and (13) that by choosing sufficiently small ε an arbitrary precision for π n can be achieved 43 Analysis of the time and memory complexity In this subsection we analyze the time and memory complexity for the computation algorithms developed in Section 4 We limit our discussion to the non-preemptive case since the analysis can also be applied to the preemptive case The only difference is that the size of the element matrices for the nonpreemptive case is nm nm while the size of the element matrices for the preemptive case is nm nm Therefore the non-preemptive queue has a higher time and memory cost We assume that R and R are truncated at level K and that the algorithm converges after r times of iteration We tae a loo at the time complexity for the first step of the algorithm which is the ernel part of the whole computation Since is only computed once for the whole algorithm and is easy to consider we only discuss the computation of R and R We also note that the item (I A R 1 A 1 ) 1 only needs to be computed once for each iteration of the algorithm In addition because of the row-repeating property of R +1 and A 1 the result of R +1 A 1 has the same structure as that of R +1 Therefore we only need to compute the first row for the result of R +1 A 1 Similarly the result of R +1 A 1 has the same structure with R +1 and we only need to compute the first row and the second row for the result of R +1 A 1 The details can be better understood by examining (1) As a result for each iteration we offer the following analysis on the time complexity (K +1)(K +) K (K +1) R 1 A 1 : m + a m and a represent the time complexity for the multiplication and addition operations respectively of two nm nm dimensional matrices (K +1)(K +) (K +1)(K +4) I A R 1 A 1 : m + a (I A R 1 A 1 ) 1 : (K + 3K + 1)m + (K + K + )a + (K + 1)i i represents the time complexity for the inverse of a nm nm dimensional matrix See page 9 of [1] on how to compute the inverse of an upper-triangular matrix (K +1)(K +) (K +1)(K +) a A + R +1 A 1 : m + (A + R +1 A 1 )(I A R 1 A 1 ) 1 : (K + 1)(K + )m + (K + 1) a (after (I A R 1 A 1 ) 1 has been computed) R +1 A 1 : (K + 1)(K + )m + K (K + 1)a B + R +1 A 1 : (K + 1)(K + )m + (K + 1)(K + )a (B + R +1 A 1 )(I A R 1 A 1 ) 1 : (K + 1)(K + )m + (K + 1) a (after (I A R 1 A 1 ) 1 has been computed) We observe that the time complexity of (B + R +1 A 1 )(I A R 1 A 1 ) 1 is double the complexity of (A + R +1 A 1 )(I A R 1 A 1 ) 1 For some items the above time complexity is the upper bound for the following three reasons Firstly we notice that R b1 taes less time than R for = 1 b 1 1; secondly R b1 also taes less time than R for = 1 b 1 1; and thirdly bloc elements of B and R +1 have smaller dimensions than nm nm which means that the actual involved computation is less than this estimation Therefore the total time complexity for computation of R and R is given by r b 1 ( (4K + 1K + 7)m + (4K + 8K + 5)a + (K + 1)i ) Next we estimate the memory complexity for the computation algorithms We only consider the required storage for R R and the induced temporary storage during the computation Again we assume that the truncation level for R R and is K Furthermore in order to simplify the discussion we assume that all the bloc elements for R R and R are nm nm dimensional matrices although some boundary elements have smaller sizes For R we only need to store the first row of the bloc elements Therefore the total storage cost for all R is b 1 (K + 1)B B is the storage cost of a nm nm matrix For R and we only need to store the first and the second row of the bloc elements Therefore the total storage cost for all R and

138 Queueing Syst (6) 53:17 145 Table 1 Temporary matrices used during the computation Temporary matrix 1 Temporary matrix Temporary matrix 3 Purpose of the matrix Storage cost Store and compute Same as R (A + R +1 A 1 ) Store and compute Same as R (I A R 1 A 1 ) 1 Store and compute Same as R (B + R +1 A 1 ) is (b 1 + 1)(K + 1)B During the computation we also use three temporary matrices as explained in Table 1 6 Asa result the total memory complexity is given by 3(b 1 + )(K + 1)B From the above analysis we notice that in computation of the R measures the memory complexity mainly depends on the precision requirement (the K value) as well as the application size (the b 1 value) The time complexity however also depends on the nature of the application (the r value or the convergence rate of the algorithm) While the time complexity is proportional to K the memory complexity is proportional only to K The memory complexity is greatly reduced due to the row-repeating property of the R measures Finally we have to emphasize that after all the R measures are obtained the complexity for computing π n depends on the truncation level for both the high and low priority queues as implied by (11) Although in theory the queue length truncation level can be set to an arbitrarily large value that may require a high time and memory cost There is always a tradeoff between the problem size and the implementation cost Our experiences from the numerical examples demonstrate that it is feasible to compute realistic DBMAP/PH/1 priority queue without prohibitive difficulties 44 Calculation of the performance measures Before we present the performance calculation we firstly summarize the terms and notation below: P{idle} : probability that the server is idle; P{busy} : probability that the server is busy; P{busy h } : probability that the server is busy with a high priority job; P{busy l } : probability that the server is busy with a low priority job; 6 Different implementations of the algorithms may have different requirements for the temporary storage P{N h = i} : probability that there are i high priority jobs in the system; P{N l = j} : probability that there are j low priority jobs in the system; P{Q h = i} : probability that there are i high priority jobs waiting in the queue; P{Q l = j} : probability that there are j low priority jobs waiting in the queue; N : average number of jobs in the system; N h : average number of high priority jobs in system; N l : average number of low priority jobs in system; Q : average number of jobs in the queue; Q h : average high priority queue length; Q l : average low priority queue length; W h : average waiting time for high priority jobs; W l : average waiting time for low priority jobs Based on π ij for the preemptive DBMAP/PH/1 priority queue in Section 34 the following performance measures can be derived: P{idle}=π e P{busy} =1 π e P{busy h }=1 π j e P{busy l }= P{N h = i} = P{N l = j} = j= π j e j=1 π ij e i j= π ij e j i= P{Q h = } =P{N h = 1}+P{N h = } P{Q h = i} =P{N h = i + 1} i 1 P{Q l = } =π e + π 1 e + π i e P{Q l = j} =π ( j+1) e + N h = i=1 π ij e j 1 i=1 ip{n h = i} i=

Queueing Syst (6) 53:17 145 139 N l = jp{n l = j} j= N = N h + N l Q h = ip{q h = i} Q l = i= jp{q l = j} j= Q = Q h + Q l W = Q/λ W h = Q h /λ h W l = Q l /λ l For the non-preemptive priority case in Section 33 the same set of performance measures can be derived Notice that for the non-preemptive queue state (n 1 n ) n 1 1 may correspond to the case of having a low priority system number of n or n + 1 depending on which priority level the server is currently busy with Therefore calculation of P{N l = j} is different from the preemptive case as follows: P{N l = } =π e + π i e h i=1 P{N l = j} =π j e + π ij e h + π i( j 1) e l j 1 i=1 e h and e l are column vectors of dimension nm e h = e e e l = e e e is an nm-dimensional column vector of all 1s and e is an nm-dimensional column vector of all s Here n and m are the dimensions of the arrival and service processes respectively 45 Section summary The DBMAP/PH/1 priority queueing model defined in this paper is a natural extension of the single arrival DMAP/PH/1 priority queue in [1] In the single arrival model the underlying Marov chain is quasi-birth-death (QBD) type and there is only a single R measure Furthermore this R measure is the solution of a matrix quadratic equation R = A + RA 1 + R A (see page 6 in [1]) This maes it possible to directly compute the elements of R although R has infinite dimensions Based on R the steady state probability vector of the QBD-type Marov chain can be obtained For the batch arrival queueing model introduced in this paper the underlying Marov chains are M/G/1-type since () and (3) are both in upper-hessenberg form Therefore there exists a set of interrelated R measures which cannot i=1 be explicitly solved Standard M/G/1-type Marov chains may have infinite number of levels but usually the phase number has to be finite [6 19] The Marov chains involved in this paper however have infinite number of levels and infinite number of phases which is the main challenge in solving the DBMAP/PH/1 priority queue In this section we showed that the R measures play a ey role in the analysis of the involved Marov chain We revealed that the structure of R and R are in upper-triangular and upper-hessenberg form respectively and proved that a solution for these R measures exists Based on the special structure of the R measures we developed algorithms for computing the stationary distribution of the system numbers and obtained the queue length distribution 5 Numerical results In this section we present numerical results for the computation algorithms In Section 51 we provide a simple nonpreemptive DBMAP/PH/1 priority queue and demonstrate how to apply the computation algorithms to calculate the queue length distribution In Section 5 we provide another non-preemptive DBMAP/PH/1 priority queue with realistic parameters to model wireless multimedia communications In Section 53 we present simulation results for an example preemptive DBMAP/PH/1 priority queue with different traffic intensities In all the examples we implement the algorithms (without any optimization) on a normal PC with the Maple Linear Algebra software pacage The computation is completed within reasonable time The computation time can be saved by optimizing the algorithm code and by utilizing the more efficient Matlab software pacage 51 A simple example In this subsection we consider a simple non-preemptive DBMAP/PH/1 priority queue with the following settings: 5 S 1 = 5 5 5 S = 5 β 1 = [1 ] β = [1 ] S 1 = [95 95 95 1]t S = [95 95 1]t [ ] 1 9 D = 8

14 Queueing Syst (6) 53:17 145 D = 3/5D D 1 = D = D 3 = D 4 = 1/15D D 1 = D = 1/15D and all other D i1 i = α = [/11 9/11] The mean arrival rate for the high priority jobs is λ h = 6666666668; the mean arrival rate for the low priority jobs is λ l = The mean service time for the high priority jobs is t h = 1565; the mean service time for the low priority jobs is t l = 155 The traffic intensity is ρ = λ h t h + λ l t l = 915 We apply the computing algorithms for the above nonpreemptive DBMAP /PH/1 priority queue We firstly compute R R and Shown below is a list of the elements for R i e Ri e and i e in which [vector]t with a superscript t indicates the transpose of the [vector] The results demonstrate that R i Ri and i are monotonically decreasing with index i R 3 e = [558656884 55786411 54655 475183 558656884 5578641 54655 475184 11618458 1143335 195165 195165 11618458 1143335 195165 195165] t R 4 e = [3936848553 393614455 397469 3714879 3936848553 393614455 397469 3714879 869436453 86819463 8418556 8418556 869436454 86819464 8418556 8418556] t 3 e = [179376449767 17937649843467]t 4 e = [1339377559189 133937793553]t 5 e = [677189646344383 67718964635953664]t R 3 1 e = [195593137753854 195593138334196]t R 4 1 e = [1517754591313143 151775459134413857]t R 5 1 e = [87116178515993 8711617177948]t R 3 1e = [1133589 1139669 11383387 195165 1133589 1139669 11383387 195165 199447184 199589597 19559314 19559314 199447184 199589597 19559314 19559314] t R 4 1e = [8749157 874831153 87381183 8418556 8749157 874831153 87381183 8418556 155433765 155671376 1517754591 1517754591 R 5 e = [8874794 845969 737137 1959981413 8874794 845969 737137 1959981413 4531585 45319777 437879617 437879617 45315851 45319778 437879617 437879617] t We obtain π ij in which π is π = [19845157133 8154984799869768] (before normalization) π = [1848349857945 7464967514597] (after normalization) The joint queue length probability mass function is shown in Figure 1 We also determine the marginal high and low priority queue length probability mass functions as shown in Figure (a) and Figure (b) respectively We obtain the high 155433765 155671376 1517754591 1517754591] t R 5 1e = [456695169 456147956 4549954131 437879617 456695169 456147956 4549954131 437879617 8463644 83171768 87116171 87116171 8463645 83171768 87116171 87116171] t probability 16 14 1 1 8 6 4 4 6 81 high 1 141618 1 15 low 5 3 Fig 1 Joint queue length probability mass function 5

Queueing Syst (6) 53:17 145 141 Fig Marginal queue length probability mass functions probability 3 5 15 1 5 probability 5 1 15 5 3 high priority queue length 16 14 1 1 8 6 4 1 3 4 5 low priority queue length priority mean queue length Q h = 5 and the low priority mean queue length Q l = 66 By Little s law we have the high priority queue mean waiting time W h = 375 and the low priority queue mean waiting time W l = 335 We obtain the system idle probability P{idle}=π e = 9313 5 A wireless multimedia example In this subsection we consider a more realistic nonpreemptive DBMAP/PH/1 priority example that resembles wireless multimedia communications We assume that the wireless networ can transmit a fixed size data bloc during one time slot and each application pacet is segmented into a number of data blocs (depending on the actual size of the pacet) for the purpose of transmission We consider a mobile terminal that generates three types of traffic ie voice video and data We assume that the voice and video traffic are handled with a higher priority than the data traffic We further assume that for each transmission of the data bloc the average error probability is given by ɛ In this example we assume that the data traffic is protected by ARQ with at most three (re)transmissions We also assume that the voice and video traffic is not protected by ARQ due to the real-time requirement and the fact that they are more tolerant of loss or error Therefore the PH-type service parameters (β 1 S 1 ) (β S ) for the high and low priority queue are given by S 1 = [] S1 = [1] β 1 = [1] ɛ S = ɛ S = [1 ɛ 1 ɛ 1]t β = [1 ] The mean service time for the high priority traffic is t h = 1 and the mean service time for the low priority traffic is t l = β (I S ) 1 e We assume that the voice and video traffic can be modeled by an ON/OFF source as depicted in Figure 3 In the OFF state the mobile terminal does not generate any voice or video traffic; in the Voice ON state the mobile terminal generates voice traffic with a fixed batch size of 1; and in the Video ON state the mobile terminal generates video traffic with a batch size ranging from 1 to 8 In this example we assume that the transmission bloc size is 3 bytes Therefore the maximum video pacet size is 56 bytes We assume that the voice pacet size is fixed and equal to the transmission bloc size; the video pacet size follows a log-normal distribution which is a valid assumption for typical video conference traffic As an example we assume that the probability mass function v[i] i = 1 8 for the video pacet size (in terms of number of transmission blocs) is given by [ 153 47 86 99 5 6 ] The above voice and video traffic can be modeled by a Marov chain with the following transition probability matrix 1 h 1 h h h 1 D = g 1 g g 1 1 g 1 The steady state probability vector for the above voice and video traffic model is given by [ g 1 g g 1 h h 1 g + g 1 h + g 1 g h 1 g + g 1 h + g 1 g h 1 g h 1 g + g 1 h + g 1 g We further assume that data traffic generated in any state is independent from the voice and video traffic and that the data Fig 3 Voice and video traffic model ]

14 Queueing Syst (6) 53:17 145 cumulative probability 8 6 4 1 1 3 4 5 6 7 8 9 1111131415161718 batch size Fig 4 Data pacet batch size distribution traffic can be modeled by a batch Bernoulli arrival process with arrival probability of p The batch size of the data pacet is assumed to be within a range from 1 to 18 Therefore the maximum data pacet size is 576 bytes which is a typical configuration for a mobile data terminal with PPP connection to the wireless networ The batch size of the data traffic is assumed to follow a stepwise distribution [4] as shown in Figure 4 As a matter of fact we assume that the probability mass function d[i] i = 1 18 for the data pacet size is given by [5 43 99 18 33 43 1 7 14 1 6 6 9 65 69] Under the above assumptions we can determine all the parameters for the aggregated traffic arrival process including voice video and data which is a DBMAP arrival process with priorities as defined in Section 31 The D i1 i parameters are listed as follows: (1 h 1 h )(1 p) D = g (1 p) g 1 (1 p) (1 h 1 h )d[i ]p D i = g d[i ]p i = 1 18 g 1 d[i ]p h (1 p) h 1 (1 p)v[1] D 1 = (1 g )(1 p) (1 g 1 )(1 p)v[1] h 1 (1 p)v[i 1 ] D i1 = i 1 = 8 (1 g 1 )(1 p)v[i 1 ] h d[i ]p h 1 v[1]d[i ]p D 1i = (1 g)d[i ]p (1 g 1 )v[1]d[i ]p i = 1 18 h 1 v[i 1 ]d[i ]p D i1 i = (1 g 1 )v[i 1 ]d[i ]p i 1 = 8 i = 1 18 It can be verified that 8 18 i 1 = i = D i 1 i = D In this example we use the following settings for the arrival process and the service process: h 1 = 145 g 1 = 9 h = 48 g = 9 p = 8 ɛ= 5 As a result the steady probability vector for the arrival process is given by [935 5 15] We have the high priority queue mean arrival rate λ h = 1163 for the voice and video traffic and the low priority queue mean arrival rate λ l = 6856 for the data traffic The traffic intensity is ρ = λ h t h + λ l t l = 7414 Therefore the queue is stable cumulative probability 8 6 4 1 computation simulation 5 1 15 5 3 35 4 high priority queue length Fig 5 The high priority queue length distribution function cumulative probability 4 1 8 6 computation simulation 1 3 4 5 6 7 8 9 low priority queue length Fig 6 The low priority queue length distribution function