Submitted to IEEE Transactions on Computers, June Evaluating Dynamic Failure Probability for Streams with. (m; k)-firm Deadlines

Similar documents
Bounding the End-to-End Response Times of Tasks in a Distributed. Real-Time System Using the Direct Synchronization Protocol.

M/G/1 and Priority Queueing

Online Supplement to Delay-Based Service Differentiation with Many Servers and Time-Varying Arrival Rates

Derivation of Formulas by Queueing Theory

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 "

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

Trac of an ATM-SMX in the NCIH. Tung Ouyang and Arne A. Nilsson. Center for Advanced Computing and Communication

EFFICIENT COMPUTATION OF PROBABILITIES OF EVENTS DESCRIBED BY ORDER STATISTICS AND APPLICATION TO A PROBLEM OFQUEUES

[4] T. I. Seidman, \\First Come First Serve" is Unstable!," tech. rep., University of Maryland Baltimore County, 1993.

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

Optimal Rejuvenation for. Tolerating Soft Failures. Andras Pfening, Sachin Garg, Antonio Puliato, Miklos Telek, Kishor S. Trivedi.

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

M/G/FQ: STOCHASTIC ANALYSIS OF FAIR QUEUEING SYSTEMS

Performance Evaluation of Queuing Systems

EDF Feasibility and Hardware Accelerators

On-line Bin-Stretching. Yossi Azar y Oded Regev z. Abstract. We are given a sequence of items that can be packed into m unit size bins.

Upper and Lower Bounds on the Number of Faults. a System Can Withstand Without Repairs. Cambridge, MA 02139

Multiplicative Multifractal Modeling of. Long-Range-Dependent (LRD) Trac in. Computer Communications Networks. Jianbo Gao and Izhak Rubin

A discrete-time priority queue with train arrivals

NATCOR: Stochastic Modelling

Stability, Queue Length and Delay of Deterministic and Stochastic Queueing Networks Cheng-Shang Chang IBM Research Division T.J. Watson Research Cente

Exercises Stochastic Performance Modelling. Hamilton Institute, Summer 2010

Fair Operation of Multi-Server and Multi-Queue Systems

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

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

Schedulability analysis of global Deadline-Monotonic scheduling

Session-Based Queueing Systems

One important issue in the study of queueing systems is to characterize departure processes. Study on departure processes was rst initiated by Burke (

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

CPSC 531: System Modeling and Simulation. Carey Williamson Department of Computer Science University of Calgary Fall 2017

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

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

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

SOLUTIONS IEOR 3106: Second Midterm Exam, Chapters 5-6, November 8, 2012

REAL-TIME DELAY ESTIMATION BASED ON DELAY HISTORY SUPPLEMENTARY MATERIAL

On the Partitioning of Servers in Queueing Systems during Rush Hour

On the static assignment to parallel servers

Lecture 6. Real-Time Systems. Dynamic Priority Scheduling

Analysis of an M/G/1 queue with customer impatience and an adaptive arrival process

The Transition Probability Function P ij (t)

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

1. Introduction. Consider a single cell in a mobile phone system. A \call setup" is a request for achannel by an idle customer presently in the cell t

Stationary Analysis of a Multiserver queue with multiple working vacation and impatient customers

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

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Electrical Engineering and Computer Science

`First Come, First Served' can be unstable! Thomas I. Seidman. Department of Mathematics and Statistics. University of Maryland Baltimore County

VARIANCE REDUCTION IN SIMULATIONS OF LOSS MODELS

Methodology for Computer Science Research Lecture 4: Mathematical Modeling

Solutions to Homework Discrete Stochastic Processes MIT, Spring 2011

On the Throughput, Capacity and Stability Regions of Random Multiple Access over Standard Multi-Packet Reception Channels

Tardiness Bounds under Global EDF Scheduling on a Multiprocessor

1 Introduction Future high speed digital networks aim to serve integrated trac, such as voice, video, fax, and so forth. To control interaction among

Lecture 7: Simulation of Markov Processes. Pasi Lassila Department of Communications and Networking

Sensitivity Analysis for Discrete-Time Randomized Service Priority Queues

Introduction This paper is motivated by the question of whether a predictor of future packet arrivals could improve switch performance. This is a two-

Computer Networks More general queuing systems

Link Models for Circuit Switching

Part I Stochastic variables and Markov chains

Waiting time characteristics in cyclic queues

Multiprocessor Scheduling II: Global Scheduling. LS 12, TU Dortmund

Statistics 150: Spring 2007

6 Solving Queueing Models

Queueing Theory and Simulation. Introduction

Real-Time and Embedded Systems (M) Lecture 5

Scheduling I. Today. Next Time. ! Introduction to scheduling! Classical algorithms. ! Advanced topics on scheduling

EDF Scheduling. Giuseppe Lipari May 11, Scuola Superiore Sant Anna Pisa

M 2 M 3. Robot M (O)

A Retrial Queueing model with FDL at OBS core node

Semantic Importance Dual-Priority Server: Properties

Scheduling of Frame-based Embedded Systems with Rechargeable Batteries

Efficient Nonlinear Optimizations of Queuing Systems

Elementary queueing system

Chapter 5. Continuous-Time Markov Chains. Prof. Shun-Ren Yang Department of Computer Science, National Tsing Hua University, Taiwan

CSE 380 Computer Operating Systems

A PARAMETRIC DECOMPOSITION BASED APPROACH FOR MULTI-CLASS CLOSED QUEUING NETWORKS WITH SYNCHRONIZATION STATIONS

Scheduling Slack Time in Fixed Priority Pre-emptive Systems

Queueing Review. Christos Alexopoulos and Dave Goldsman 10/6/16. (mostly from BCNN) Georgia Institute of Technology, Atlanta, GA, USA

Real-Time Scheduling and Resource Management

Lecture Notes of Communication Network I y: part 5. Lijun Qian. Rutgers The State University of New Jersey. 94 Brett Road. Piscataway, NJ

CPU SCHEDULING RONG ZHENG

Queueing Theory II. Summary. ! M/M/1 Output process. ! Networks of Queue! Method of Stages. ! General Distributions

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

Computer Science, Informatik 4 Communication and Distributed Systems. Simulation. Discrete-Event System Simulation. Dr.

BIRTH DEATH PROCESSES AND QUEUEING SYSTEMS

A New Technique for Link Utilization Estimation

TOWARDS BETTER MULTI-CLASS PARAMETRIC-DECOMPOSITION APPROXIMATIONS FOR OPEN QUEUEING NETWORKS

The Entropy of Cell Streams as a. Trac Descriptor in ATM Networks

ISE/OR 762 Stochastic Simulation Techniques

CS418 Operating Systems

arxiv: v1 [math.pr] 11 May 2018

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

Introduction to Queueing Theory

STEADY-STATE PROBABILITIES FOR SOME QUEUEING SYSTEMS: Part II

Multiserver Queueing Model subject to Single Exponential Vacation

An Admission Control Mechanism for Providing Service Differentiation in Optical Burst-Switching Networks

Worst-case response time analysis of real-time tasks under fixed-priority scheduling with deferred preemption revisited

State-dependent and Energy-aware Control of Server Farm

Chapter 2 Queueing Theory and Simulation

Probability Models in Electrical and Computer Engineering Mathematical models as tools in analysis and design Deterministic models Probability models

MULTIPLE CHOICE QUESTIONS DECISION SCIENCE

Transcription:

Submitted to IEEE Transactions on Computers, June 1994 Evaluating Dynamic Failure Probability for Streams with (m; k)-firm Deadlines Moncef Hamdaoui and Parameswaran Ramanathan Department of Electrical and Computer Engineering University of Wisconsin{Madison Madison, WI 53706{1691 (608) 263-0557, parmesh@ece.wisc.edu ABSTRACT In [5], we introduced the notion of (m; k)-rm deadlines to better express the timing requirements of real-time streams. For a stream with (m; k)-rm deadlines, the quality of service is acceptable as long as at least m customers meet their deadlines in any window of k consecutive customers. If fewer than m customers meet their deadlines in a window of k consecutive customers, the stream is said to have encountered a dynamic failure. Based on this model, we proposed a priority-based service policy for scheduling multiple real-time streams on a single resource. This scheme was compared to a single priority scheme where all customers are serviced at the same priority level. Simulation results show that the proposed distance-based priority scheme reduces the probability of dynamic failure. In this paper, we develop an analytic model for both the single priority scheme and the distancebased priority scheme. This model is used to compute the probability of dynamic failure of a real-time customer stream. Index Terms: Real-Time Systems, Dynamic Failure, Priority Queues, Analytic Modeling. The work reported here is supported in part by the National Science Foundation under Grant MIP-9213716. Any opinions, ndings, and conclusions or recommendations expressed in this paper are those of the authors and do not necessarily reect the views of NSF. 1

1 Introduction A real-time stream is a sequence of related customers with certain timing constraints. The constraint is often in the form of a deadline within which a customer in the stream expects to receive complete service. A customer is said to have met its deadline if it receives complete service before the deadline. A customer stream is said to have (m; k)-rm deadlines if, in any window of k consecutive customers, at least m customers must meet their deadlines [5]. Such a stream is said to experience a dynamic failure if fewer than m customers meet their deadlines in a window of k consecutive customers. For example, consider the stream of customers (i.e., task instances) generated by a periodic real-time task in which each instance expects to complete its computation before the activation of the next instance. This stream is said to have (2; 3)-rm deadlines if the application requires that at least two out of any three consecutive instances complete their computation before their deadlines. We consider a system consisting of multiple real-time streams competing for a single server. In [5], we proposed a distance-based priority (DBP) scheme for reducing the probability of dynamic failure. The idea is to assign priorities to customers based on the state of their corresponding streams; the closer a stream is to a dynamic failure, the higher the priority assigned to its next customer. The DBP scheme was then compared to a single priority (SP) scheme in which all customers in the system are serviced at the same priority level. Through simulation, it was shown that DBP results in a substantially lower probability of dynamic failure. The objective of this paper is to develop an analytic model for the SP and DBP schemes. The diculty in developing an analytic model for the SP and DBP schemes stems from the strong correlation between the waiting times of consecutive customers. If a customer encounters a long delay, then it is very likely that the following customer will also encounter a long delay. As a result, the conditional probability of a customer missing its deadline given that the previous customer missed its deadline is signicantly higher than the unconditional probability of a customer missing its deadline. In addition, in the DBP scheme, the probability of a customer missing its deadline also depends on the eective load at each priority level and on the priority level at which the customer is serviced. The eective loads and the priority of a customer in turn depend on the status of all the previous customers. This interdependence between the eective load at each priority level and the probability of miss further complicates the development of an analytic model for the DBP scheme. 2

In this paper, we approximate the probability of dynamic failure of a stream with (m; k)- rm deadlines using a Markov chain with 2 k states. A state represents the status (a meet or a miss) of the k most recent customers from the stream. The correlation between the status of consecutive customers is carefully accounted for in evaluating the transition probabilities. The probability of dynamic failure is computed as the probability of being in a failing state, i.e., a state with fewer than m meets. This model is then solved for a few example cases and the results obtained are compared to those obtained through simulation. The comparison shows that the model is fairly good, especially at higher loads. The rest of the paper is organized as follows. A brief overview of the deadline model, the single priority scheme and the distance-based priority scheme is presented in Section 2. The analytic model is developed and evaluated in Section 3. The paper concludes with Section 4. 2 System Model and Service Policies In this paper, we consider a system with N customer streams, R 1 ; R 2 ; : : :; R N, and a single server. Customers from each stream are numbered 1; 2; 3; : : :, in the order of their arrival. These customers can be tasks, messages, or any other schedulable entities. Customers from the same stream are serviced in First-In First-Out order. This can be accomplished by maintaining a separate First-In First-Out queue for each stream. Only the heads of these queues are candidates for service. The selection of which stream to service when the server becomes idle depends on the policy being used [1{4,7{10]. Each customer has a deadline before which it expects complete service. A customer meets the deadline if it is fully serviced before the deadline expires. Otherwise, the customer is said to have missed the deadline. We assume that stream R j can tolerate at most k j? m j deadline misses in any window of k j consecutive customers, i.e., stream R j has (m j ; k j )-rm deadlines. The parameters m j and k j therefore specify a desired quality of service (QOS) for stream R j. This QOS is violated when more than k j?m j customers miss their deadlines in a window of k j consecutive customers from stream R j. When this occurs, we say that stream R j experienced a dynamic failure. The probability of dynamic failure is therefore a measure of how often the QOS requirement is violated. More formally, let m and M denote a deadline miss and a deadline meet, respectively, and let j i be a binary random variable denoting the status of the ith customer, i 1, from 3

stream R j, i.e., j i = 8 < : m M if the i th customer from R j misses its deadline, otherwise. (2:1) Further, for convenience of presentation, we assume that j i = m if i 0. Then, stream R j is said to have experienced a dynamic failure at the i th customer if ix l=i?k j +1 I f j l =Mg < m j; (2:2) where I j f =Mg = 1 if j l = M and I f j =Mg = 0 otherwise. Let P j fail; i denote the probability of l l stream R j experiencing a dynamic failure at the i th customer, i.e., P j fail; i = Pr[ ix l=i?k j +1 I f j l =Mg < m j]: (2:3) We assume that there exists a probability P j fail such that lim i!1 P j fail; i = P j fail. We refer to P j fail as the steady state probability of dynamic failure of stream R j. The objective of this paper is to compute this probability under dierent service policies. In this paper, we consider two policies for selecting the next customer to service: the single priority (SP) scheme and the distance-based priority (DBP) scheme [5]. In the SP scheme, all customers are serviced at the same priority level. When the server becomes idle, it selects the customer with the earliest arrival time, i.e., customers are serviced in First-In First-Out order. The DBP scheme is a dynamic priority assignment technique in which customers are assigned priorities based on the state of their corresponding streams. When the server becomes idle, it selects the customer with the highest priority. Within the same priority level, customers are serviced in First-In First-Out order. The assignment of priorities in the DBP scheme works as follows (a more detailed description is given in [5]). The system maintains the state of each stream. The state of stream R j captures the history of the k j most recent customers from stream R j. Namely, the state of stream R j at a given time is the k j -tuple ( j i?k j +1 ; : : :; j i?1 ; j i ), where i is the index of the most recent customer serviced from stream R j. Stream R j can therefore be in one of 2 k j possible states. The states with fewer than m j meets are called failing states. 4

When a customer reaches the head of its stream queue (i.e., the customer is ready to be serviced,) it is assigned a priority value. Let s be the current state of stream R j. Then the next customer from stream R j is assigned a priority value equal to the distance from state s to a failing state of stream R j. This distance is dened as the minimum number of consecutive misses required to take the stream from state s to a failing state. Customers with a lower priority value are serviced ahead of customers with a higher priority value. The state of stream R j is denoted by a k j -letter string, where the right-most letter indicates the status of the last customer, the second letter from the right indicates the status of the second to last customer, and so on. For example, consider a stream with (1; 2)-rm deadlines. If the most recent customer from the stream has met its deadline and the customer before it has missed its deadline, then the stream is in state mm. If the next customer from the stream misses its deadline, the stream's state becomes Mm. The set of possible states for this stream is S = fmm; mm; Mm; MMg. Out of these states, mm is the only failing state. When the stream is in this state, the stream is already in a failing state and so its next customer is assigned a priority value of 0, i.e., the highest priority. When the stream is in state Mm, the stream is one miss away from a failing state, and therefore, its next customer is assigned a priority value of 1. Finally, when the stream is in states mm or MM, the stream is two misses away from a failing state, and therefore, its next customer is assigned a priority value of 2. 3 Analytic Model In this section, we compute the probability of dynamic failure of stream R j, 1 j N, in both the SP and the DBP schemes. We dene the following random variables: S j i { Service time of the i th customer from stream R j. C j i { Interarrival time between customers i and i + 1 of stream R j. D j i { Relative deadline of the i th customer from stream R j. A customer with a relative deadline d is said to have missed its deadline (and is considered lost) if it is not completely serviced within d time units. X j i { System time (waiting time + service time) of the i th customer from stream R j. Y j i { The total service time of the customers serviced between customers i and i + 1 of stream R j (these customers, if any, are generated by streams other than R j ). 5

Let f R and F R denote the probability density function and the probability distribution function, respectively, of the random variable R. In the following analysis, we assume that, for each stream, customer interarrival times are independent and identically distributed (i.i.d.), customer service times are i.i.d., and customer deadlines are i.i.d. The probability of dynamic failure depends on the probability that a customer misses its deadline. As indicated earlier, there is usually a strong correlation between the waiting times of consecutive customers. The probability that a customer misses its deadline therefore depends on whether previous customers met or missed their deadlines. For example, consider a recently generated customer. If the previous customer from the same stream encountered a long queue and missed its deadline, then it is likely that the current customer will also encounter a long queue and thus miss its deadline. In general, the probability of a customer missing its deadline depends on the status of every previous customer from the stream. In the following analysis, however, the probability of a customer missing (or meeting) its deadline is conditioned on the status of the previous customer (from the same stream) but not on earlier customers. As will be shown later, the eect of earlier customers is negligible and is therefore ignored. In summary, the analysis presented in this section is based on the following two assumptions: A1. For each j 2 f1; 2; : : :; Ng, fc j 1 ; Cj 2 ; : : :g, fsj 1 ; Sj 2 ; : : :g and fdj 1 ; Dj 2 ; : : :g are mutually independent. Furthermore, the random variables in each set are independent and identically distributed. A2. For all j = 1; 2; : : :; N and for all i = 1; 2; : : :, Pr[ j i+1 = m j j i ; j i?1 ; j i?2 ; : : :] = Pr[j i+1 = m j j i ]: (3:1) We assume that a steady state exists and that the system reaches it. 1 We are interested in computing the probability of dynamic failure of stream R j at steady state. We model stream R j as a Markov chain with 2 k j states, where a state indicates the status of the kj most recent customers from R j, as described earlier. Let s = ( j i?k j +1 ; j i?k j +2 ; : : :; j i ) be the current state of stream R j. When the next customer from stream R j is serviced, the stream transits to one of two states, depending on whether the customer misses or meets 1 Let j (s) be the probability that stream is in state i Rj s when the customer gets serviced. Then, we ith say that a steady state exists if, for each stream R j and for each state s of R j, there exists j (s) such that j (s)! (s) as i j i! 1. 6

the deadline. If the customer meets the deadline, the next state is s M def = ( j i?k j +2 ; : : :; j i ; M): (3:2) Otherwise, the next state is s m def = ( j i?k j +2 ; : : :; j i ; m): (3:3) The transition probabilities therefore correspond to the probability that the next customer meets its deadline and the probability that the next customer misses its deadline, respectively. Given the transition probabilities from each state, the Markov chain can be solved for the steady state distribution. The probability of dynamic failure can then be computed from the steady state distribution as X P j fail = j (s); (3:4) s2s j 0 where j (s) is the steady state probability that stream R j is in state s and S j 0 failing states. is the set of Without loss of generality, let R 1 be the stream of interest. In the remainder of this section, the superscript in the above dened variables is omitted and is assumed to be 1 unless otherwise specied. 3.1 Single Priority Scheme In this policy, all customers are assigned the same priority, regardless of which state the corresponding stream is in. Fig. 1 shows the Markov chain for a stream with (1; 3)- rm deadlines. The probability p m (p M ) denotes the conditional probability of a customer missing its deadline given that the previous customer from the same stream missed (met) its deadline. The transition probabilities from a state are therefore either p m and 1? p m, or p M and 1? p M, depending on whether the most recent customer missed or met its deadline. For example, the transition probabilities from state mmm are p M and 1? p M since the last customer met its deadline. A customer misses its deadline if its system time is greater than its deadline and meets its deadline otherwise. Consider a typical customer i + 1. The conditional probability that this customer misses its deadline given that the i th customer met its deadline can be written 7

p M 1 p M mmm 1 p M MMM p M MMm 1 p M MmM p M 1 p m 1 p m p m p m 1 p m Mmm p m mmm 1 p M p M mmm 1 p m mmm p m Figure 1: Markov chain for a stream with (1; 3)-rm deadlines when the SP scheme is used. as p M = Pr[X i+1 > D i+1 j X i D i ] = 1? Pr[X i+1 D i+1 j X i D i ] = 1? Pr[X i+1 D i+1 ; X i D i ] : (3.5) Pr[X i D i ] From the joint probability distribution, we can also compute the conditional probability that the (i + 1) th customer misses its deadline given that the i th customer missed its deadline as follows: p m = Pr[X i+1 > D i+1 j X i > D i ] = 1? Pr[X i+1 D i+1 j X i > D i ] = 1? Pr[X i+1 D i+1 ]? Pr[X i+1 D i+1 ; X i D i ] : (3.6) Pr[X i > D i ] We need to derive an expression for the joint probability Pr[X i+1 t i+1 ; X i t i ]. Recall that customers are serviced in the order they arrive in. When customer i is dequeued for service, all the earlier customers have already been serviced. After customer i is fully serviced, the server rst services all the customers (from other streams) that arrived between customers i and i + 1, and then it services customer i + 1. We distinguish the following two cases: (a) customer i + 1 arrives before customer i is fully serviced, i.e., C i X i, and (b) customer i + 1 arrives after customer i is fully serviced, i.e., C i > X i, and consider each separately. Let the time t = 0 denote the arrival time of customer i. (Customer i + 1 therefore arrived at time C i and customer i is fully serviced at time X i.) Case (a) C i X i This case is depicted in Fig. 2(a). Since customer i + 1 arrives before customer i is fully 8

i arrives Xi i completes service 0 Ci i+1 arrives Xi+1 (a) Yi S i+1 i+1 begins service i+1 completes service time i arrives Xi i completes service 0 Ci Yi Y i S i+1 i+1 begins service i+1 arrives (b) Xi+1 i+1 completes service time Figure 2: System times of customers i and i + 1. 9

serviced, customer i + 1 has to wait X i? C i until customer i is serviced and then wait Y i while other customers (from other streams) are being serviced before it is dequeued for service. Its overall system time is therefore X i+1 = X i? C i + Y i + S i+1. Case (b) C i > X i In this case, customer i + 1 arrives (C i? X i ) time units after customer i is fully serviced, as depicted in Fig. 2(b). During this time period ([X i ; C i ]), a portion Yi 0 of Y i (0 Yi 0 Y i) has also been serviced. Therefore, customer i + 1 has to wait for Y i? Yi 0 before it is dequeued for service. Its system time is then X i+1 = Y i? Yi 0 + S i+1. However, determining the exact value of Y 0 i is dicult since it depends on when each of the intermediate customers 2 arrives. For example, if all the intermediate customers arrive at C? i, i.e., right before customer i + 1 arrives, then Yi 0 = 0. On the other hand, if they all arrive before X i, i.e., before customer i is fully serviced, then Yi 0 = minfy i ; C i? X i g. In our model, we approximate Yi 0 as follows. If Y i > C i? X i, then we approximate Yi 0 as C i? X i, and therefore X i+1 = Y i? Yi 0 + S i+1 = X i? C i + Y i + S i+1. Otherwise, if Y i C i? X i, we assume that all the intermediate customers are serviced before customer i + 1 arrives, i.e., = Y i. In this case, customer i + 1 arrives to an empty system (empty queue and idle Y 0 i server) and is therefore serviced right away; its system time equals its service time, S i+1. These assumptions are reasonable since all the intermediate customers that arrive during [0; X i ] are ready for service at X i. Note that, in both cases, Yi 0 is over-estimated and that the approximation becomes more accurate as the load increases. By combining the above two cases, the system time of customer i + 1 can be written as: X i+1 = 8 < : S i+1 X i + Y i? C i + S i+1 if X i + Y i C i otherwise. (3:7) It should be noted that, because Yi 0 is over-estimated, the above expression of X i+1 is a lower bound. Also, if there is only one stream in the system, we have Y i = 0 and the above expression becomes exact. Using Eqn. (3.7), we have Pr[X i t i ; X i+1 t i+1 ] = Pr[X i t i ; X i+1 t i+1 ; X i + Y i C i ] + Pr[X i t i ; X i+1 t i+1 ; X i + Y i > C i ] = Pr[X i t i ; S i+1 t i+1 ; X i + Y i C i ] + Pr[X i t i ; X i + Y i? C i + S i+1 t i+1 ; X i + Y i > C i ]:(3.8) 2 The customers that arrive between customers i and i + 1 of the stream of interest. 10

From assumption A1 and the fact that customers from the same stream are serviced in First-In First-Out order, X i, C i, and S i+1 are mutually independent, 3 and therefore, Similarly, we have Pr[X i t i ; S i+1 t i+1 ; X i + Y i C i ] = Pr[S i+1 t i+1 ] Pr[X i t i ; X i + Y i C i ] = Pr[S i+1 t i+1 ] Z ti Z ti = Pr[S i+1 t i+1 ] x=0 Pr[x + Y i C i ]f Xi (x) dx x=0 Z 1 c=x Pr[X i t i ; X i + Y i? C i + S i+1 t i+1 ; C i < X i + Y i ] = = = = Z 1 c=0 Z 1 c=0 Z 1 c=0 Z 1 c=0 Pr[Y i c? x]f Ci (c) f Xi (x) dc dx: (3.9) Pr[X i t i ; X i + Y i? c + S i+1 t i+1 ; c < X i + Y i ]f Ci (c) dc Z ti Pr[x + Y i? c + S i+1 t i+1 ; c < x + Y i ]f Xi (x) f Ci (c) dx dc x=0 Z 1 Z ti x=0 s=0 Z 1 Z ti x=0 s=0 Pr[x + Y i? c + s t i+1 ; c < x + Y i ]f Si+1 (s) f Xi (x) f Ci (c) ds dx dc Pr[c? x < Y i t i+1? s + c? x]f Si+1 (s) f Xi (x) f Ci (c) ds dx dc:(3.10) The joint probability distribution Pr[X i+1 t i+1 ; X i t i ] can now be evaluated by substituting Eqns. (3.9) and (3.10) into Eqn. (3.8). Given the joint probability distribution, the probabilities p M and p m are evaluated using Eqns. (3.5) and (3.6) and the Markov chain is solved for the steady state distribution. The analytic model assumes that the probability of a customer missing its deadline depends on the status of the previous customer but not on the status of earlier customers from the corresponding stream. Consider for example the case when a stream is in state MMM, i.e., the last three customers from the stream met their deadlines. The probability of deadline miss given that the last three customers met their deadlines is smaller than the probability of deadline miss given that the last one customer met its deadline. The probability of miss from this state is therefore over-estimated in the analytic model. Since streams are often in this all-meet state, especially at lower loads, the model tends to overestimate the probability of dynamic failure because of this assumption. 3 Note, however, that Y i depends on C i. 11

The second approximation is made when evaluating the joint probability Pr[X i+1 t i+1 ; X i t i ]. The system time of customer i+1, as given by Eqn. (3.7), is an approximation of the actual system time. This approximation is a lower bound which gets tighter as the load increases. Because the system time of customer i + 1 is under-estimated, the joint probability Pr[X i+1 t i+1 ; X i t i ] is over-estimated. The probability that a customer misses its deadline given that the previous customer met its deadline (as given by Eqn. (3.5)) is therefore under-estimated. On the other hand, the probability that a customer misses its deadline given that the previous customer missed its deadline is over-estimated (see Eqn. (3.6). It is not clear, however, whether the combined eect of this approximation over or under-estimates the probability of dynamic failure. Example: An M/M/1 System Consider for example the case where customer interarrival times and service times are exponentially distributed with rates and, respectively, i.e., an M/M/1 system. Let j be the customer arrival rate from stream j such that P N j=1 j =. Again, let R 1 be the stream of interest, and let r =? 1. We have, for t 0, f Ci (t) = 1 e? 1t (3.11) f Si (t) = e?t : (3.12) At steady state (i.e., i 1), the probability density function of the system time is ([6]) f Xi (t) = (1? )e?(1?)t ; t 0; (3:13) where = =. The probability distribution function of the system time is F Xi (t) = Pr[X i t] = 1? e?(1?)t ; t 0: (3:14) Recall that Y i represents the total service time of customers that arrive between customers i and i + 1 of stream stream R 1. It therefore depends on C i, the interarrival time between customers i and i + 1. The probability distribution of Y i, conditioned on C i, is derived in Appendix A, and is given by Pr[Y i t j C i = c] = 1? e?t e?rc 1X n=0 (t) n n! 1X k=n+1 ( r c) k k! (3:15) for all t; c 0. 12

f Xi Eqns. (3.9) and (3.10) can now be evaluated using the above expressions for f Ci, f Si, and F Yi jc. The details are shown in Appendix B. The transition probabilities can then be computed from p m and p M, as given by Eqns. (3.5) and (3.6). Numerical Example 1: Consider a system consisting of seven streams with (1; 3)-rm deadlines such that 1 = = 7 = 0:8=7 ( = 0:8). Let = 1:0 and D i = 5 for all i. Let i 1. In this case, the probability of a customer missing its deadline is Pr[X i > 5] = 1?F Xi (5) = 0:367. However, the conditional probability that a customer misses its deadline given that the previous customer from the same stream missed its deadline is (Eqn. (3.6)) p m = Pr[X i+1 > D i+1 j X i > D i ] = 1? Pr[X i+1 5]? Pr[X i+1 5; X i 5] Pr[X i > 5] = 0:793: (3:16) On the other hand, the conditional probability that a customer misses its deadline given that the previous customer met its deadline is (Eqn. (3.5)) p M = Pr[X i+1 > D i+1 j X i D i ] = 1? Pr[X i+1 5; X i 5] Pr[X i 5] = 0:120: (3:17) Using the above values of p m and p M, the steady state distribution of the Markov chain shown in Fig. 1 is (see Appendix C) (mmm) = 0:2318; (mmm) = 0:0602; (mmm) = 0:0091; (mmm) = 0:0668; (Mmm) = 0:0602; (MmM) = 0:0156; (MMm) = 0:0668; (MMM) = 0:4895: (3.18) Since state mmm is the only failing state, we have P fail = (mmm) = 0:2318: (3:19) The analytic model developed above is not exact. As indicated earlier, the errors are due to (i) the assumption that the probability of a customer missing its deadline depends on the status of the previous customer only, and (ii) the approximation of the system time of customer i + 1 in terms of the system time of customer i, as given by Eqn. (3.7). The accuracy of the model is gauged by comparing the probability of dynamic failure as computed analytically to that obtained through simulation. The simulator takes as input the distributions of customer interarrival times, customer service times, and customer deadlines for each stream in the system. The system is then simulated and the steady state probability of dynamic failure is determined for each stream. Since the simulator computes 13

0.8 Prob[Dyn failure] 0.6 0.4 (2,3)-firm, Analytical (2,3)-firm, Simulation (1,3)-firm, Analytical (1,3)-firm, Simulation 0.2 0.0 0.0 0.2 0.4 0.6 0.8 1.0 Load Figure 3: The probability of dynamic failure as computed analytically and as obtained through simulation for the conventional single priority scheme. the exact customer system times, the results obtained from the simulation are exact for the given distributions. Fig. 3 shows plots of the probability of dynamic failure as computed analytically and as obtained through simulation for the system described in Example 1 when the streams have (i) (1; 3)-rm deadlines and (ii) (2; 3)-rm deadlines. The arrival rate, which is the same for each stream, is varied so that the overall load is varied from 0.2 to 0.9. When the deadlines are (1; 3)-rm, the probability of dynamic failure is P fail = (mmm). However, when the deadlines are (2; 3)-rm, the set of failing states is S 0 = fmmm; mmm; mmm; Mmmg and therefore P fail = (mmm) + (mmm) + (mmm) + (Mmm): (3:20) As can be seen from the plots, the analytic model slightly overestimates the probability of dynamic failure for both the (1; 3)-rm and (2; 3)-rm cases. We also observe that, as the load increases, the discrepancy between the analytic and simulation results becomes smaller. At a load of 0.9, for example, the dierence is less 2%. Fig. 4 shows plots of the probability of dynamic failure in a system like the one examined above in Fig. 3 but with only one stream. Note that in this case, since there is only 14

0.8 Prob[Dyn failure] 0.6 0.4 (2,3)-firm, Analytical (2,3)-firm, Simulation (1,3)-firm, Analytical (1,3)-firm, Simulation 0.2 0.0 0.0 0.2 0.4 0.6 0.8 1.0 Load Figure 4: The probability of dynamic failure as computed analytically and as obtained through simulation for the conventional single priority scheme in a system with one stream. 15

one stream, Eqn. (3.7) is an exact expression of the system time of customer i + 1. The only source of error in the analytic model is assumption A2, i.e., the probability that a customer misses its deadline depends on the status of the previous customer but not on earlier customers. As the plots show, the predicted probability of dynamic failure closely matches the simulation results at all loads. This shows that, in this case, the eect of earlier customers is indeed negligible if one accounts for the status of the last customer, and therefore, A2 is reasonable. 3.2 Distance-Based Priority Scheme As described in Section 2, a customer from a stream with (m; k)-rm deadlines is assigned a priority l, where l is the minimum number of consecutive misses required to take the stream from its current state to a failing state. Recall that, for a stream with (m; k)-rm deadlines, the maximum distance to a failing state is k? m + 1, and therefore, its customers are assigned a priority l 2 f0; 1; : : :; k? m + 1g. When the server becomes idle, it selects for service a customer with the highest priority, i.e., one with the lowest priority value. Let S j be the set of all possible states of stream R j. Let S j l = fs 2 S j : d j (s) = lg, where d j (s) is the minimum number of consecutive misses required to take stream R j from state s to a failing state. For example, if stream R j has (1; 3)-rm deadlines, then S j 0 = fmmmg; S j 1 = fmmmg; S j 2 = fmmm; MMmg; S j 3 = fmmm; mmm; MmM; MMMg: Note that S j 0 is the set of failing states of stream R j. Let the customer arrivals from stream R j form a Poisson process with rate j and let = P N j=1 j be the overall customer arrival rate. In the DBP scheme, a customer is assigned a priority l if the stream is in a state s 2 S j l. The arrival rate of customers with priority l (from all streams) is therefore, (l) = NX j=1 X j j (s): (3:21) s2s j l We assume that customer arrivals at priority level l forms a Poisson process with rate (l). 16

Let the customer service times be exponentially distributed with rate. Then the mean waiting time of a priority l customer is (Cobham's formula [6]) W (l) = = 2 (1? l )(1? l?1 ) (3:22) where l = P l (i) i=0 : The mean system time of a priority l customer is therefore X (l) = W (l) + 1 = = 2 (1? l )(1? l?1 ) + 1 : (3:23) However, because of the prioritized service, the exact probability distributions of customer system times are dicult to compute. We approximate the probability distribution function of priority l customer system times with an exponential distribution with a mean X (l). That is, given that customer i has priority l, we have F Xi (t j l) = Pr[X i t] = 1? e?t=x (l) : (3:24) Again, we model each stream in the system as a Markov chain and compute the probability of dynamic failure from the steady state distribution using Eqn. (3.4). Consider stream R j. Recall that, from a given state s, the stream transits to one of two possible states, depending on whether its next customer misses or meets the deadline. The transition probabilities to these two states are therefore p s and 1? p s, respectively, where p s is the probability that the next customer from stream R j misses its deadline given that stream R j is currently in state s. More formally, the transition probability from state s 2 S j to state s 0 2 S j is given by P j (s;s 0 ) = 8 >< >: p s if s 0 = s m 1? p s if s 0 = s M 0 otherwise. (3:25) Because of the prioritized service, the probability that a customer misses its deadline, p s, depends on the priority at which the customer is serviced. Also, as discussed earlier for the case of the single priority scheme, this probability depends on the status of the previous customers. However, the procedure for computing the probability of miss developed for the single priority scheme is not always applicable here since, in general, consecutive customers from the same stream may be serviced at dierent priority levels. The degree of correlation 17

between the system times of consecutive customers depends on the relative priorities of the customers. For example, consider a customer with a priority l. If the previous customer had the same priority and it met its deadline, then the current customer is likely to meet its deadline. On the other hand, suppose that the previous customer had a much higher priority. Then the fact that it met its deadline does not say as much about whether the current customer will meet its deadline. The probability that a customer misses its deadline therefore depends on the status of the previous customer and on the priority at which the previous customer was serviced. Recall that the priority at which the previous customer is serviced is a function of the previous state of the stream. The probability that a customer misses its deadline, p s, must therefore be conditioned on the previous state of the stream. For convenience, let CS and PS stand for current state and previous state, respectively. The probability p s can be written as p s = Pr[miss j CS = s] = X s p2s j Pr[miss j CS = s; PS = s p ] Pr[PS = s p j CS = s]; (3.26) and therefore, for all s; s 0 2 S j, P j (s;s 0 ) = 8 >< >: P s p2s j Pr[miss j CS = s; PS = s p] Pr[PS = s p j CS = s] if s 0 = s m 1? P s p2s j Pr[miss j CS = s; PS = s p] Pr[PS = s p j CS = s] if s 0 = s M 0 otherwise. The conditional probability Pr[PS = s p j CS = s] can be rewritten as (3:27) Pr[PS = s p j CS = s] = Pr[PS = s p; CS = s] j (s) = Pr[CS = s j PS = s p] j (s p ) j (s) = P j (s p;s) j (s p ) j (s) : (3.28) Substituting the above expression in Eqn. (3.27), we get the following system of linear 18

equations 4 P j (s;s 0 ) = 8 >< >: P s p2s j Pr[miss j CS = s; PS = s p] ( j (s p )= j (s)) P j (s p;s) if s 0 = s m 1? P s p2s j Pr[miss j CS = s; PS = s p] ( j (s p )= j (s)) P j (s p;s) if s 0 = s M 0 otherwise (3:29) for all s; s 0 2 S j. Given the probabilities Pr[miss j CS = s; PS = s p ] (a procedure for evaluating these probabilities is presented later in this section) and the steady state distribution, the above system can be solved for the transition probabilities. However, the steady state distribution, in turn, depends on the transition probabilities. 5 Because of this interdependence, an iterative approach is needed to solve for the steady state distribution. Such a procedure is shown in Fig. 5. The leading superscript indicates the iteration number; (i) P j (s;s 0 ) and (i) j are the transition probabilities and the steady state distributions as computed in the i th iteration. Initially, we assume that all customers are serviced at the same priority level, in which case, the procedure described in Section 3.1 can be used to compute the transition probabilities (0) P j (s;s 0 ). The resulting steady state distributions, (0) j, are then used as an initial solution for the iterative procedure. The transition probabilities (1) P j (s;s 0 ) are then recomputed assuming the steady state distributions (0) j. The steady state distributions (1) j are then computed from the transition probabilities (1) P j (s;s 0 ). This procedure is repeated until, for every state s, the percent dierence between (s) from the current iteration and (s) from the previous iteration is below some tolerance. In practice, the procedure converges quickly and is terminated within a few iterations. Computing Pr[miss j CS = s; PS = s p ] Suppose the stream of interest is currently in state s. Its customer will therefore be serviced at priority level d(s). Also, suppose that the previous state of the stream is s p. 4 Note that, given a current state s, there are only two possible previous states. Let s 1 and s 2 be these two possible states. We have Pr[PS = s p j CS = s] = 0 for all s p 62 fs 1; s 2g, and Pr[PS = s 1 j CS = s] + Pr[PS = s 2 j CS = s] = 1. Furthermore, in most cases, we have Pr[miss j CS = s; PS = s 1] = Pr[miss j CS = s; PS = s 2], in which case, we have p s = Pr[miss j CS = s; PS = s 1]. In these cases, the transition probabilities from state s can be directly computed from Pr[miss j CS = s; PS = s 1]. 5 In fact, the probability Pr[miss j CS = s; PS = s p] also depends on the steady state distribution. The probability that a customer misses its deadline depends on the priority level at which the customer is serviced and on the eective load at each priority level. However, since the priority assigned to a customer depends on the state of the stream, the eective load at each priority level depends on the steady state distribution. 19

/* find an initial solution */ for j = 1; 2; : : :; N, Compute the transition probabilities assuming all customers serviced at the same priority level, i.e., for all s; s 0 2 S j, (0) P j (s;s 0 ) = 8 >< >: p m if (s 0 = s m) and (9s p 2 S j such that s = s p m) p M if (s 0 = s m) and (9s p 2 S j such that s = s p M) 1? p m if (s 0 = s M) and (9s p 2 S j such that s = s p m) 1? p M if (s 0 = s M) and (9s p 2 S j such that s = s p M) 0 otherwise. Solve for the steady state distribution (0) j /* iterate */ i 0 /* iteration number */ Repeat i i + 1 for j = 1; 2; : : :; N, Compute the transition probabilities for all s; s 0 2 S j, P s p2s T (s; s p) if s 0 = s j m (i) P j (s;s 0 ) = 8>< >: 1? P s p2s j T (s; s p) if s 0 = s M 0 otherwise, where T (s; s p ) = Pr[miss j CS = s; PS = s p ] (i?1) j (s p) (i?1) j (s) Solve for the steady state distribution (i) j Until (8j; 8s 2 S j ; (i?1) j (s)? (i) j (s) ) (i) j (s) (i?1) P j (s p;s) Figure 5: Procedure for computing the steady state distributions 20

The previous customer from the stream was therefore serviced at priority level d(s p ). As discussed earlier, the degree of correlation between the system times of the previous and current customers depends on the relative order of their priorities, d(s p ) and d(s). Without loss of generality, let i and i + 1 be the indices of the previous and current customer, respectively, and let l i and l i+1 be the priorities at which they are serviced, i.e., l i = d(s p ) and l i+1 = d(s). We identify the following three cases based on the relative order of l i and l i+1 (l i < l i+1, l i = l i+1, and l i > l i+1 ) and consider each separately. Priority dropped: The priority assigned to the (i + 1) th customer is strictly lower than the priority assigned to the i th customer, i.e., l i+1 > l i. Note that this may occur only when the previous customer meets its deadline. Also, the dierence between l i and l i+1 can be up to k 1? m 1 + 1. In general, the fact that a customer with a high priority met its deadline tells us very little about whether or not the next customer, with a possibly much lower priority, will meet its deadline. In this case, the probability that the (i + 1) th customer misses its deadline is computed as the unconditional probability that a customer with priority l i+1 misses its deadline. In other words, we assume that X i+1 depends only on the priority at which the (i + 1) th customer is serviced, but not on X i. The probability that customer i + 1 misses its deadline is computed as p (l i+1) = Pr[X i+1 > D i+1 j l i+1 ] = 1? F Xi+1 (D i+1 j l i+1 ) (3:30) where F Xi+1 (D i+1 j l i+1 ) is as given by Eqns. (3.23) and (3.24). Since a dropped priority implies that the previous customer met its deadline, one would expect that the probability that the next customer misses its deadline is lower than the unconditional probability of miss. Therefore, the expected eect of this assumption is to over-estimate the probability of dynamic failure. Same priority: The (i+1) th customer is assigned a priority equal to that of the i th customer, i.e., l i+1 = l i = l. This occurs, for example, when the i th customer has the lowest priority and it meets its deadline. We denote the probability that the (i + 1) th customer misses its deadline by p (l) m or p (l) M, depending on whether the ith customer missed or met its deadline, respectively. Since both customers have the same priority, the probabilities p m (l) and p (l) M can be computed using the procedure developed for the single priority scheme in Section 3.1. The procedure requires knowledge of the distribution of Y i. All the customers with priority u 2 f0; 1; : : :; lg that arrive between customers i and i+1 are serviced before customer i+1, 21

and therefore, the eective arrival rate for computing Y i is l = lx u=0 where (u) is the arrival rate of priority u customers. (u) ; (3:31) Priority raised: The priority assigned to the (i + 1) th customer is one higher than the priority assigned to the i th customer, i.e., l i+1 = l i? 1. This occurs when the i th customer, with a priority l i > 0, misses its deadline. Note that, in the DBP scheme, the priority can be raised by at most one level from one customer to the next consecutive customer. We denote the conditional probability that a customer misses its deadline at priority l i?1 given that the previous customer missed its deadline at priority l i by p (l i;l i?1) m. We have p (l i;l i?1) m = Pr[X i+1 > D i+1 j X i > D i ; l i+1 ; l i ] = Pr[X i+1 > D i+1 ; X i > D i j l i+1 ; l i ] : Pr[X i > D i ; j l i ] (3:32) We now derive an approximate expression for Pr[X i+1 > D i+1 j X i > D i ; l i+1 ; l i ]. In all the expressions that follow, it is implied that customers i and i + 1 are serviced at priorities l i and l i+1, respectively. For compactness of notation, this will not be explicitly indicated. Consider the case when customer i+1 arrives after customer i is serviced 6, i.e., C i > X i. In this case, the interarrival time is large (X i is large since customer i missed its deadline) and therefore, we neglect the correlation between the system times of customers i and i + 1 and assume that the system time of customer i + 1 (X i+1 ) is independent of X i. Now, consider the case when customer i + 1 arrives before customer i is serviced, i.e., C i X i. Let the time t = 0 denote the arrival time of customer i. (Customer i + 1 therefore arrived at time C i and customer i received service at time X i.) Because of the prioritized service, customer i, with a priority l i, waits behind customers in priority queues 0; 1; : : :; l i. Since C i X i, customer i receives service X i?c i time units after customer i+1 arrives. Assuming that no other customers arrived to queues 0; 1; : : :; l i? 1 during the time period [C i ; X i ], the cumulative length of queues 0; 1; : : :; l i seen by customer i at time C i is X i? C i. At this time, customer i + 1 joins queue l i+1 = l i? 1 and has to wait behind customers in queues 0; 1; : : :; l i? 1. The cumulative length of queues 0; 1; : : :; l i? 1 is a fraction of that of queues 0; 1; : : :; l i. We estimate this fraction as the ratio of the average system time a 6 Ideally, customer i should be dropped without service as soon as its deadline expires. However, for convenience, we will still refer to X i as its system time, whether or not customer i is actually serviced. If customer i is dropped, X i can be thought of as customer i's system time had it not been dropped. 22

priority l i+1 = l i? 1 customer to that of a priority l i customer. In this case (C i X i ), the system time of customer i + 1 is approximated as X i+1 = X (l i+1) X (l i) (X i? C i ) + S i+1 : (3:33) where X (l) is the average system time of a priority l customer, as given by Eqn. (3.23). The probability Pr[X i+1 > D i+1 ; X i > D i ] can therefore be written as Pr[X i+1 > D i+1 ; X i > D i ] = Pr[X i+1 > D i+1 ; X i > D i ; C i > X i ] + Pr[X i+1 > D i+1 ; X i > D i ; C i X i ] = Pr[X i+1 > D i+1 ] Pr[X i > D i ; C i > X i ] + Pr[r(X i? C i ) + S i+1 > D i+1 ; X i > D i ; C i X i ](3.34) where r = X (l i+1 ). Assuming that X X (l i ) i and D i are mutually independent, 7 we have Pr[X i > D i ; C i > X i ] = Z 1 Z 1 Z c u=0 c=u x=u f Xi (x) f Ci (c)f Di (u) dx dc du: Similarly, we have Pr[r(X i? C i ) + S i+1 > D i+1 ; X i > D i ; C i X i ] = = = Z 1 Z 1 u=0 x=u Z 1 Z 1 Z x u=0 x=u c=0 Z 1 Z 1 Z x Z 1 u=0 x=u Pr[r(x? C i ) + S i+1 > D i+1 ; C i x] f Xi (x) f Di (u) dx du c=0 Pr[S i+1 > D i+1? r(x? c)] f Ci (c) f Xi (x) f Di (u) dc dx du v=0 Pr[S i+1 > v? r(x? c)] f Di+1 (v) f Ci (c) f Xi (x) f Di (u) dv dc dx du (3.35) The probability Pr[X i+1 > D i+1 ; X i > D i ] is evaluated by substituting the above two equations in Eqn. (3.34). The probability p (l i;l i?1) m can then be evaluated using Eqn. (3.32). The probability Pr[miss j CS = s; PS = s p ] can now be computed using one of the above three cases. Namely, if s p is a possible previous state to state s, i.e., s = s p 7 It should be noted here that customers from the same stream usually have the same, xed, deadline, in which case X i and D i are independent. m or 23

s = s p M, then Pr[miss j CS = s; PS = s p ] = 8 >< >: p (d(s)) if d(s) > d(s p ) p (d(s)) m if d(s) = d(s p ) and s = s p m p (d(s)) M if d(s) = d(s p ) and s = s p M p (d(sp);d(s)) m if d(s) = d(s p )? 1: (3:36) The transition probabilities can now be computed. For example, consider a stream with (1; 3)-rm deadlines and consider the state s = MMm. This state is two misses away from a failing state, i.e., d(mmm) = 2. The state s p = MMM is a possible previous state with d(mmm) = 3. Since d(mmm) = d(mmm)? 1, we have Pr[miss j CS = MMm; PS = MMM] = p (3;2) m : (3:37) The state mmm is the other possible previous state. We also have d(mmm) = d(mmm)? 1, and therefore, Pr[miss j CS = MMm; PS = mmm] = p (3;2) m : (3:38) Since mmm and MMM are the only two possible previous states, we have Pr[PS = s p j CS = MMm] = 0 for all s p 62 fmmm; MMMg. Since Mmm = MMm MMm to state Mmm is (given by Eqn. (3.27)) m, the transition probability from state P (MMm;Mmm) = Pr[miss j CS = MMm; PS = MMM] Pr[PS = MMM j CS = MMm] + Pr[miss j CS = MMm; PS = mmm] Pr[PS = mmm j CS = MMm] = p (3;2) m (Pr[PS = MMM j CS = MMm] + Pr[PS = mmm j CS = MMm]) = p (3;2) m : (3.39) The other transition probabilities can be computed similarly. Numerical Example 2: Consider the system of Example 1 in which there are seven streams with (1; 3)-rm deadlines. We have 1 = = 7 = 0:8=7, = 1:0, and D i = 5 for all i. Using the iterative procedure described earlier, we compute the probability of dynamic failure at steady state (i 1) when the DBP scheme is used. We rst compute the steady state distribution of the Markov chain assuming that all customers are serviced at the same priority level. This distribution is then used as an initial 24

solution for the iterative procedure. We have (see Example 1) (mmm) = 0:2318; (mmm) = 0:0602; (mmm) = 0:0091; (mmm) = 0:0668; (Mmm) = 0:0602; (MmM) = 0:0156; (MMm) = 0:0668; (MMM) = 0:4895: (3.40) From the steady state distribution, we have (0) = 0:1854; (1) = 0:0481; (2) = 0:0607; (3) = 0:5056: (3:41) We have p (1;0) m = 0:2739, p (2;1) m = 0:3210, p (3;2) m = 0:2394, p (3) = 0:4724, p (0) m = 0:8858, and p (3) M = 0:1239, and the transition probabilities can now be computed. The steady state distribution is then recomputed using the new values for the transition probabilities. After ve iterations, the distribution converges to (mmm) = 0:0129; (mmm) = 0:0236; (mmm) = 0:0582; (mmm) = 0:0825; (Mmm) = 0:0236; (MmM) = 0:1171; (MMm) = 0:0825; (MMM) = 0:5996; (3.42) and we have P fail = (mmm) = 0:0129: (3:43) Fig. 6 shows plots of the probability of dynamic failure as computed analytically and as obtained through simulation for the system described in Example 2 when the streams have (i) (1; 3)-rm deadlines and (ii) (2; 3)-rm deadlines. The dotted curves show the probability of dynamic failure as computed analytically (the iterative procedure is terminated when the change in the distributions () in less than 1%.) For all the cases studied, the iterative procedure converges very quickly and is terminated within four to ve iterations. The model under-estimates the probability of dynamic failure for most loads. At higher loads, however, the probability of dynamic failure is over-estimated. 4 Conclusion The rate at which a real-time customer stream experiences dynamic failure is a measure of how often the minimum requirements are violated. In [5], we compared several service policies in terms of the resulting rate of dynamic failure. It was shown, through simulation, that the distance-based priority scheme results in a substantially lower probability of dynamic failure compared to the conventional single priority scheme. In this paper, we developed an analytic model to compute the probability of dynamic failure in both the single 25

0.4 Prob[Dyn failure] 0.3 0.2 (2,3)-firm, Analytical (2,3)-firm, Simulation (1,3)-firm, Analytical (1,3)-firm, Simulation 0.1 0.0 0.0 0.2 0.4 0.6 0.8 1.0 Load Figure 6: The probability of dynamic failure as computed analytically and as obtained through simulation for the DBP scheme. 26

priority scheme and the distance-based priority scheme. The model specically deals with the correlation between the system times of consecutive customers. The predicted probability of dynamic failure is compared to that obtained through simulation for an M/M/1 system and the two results are shown to be close. The analytic results again show that the distance-based priority scheme is superior to the single priority scheme. References [1] C. M. Aras, J. F. Kurose, D. S. Reeves, and H. Schulzrinne, \Real-time communication in packet-switched networks," IEEE Proceedings, vol. 82, pp. 122{139, January 1994. [2] J. J. Bae and T. Suda, \Survey of trac control schemes and protocols in ATM networks," IEEE Proceedings, vol. 79, pp. 170{189, February 1991. [3] R. Chipalkatti, J. F. Kurose, and D. Towsley, \Scheduling policies for real-time and non-real-time trac in a statistical multiplexer," in IEEE INFOCOM, pp. 774{783, April 1989. [4] J. Y. Chung, J. W. S. Liu, and K.-J. Lin, \Scheduling periodic jobs that allow imprecise results," IEEE Transactions on Computers, vol. 39, no. 9, pp. 1156{1174, September 1990. [5] M. Hamdaoui and P. Ramanathan, \A service policy for real-time customers with (m,k){rm deadlines," in Proceedings of Fault-Tolerant Computing Symposium, pp. 196{205, June 1994. [6] L. Kleinrock, Queueing Systems, volume I & II, John Wiley and Sons, 1976. [7] K. Kubota, M. Murata, H. Miyahara, and Y. Oie, \Congestion control for bursty video trac in ATM networks," in Electronics and Communications in Japan, volume 175, pp. 13{19, April 1992. [8] J. W. S. Liu, K.-J. Lin, C. L. Liu, W. K. Shih, and J. Y. Chung, \Imprecise computations: A means to provide scheduling exibility and enhance dependability," in Readings in Real-Time Systems, Y.-H. Lee and C. M. Krishna, editors, chapter 2, pp. 81{97, IEEE Computer Society Press, 1993. [9] J. W. S. Liu, K.-J. Lin, W.-K. Shih, A. C. Yu, J.-Y. Chung, and W. Zhao, \Algorithms for scheduling imprecise computations," IEEE Computer, vol. 24, no. 5, pp. 58{68, May 1991. [10] H. Schulzrinne, J. F. Kurose, and D. Towsley, \Congestion control for real-time trac in high-speed networks," in IEEE INFOCOM, pp. 543{550, June 1990. 27