A discrimination frequency based queueing fairness ... - IEEE Xplore

1 downloads 10608 Views 2MB Size Report
measure with regard to job seniority and service requirement. Werner Sandmann. Department of Information Systems and Applied Computer Science.
A discrimination frequency based queueing fairness measure with regard to job seniority and service requirement Werner Sandmann Department of Information Systems and Applied Computer Science Otto-Friedrich-University Bamberg Feldkirchenstrasse 21 D–96045 Bamberg, Germany Phone: +49 951 8632823 E-mail: [email protected] Abstract— Queueing theory has dealt comprehensively with waiting times, throughput, or related properties. Another important issue, which is fair queueing, has been neglected for a long time and has received reasonable attention only very recently. As of today there are no generally accepted definitions and measures although some have been proposed. It has been recognized that measuring fairness in queues suffers from the dilemma that, depending on the application, queue scheduling pursues contradictory aims. Sometimes preference is given to short jobs, sometimes to jobs that already wait for quite a long time. In both cases one may get the impression that some jobs do not receive a fair treatment. In this paper we propose a queueing fairness measure which considers both service requirement and seniority of a job or customer. Our measure counts two types of discriminations that may bother customers: to be overtaken by other customers, and to wait due to customers with large service requirements. We show that our fairness measure adheres to previously published different preference principles, and we discuss possible measure refinements and the fairness of some scheduling policies. Index Terms— QoS from the user perspective, Queueing, Scheduling, Fairness

I. I NTRODUCTION Queueing models are widely used in performance evaluation of computer and communication systems and networks. A large number of books is available on this topic, e.g. [1], [6], [9], [11], [13], [14], [15], [22], to mention only a few. Moreover, enormously many papers have been published. Most often, the literature has dealt with performance measures like throughput, waiting times, response times, or delays. Probabilities of blocking, buffer overflows, packet losses or cell losses have been considered, too. All these performance meaNGI 2005

sures have in common that they are defined clearly. They do not contain subjective components in the sense that one could interpret them in different ways. However, queueing also appears in interactive computer and communication systems and in real life scenarios, where psychological effects and individual perceptions play a crucial role in judging a system’s behavior. Think for example of supermarkets, banks, airports, public offices or as modern applications with growing importance, telephone call centers [10] or, more general, customer contact centers [24]. In all these and many more situations customers expect to receive a fair treatment. This is very often even more important than waiting times or related performance measures, in particular from individual customers’ points of view. Hence, fairness measures are highly desirable. Our work is strongly motivated and influenced by [3], [16] and the related work in [2], [19], [20], [21]. In these references it has been pointed out that existing fairness measures most often account for fairness with regard to only one performance issue, either seniority or service requirements of jobs, where seniority means the time a job has already spent in the system, and service requirements are given by service times. In [20], [21] a fairness measure is introduced which aims in accounting for both of the mentioned issues but it fits mainly to delay sensitive applications and less to service delivery sensitive applications such as, e.g., ticket bookings or service in call centers and customer contact centers. What we propose in this paper is to measure fairness in queues by counting discriminations of the individual jobs, which results in the discrimination frequency. Imagine what people would think not only in queueing environments but in almost all situations where discriminations may occur. Being discriminated once, one

106

0-7803-8900-X/05/$20.00 © 2005 IEEE

may say, ”it’s okay, not a great problem”, but being discriminated again and again provokes the feeling of an unfair treatment, which significantly grows with the number of experienced discriminations. In a queue, what are the discriminations we would be angry about and thus can be called unfair? Other customers are served earlier although they did not arrive earlier or we have to wait for customers with large service requirements. We simply call these discriminations overtaking and large jobs, respectively. Overtaking has been dealt with in the context of queueing networks in for example [23], [17], where overtaking is considered not only for a single queue but for networks of queues, which will be also a natural direction for extensions of fairness measures, in particular the one we propose here. We adopt what has been called a passive view in [23], namely overtaking from the perspective of a customer who is overtaken by other customers. This fits our framework of counting discriminations, since being discriminated is passive. Of course, fair queueing is intimately related to scheduling, which has been worked on for a long time and which is an important topic in itself [5], [7], [8], [18]. Fairness in queues heavily depends on the scheduling policy the queueing system is operating, and hence, fairness should be evaluated for different policies. The remainder of this paper is organized as follows. Section II introduces our model and notations. Preliminary Definitions are given in section III. Section IV summarizes related work on evaluating and measuring fairness. In section V we introduce our discrimination frequency based fairness measure by first giving some motivations followed by formal definitions. Then we prove general properties and illustrate by use of different scheduling policies how our fairness measure works. After that we discuss possible measure refinements. Finally, section VI concludes the paper and gives directions for further research. II. M ODEL D ESCRIPTION

AND

N OTATIONS

Now, we describe the type of models under consideration and the notations used to denote the basic model parameters. Thereby, we adopt the notations from [16]. We consider general queueing systems which may consist of a single server or multiple servers and one single queue. Customers or associated jobs, denoted by J1 , J2 , . . . , enter the system, are queued and served due to some scheduling policy. After service completion, jobs leave the system. For any job Ji its arrival time is denoted by ai , where ai ≤ aj for i < j, i.e. jobs are numbered in increasing order of arrival. Service requirements of a job Ji are given by the job’s service NGI 2005

time denoted by si , and finally, the departure time of a job Ji is denoted by di . Hence, relevant performance properties can be expressed in terms of ai , si and di . In particular, wi = di − ai − si is the waiting time of job Ji , which means the time, job Ji is queued, also referred to as queueing time. The job’s system time, also referred to as response time, then is given by ti = wi + si . As an important property not only in the context of fairness we call t−ai the seniority of job Ji at time t. As usual, small letters indicate that we speak of a specific sample path, and the letters capitalized are used to denote corresponding random variables. Here, ai and si can be taken as realizations of random variables. III. P RELIMINARY D EFINITIONS Since we apply to and use definitions from [3] and [16] we simply cannot omit reviewing some material from these references, since it is of basic importance for what follows, in particular for formulating and proving general properties of our fairness measure. Two preference principles are stated, both in a strong and a weak version. The strong service-requirement preference principle states that for every two jobs arriving at the same time the smaller one should be completed first. In the weak version of this preference principle this should hold if all jobs arrive at the same time. The strong seniority preference principle states that for every two jobs in the system requiring the same service time the older one should be completed first, and in the weak version this should hold if all jobs have the same service time. More formal definitions of the strong preference principles, as given in [16], [3], are as follows. Strong Service-requirement Preference Principle: For jobs Ji and Jj , arriving at the same time and residing concurrently in the system, if si < sj then it will be more fair to complete service of Ji ahead of Jj than vice versa. Strong Seniority Preference Principle: For jobs Ji and Jj , residing concurrently in the system and requiring equal service times, if ai < aj then it will be more fair to complete service of Ji ahead of Jj than vice versa. We can skip here the formal definitions of the weak versions, since our proposed fairness measure will adhere to both of the strong versions, from which the weak versions follow. Let us explain what is meant by adhering to a preference principle, again following [16], [3].

107

0-7803-8900-X/05/$20.00 © 2005 IEEE

Definition: Consider jobs Ji and Jj , requiring equal service times and obeying ai < aj . Let π be a scheduling policy where the service of Ji is completed before that of Jj and π  be identical to π, except for exchanging the service schedule of Ji and Jj . A fairness measure is said to adhere to the strong seniority preference principle if the fairness value it associates with π is higher than that it associates with π  . A similar definition can be given for scheduling policies to follow a preference principle: Definition: A scheduling policy π is said to follow the strong seniority preference principle if for every two jobs Ji and Jj , requiring equal service times and obeying ai < aj , π completes Ji ahead of Jj . The definitions for the strong service-requirement preference principle and the weak versions of both principles are analogously. IV. P REVIOUSLY P ROPOSED Q UEUEING FAIRNESS M EASURES Two fairness measures and one fairness criterion have been reviewed in [3], [16]. The difference between a fairness measure and a fairness criterion is that a criterion only ”decides” if or if not something is fair, whereas a fairness measure associates different values, certain amounts of fairness. Thus, a fairness measure can be viewed as an extension of a fairness criterion. In [25] the slowdown S(x) = T (x)/x seen by a job of size x has been proposed as an indicator for fairness, where the random variable T (x) denotes the steadystate response time for a job of size x. Slowdown has already been used earlier in [4] to study unfairness of SRPT scheduling in M/GI/1 systems and in [12] to study unfairness under all scheduling policies asymptotically as the job size goes to infinity. In [25] these ideas have been extended. A scheduling policy is said to be fair for given system load ρ iff E[S(x)] ≤ 1/(1 − ρ), where E[S(x)] is the expected slowdown for a job of size x under this policy. Scheduling policies are then classified into always fair, sometimes fair and always unfair. Obviously, slowdown relies on service requirements and does not take job seniority into account. Therefore, the just described criterion has been called normalized-delay based in [3], [16]. In [2] order fairness has been studied, where equal service times are assumed. As a major axiom monotonicity of the fairness measure under neighbor interchange has been used, which is simply a mathematical form to express the strong seniority preference principle. It has been shown in [2] that in steady state order fairness is NGI 2005

equivalent to use the variance of the waiting time as an unfairness measure and with a negative sign as a fairness measure, respectively. Order fairness does not adhere to a service-requirement preference principle. A resource allocation based fairness measure that aims in accounting for both seniority and service-requirements has been introduced in [20] and [21]. It relates warranted service rates to service times by subtracting the warranted service of a job from the job’s service time. The measure adheres to the strong seniority preference principle and to the weak service-requirement preference principle but it does not adhere to the strong version of the latter. As we have already mentioned in the introduction it fits mainly to delay sensitive applications and less to service delivery sensitive applications. V. D ISCRIMINATION F REQUENCY BASED FAIRNESS To define our discrimination frequency based fairness measure we have to make more concrete and to formalize what we have explained informally in the introduction. Therefore, first we give formal definitions for the types of discrimination i.e. for overtaking and large jobs. After that we define discrimination frequencies for individual jobs and for sample paths, and, finally we define our fairness measure for both individual jobs and sample paths. Definition: The amount ni of overtaking a job Ji suffers from is the number of jobs that arrived not earlier and complete service not later than Ji . That is ni := |{j : (aj ≥ ai ∧ dj ≤ di }|.

To account for preemptive service disciplines and in the non-preemptive case to account for the jobs currently in service when a new job arrives we need to define sj (t) as the remaining service time of a job Jj at time t. With that Definition: The amount mi of large jobs a job Ji suffers from is the number of jobs not completely served upon arrival of Ji that have at least as much remaining service requirements and complete service not later than Ji . That is mi := |{j : (di ≥ dj > ai ∧ sj (ai ) ≥ si }|. Note that in case Ji is overtaken by a job with at least the same amount of service requirements, this affects both quantities defined above. That means such cases are taken as doubly unfair, which fits in personal feelings a job or customer would experience. We are now ready to define measures with regard to both discrimination types. Definition: The discrimination frequency of a job Ji is

108

0-7803-8900-X/05/$20.00 © 2005 IEEE

the number of discriminations Ji suffers from, that is the sum of the amount of overtaking and the amount of large jobs: DF (i) := ni + mi .

To extend and generalize from a single job’s discrimination we need

the reciprocal to meet the fairness measure requirements (for obvious technical reasons setting to infinity if the above measure is zero):  1   , if DF (i) > 0, DF (i) F (i) :=   if DF (i) = 0. ∞,   

1 , if DF (π) > 0, DF (π) F (π) :=   ∞, if DF (π) = 0.

Definition: The discrimination frequency of a sample path π is the sum of discrimination frequencies over all jobs: DF (π) :=

 i

DF (i) =

 i

(ni + mi ) =

 i



ni +

mi .

i

Note that all definitions are also valid if the arrival and service times are given by random variables. Further note that the discrimination frequency of a sample path is monotone increasing in the sample path length. That means if a given finite sample path π is increased by new customers or jobs the discrimination frequency of the resulting sample path is at least as high as DF (π). In particular, for sample path length going to infinity the discrimination frequency goes to infinity, too (except for cases where only a finite number of infinitely many jobs are discriminated which is a quite unrealistic assumption). Therefore, the discrimination frequency of a sample path is not useful for infinite sample paths since typically it is then infinite, too. It can be used to measure fairness or unfairness of a specific schedule in a specific scenario, but not to measure the general fairness or unfairness of scheduling policies or queueing systems when considering infinite sample paths. This is the reason why we propose to measure fairness by the mean discrimination frequency of an arbitrary job. For a queueing system, where arrival and service times are given by random variables with some probability distribution the expected discrimination frequency of a job is used. This is convenient both in transient and steady state. In the transient case we take the expected discrimination frequency of a job entering the system at time t, where t is the time which is of interest in the transient analysis. In steady state we take the expected discrimination frequency of an arbitrary job running through the system in steady state. Our measure associates higher values to such scheduling policies that are less fair. The reader may have noted that a fairness measure should proceed exactly the other way. So, our measure can be viewed as what is often called an unfairness measure, but this is only a matter of taste. We can also simply take −ni and −mi instead of ni and mi or, as we indeed do in the following, take NGI 2005

Infinite fairness here has a quite natural interpretation. The maximum fairness a job can experience is due to no discriminations at all. A. General Properties The most important property of our measure is Theorem: The discrimination frequency based queueing fairness measure defined above adheres to both the strong service-requirement preference principle and the strong seniority preference principle. Before proceeding to the proof, note that because the strong version of a preference principles implies the corresponding weak version it also holds Corollary: The discrimination frequency based queueing fairness measure defined above adheres to both the weak service-requirement preference principle and the weak seniority preference principle. To prove the theorem we will successively prove that our measure adheres to the strong service-requirement and the strong seniority preference principle, respectively. In both cases, we have to check how the discrimination frequency DF (π ) is influenced i.e. how it changes if or if not the principle is followed. Since the strong preference principles take only two jobs into account, we only have to consider the changes of discrimination frequencies of two jobs. Proof: Consider two jobs Ji and Jj . Define

109



∆ni := 

∆nj

:= 

∆mi := 

∆mj

:=

1, if aj ≥ ai ∧ dj ≤ di , 0, otherwise. 1, if ai ≥ aj ∧ di ≤ dj , 0, otherwise. 1, if di ≥ dj > ai ∧ sj (ai ) ≥ si , 0, otherwise. 1, if dj ≥ di > aj ∧ si (aj ) ≥ sj , 0, otherwise. 0-7803-8900-X/05/$20.00 © 2005 IEEE

Clearly, ∆ni = 1 indicates that job Ji is overtaken by Jj and ∆nj = 1 indicates that job Jj is overtaken by Ji . Similarly, ∆mi = 1 indicates that job Ji has to wait for the large job Jj and ∆mj = 1 indicates that job Jj has to wait for the large job Ji . Therefore, for any two arbitrary fixed jobs Ji and Jj the part of the overall discrimination frequency which is due to sequencing Ji and Jj is given by ∆ni + ∆nj + ∆mi + ∆mj . That means to prove our theorem we have to show that if Ji and Jj are scheduled following the preference principle this sum is less than it is if Ji and Jj are not scheduled following the preference principle. Strong Service-requirement Preference Principle For the strong service-requirement preference principle we have by assumption ai = aj , si < sj , and following the principle means di < dj . Now, we differentiate between overtaking and large jobs. Step 1: Overtaking (i.e. determine ∆ni and ∆nj ). Here, si and sj do not matter, since overtaking is independent of service times. Besides, ai = aj ⇔ (aj ≥ ai ∧ ai ≥ aj ). Hence, only di and dj are relevant to determine ∆ni and ∆nj . In case di < dj , which means that the principle is followed we get ∆ni = 0, ∆nj = 1. In case di ≥ dj (principle is violated) we get ∆ni = 1 and ∆nj ≥ 0, where ∆nj = 1, if di = dj , and ∆nj = 0 otherwise. Thus,

Step 1: Overtaking (i.e. determine ∆ni and ∆nj ). From ai < aj we get ∆nj = 0, which is obvious, since Jj arrived later and thus cannot be overtaken by Ji . What remains is to note, that ∆ni = 0 for di < dj and ∆ni = 1 for di ≥ dj . Thus, d i < dj

⇒ ∆ni + ∆nj = 0,

di ≥ dj

⇒ ∆ni + ∆nj = 1.

Step 2: Large Jobs (i.e. determine ∆mi and ∆mj ). Again, dj > ai and di > aj by assumption. Besides, because of si = sj with the same argument we used in step 2 of the proof of the strong service-requirement preference principle it follows sj (ai ) ≥ si and si (aj ) ≥ sj . Then for di < dj we have ∆mi = 0 and ∆mj = 1. For di ≥ dj we have ∆mi = 1 and ∆mj ≥ 0, where ∆mj = 1 if di = dj and ∆mj = 0 if di > dj . Thus, d i < dj

⇒ ∆mi + ∆mj = 1,

di ≥ dj

⇒ ∆mi + ∆mj ≥ 1.

Putting the results from step 1 and step 2 together yields

d i < dj

⇒ ∆ni + ∆nj = 1,

d i < dj

⇒ ∆ni + ∆nj + ∆mi + ∆mj = 1,

di ≥ dj

⇒ ∆ni + ∆nj ≥ 1.

di ≥ dj

⇒ ∆ni + ∆nj + ∆mi + ∆mj ≥ 2.

Step 2: Large Jobs (i.e. determine ∆mi and ∆mj ). Obviously, dj > ai and di > aj since the preference principles assume that the jobs under consideration are residing concurrently in the system. From ai = aj we get sj (ai ) = sj and si (aj ) = si and thus, taking additionally into account that ai < sj it follows that sj (ai ) ≥ si and not si (aj ) ≥ sj . That means ∆mj = 0, which is not surprising due the interpretation of ∆mj . Simply Jj does not suffer from waiting for Ji because Jj has larger service requirements. It is finally easy to check that ∆mi = 0 for di < dj , and ∆mi = 1 for di ≥ dj . Thus, d i < dj

⇒ ∆mi + ∆mj = 0,

di ≥ dj

⇒ ∆mi + ∆mj = 1.

It remains to put the results from step 1 and step 2 together, which yields d i < dj

⇒ ∆ni + ∆nj + ∆mi + ∆mj = 1,

di ≥ dj

⇒ ∆ni + ∆nj + ∆mi + ∆mj ≥ 2.

This completes the proof for the strong servicerequirement preference principle. NGI 2005

Strong Seniority Preference Principle For the strong seniority preference principle we have by assumption si = sj , ai < aj , and following the principle means di < dj . Now again, we differentiate between overtaking and large jobs.

This completes the proof for the strong seniority preference principle. Hence, our fairness measures adheres to the strong and the weak service-requirement preference principle and to the strong and the weak seniority preference principle. B. Fairness of Scheduling Policies We illustrate our fairness measure for First-ComeFirst-Served (FCFS), Last-Come-First-Served (LCFS), Shortest-Job-First (SJF) and Longest-Job-First (LJF) scheduling by a small eight job example. Of course, other scheduling policies can be taken under consideration, in particular preemptive scheduling policies. Here, we only want to clarify how our fairness measure is computed. Thereby we use integer valued arrival and service times to make our results easy to verify for the reader. Comprehensive studies are currently evolving, including simulation studies for various interarrival and service time distributions in G/G/c queues with different service disciplines.

110

0-7803-8900-X/05/$20.00 © 2005 IEEE

Job Response Time

Consider jobs J1 , . . . , J8 with successive arrival times 0, 1, 3, 4, 6, 7, 11, 12 and service times 5, 2, 4, 8, 3, 7, 7, 1. Then the schedules according to the different policies are as shown in the following Gantt charts.

Policy FCFS LCFS SJF LJF

FCFS:

J1 J2 J3

J4

J5

J6

J7

J8

J4

J8

J7

J6

J5 J3 J2

3

4

5

6

7

8

Mean

5 37 15 27

7 32 3 36

11 30 10 31

19 26 37 8

22 18 6 34

29 15 22 15

36 8 29 22

37 1 1 37

20.8 20.9 15.4 26.3

Different Arrival Times

SJF:

J1 J2 J5 J3 J8

J6

J7

Policy FCFS LCFS SJF LJF

J4

LJF:

J1

J4

J6

J7

J3 J5 J2J8

Now, as a slight variation assume that all the jobs arrived at the same time, but nevertheless their numbering defines an order. Consider for example a bank, where some customers are already present when it opens. Of course, the customers have arrived in a certain sequence before the bank opens. We do not require this due to our fairness measure, but because otherwise FCFS and LCFS would not be defined clearly. The corresponding schedules are given below. FCFS:

J1 J2 J3

J4

J5

J6

J7

J8

LCFS:

J8

2

As could be expected even in this small example regarding response times SJF performs best and LJF performs worst. Now let us look at the fairness or discrimination frequency, respectively.

LCFS:

J1

1

J7

J6

J5

J4

J3 J2 J1

SJF:

J8J2 J5 J3

J1

J6

J7

J4

LJF:

J4

J6

J7

J1

J3 J5 J2J8

As a usual performance measure response times are very common. Response times for the case of different arrival times are given in the following table. Job Response Time Policy FCFS LCFS SJF LJF

1

2

3

4

5

6

7

8

Mean

5 5 5 5

6 36 6 35

8 32 11 28

15 9 33 9

16 25 4 28

22 21 15 13

25 10 18 16

25 2 3 25

15.3 17.5 11.9 19.9

Response times for equal arrival times are as follows. NGI 2005

DF (π) 10 31 10 33

Mean Job DF 1.250 3.875 1.250 4.125

Equal Arrival Times DF (π) 43 42 29 56

Mean Job DF 5.375 5.250 3.625 7.000

Before giving some comments let us first clarify how these values have been computed. We do so by a closer look at one example. Consider SJF scheduling in the case of different arrival times. Overtaking can be easily recognized via the Gantt charts. For each job the amount of overtaking is the number of earlier served jobs with greater indices. Obviously, jobs J1 , J2 have not been overtaken, J3 has been overtaken by J5 , job J4 by jobs J5 , . . . , J8 , job J5 has not been overtaken, J6 and J7 have been overtaken by J8 . Job J8 arrived last and thus could not be overtaken. Altogether the amount of overtaking is 7. To count the amount of large jobs one has to be a bit more careful. Due to non-preemption a job can suffer from waiting for large jobs even under SJF scheduling. This is the case when upon arrival of a job the remaining service time of the job currently in service is greater than or equal to the arriving job’s service time. Indeed, J2 suffers from waiting for J1 , whose remaining service time upon arrival of J2 at time 1 is 4, which is greater than 2, the service time of J2 . Similarly, J7 suffers from J6 and J8 suffers from J3 . Hence, the amount of large jobs equals 3 and we have the overall discrimination frequency DF (π) = 10, which implies a mean job discrimination frequency of 1.25. Note that for FCFS in case of different arrival times there is in general no overtaking at all and the only type of discrimination is due to large jobs. As another general property note that for equal arrival times the amount of overtaking is equal for all scheduling policies, since it is counted as overtaking if a job that arrived at the same time completes service not later. Hence, the first served job is not overtaken, the second served job has been overtaken by the first served job, the third served job has been overtaken by the first served

111

0-7803-8900-X/05/$20.00 © 2005 IEEE

and the second served jobs and so on. For a number of N jobs arriving at the same time the amount of overtaking is therefore 1 + 2 + · · · + N − 1 = N (N − 1)/2. In particular, in our eight job example it equals 28. In the case of different arrival times we note that equal fairness is assigned to FCFS and to SJF. This is by no means accidental. Consider an arriving job that under SJF overtakes a number of jobs due to its smaller service time. This increases the discrimination frequency of all the overtaken jobs by one. On the other hand under FCFS the same job would have to wait for the jobs he overtook under SJF. Since all these jobs have larger service times they all discriminate the shorter job whose discrimination frequency is thereby increased by exactly the number of jobs he would overtake under SJF. Hence, the discrimination frequency a job experiences under FCFS is exactly the discrimination frequency it harms to others under FCFS and vice versa. Indeed we started by aiming in not favoring either seniority or service requirement. Therefore, it is convenient that FCFS and SJF are taken as equally fair. One may argue it is not very useful to have a fairness measure that associates equal fairness values to FCFS and to SJF. But one the one hand there are also a lot of other scheduling disciplines and on the other hand there are some possible measure refinements we will describe later on. For equal arrival times SJF is fairest. In particular, it outperforms FCFS. This coincides with what we would feel in real life. Of course, in case of equal arrival times we would typically take it as fairer to serve the customer with the smallest service requirements first than any other (non-preemptive) service order. C. Possible Measure Refinements Let us briefly discuss some refinements which may improve our fairness measure by a differentiated view on the severity of discriminations. It seems reasonable to rate a discrimination, as can be explained by a deeper look at psychological effects on human customers. Consider for example a queue at a supermarket counter, where you can sometimes observe people spontaneously passing in front others with only a few items in their shopping cart. They offer them to overtake, because they feel it fair against them. Of course, such a polite behavior is most often limited to passing in front only a small number of other customers each with only a few items. There would be hardly an agreement to be overtaken by too much others or by others with a considerable amount of items. Therefore, it may be reasonable to refine our discrimination frequency based fairness measure in such a NGI 2005

way, that the first overtaking is weighted less than the second overtaking, the second overtaking weighted less than the third overtaking and so on. Besides, overtaking by very much smaller jobs may be weighted less than overtaking by jobs with nearly the same or even larger service requirements. Similarly, the discrimination due to waiting for jobs with service requirements comparable to the the own service requirements may be rated less than for jobs with much larger service requirements. Hence, obviously these are refinements one may take under consideration. Thereby, the properties of adherence to the strong seniority preference principle and the strong service-requirement principle should not be violated. Such refinements will be one topic of further research. A modification in the definition of the discrimination frequency DF (π) of a sample path π seems also reasonable at a first glance. One may define DF (π) as the variance or the deviation from the mean job discrimination frequency. This would emphasize that fairness should be a measure of equal treatment of customers. If all customers experience approximately the same number of discriminations, one may call this fair. But unfortunately this approach has one major drawback. It does not take the overall amount of discriminations into account. Such a measure would also assign very high fairness values when all customers experience approximately the same but large number of discriminations. Surely, a system would typically not be taken as fair, if all customers are discriminated quite often. Normalization of discrimination frequencies does not solve this problem, since a large mean would imply a small normalized ratio of individual and overall discrimination frequency. Therefore, we propose to weight the mean discrimination frequency by multiplying it with the variance or deviation. VI. C ONCLUSION

AND

F URTHER R ESEARCH

We have presented a queueing fairness measure based on discrimination frequency. It counts discriminations which are caused to customers by being overtaken by other customers and by waiting for large jobs. We have shown that the measure adheres to the strong seniority preference principle and to the strong servicerequirement preference principle. It favors neither short jobs nor long jobs. The measure has been illustrated by means of an example for non-preemptive scheduling policies, but it is also applicable to preemptive scheduling. We have discussed possible measure refinements which may further improve the measure. In addition to refine the measure there are several topics of further research. First of all, comprehensive

112

0-7803-8900-X/05/$20.00 © 2005 IEEE

studies, e.g. simulation studies, for non-preemptive and preemptive scheduling in G/G/c queues with different interarrival and service time distributions should be performed. Analytical investigations are particularly desirable. Another important topic of research is to extend fairness measures in general, and in particular our discrimination frequency based fairness measure and its possible refinements, to networks of queues. R EFERENCES [1] A.O. Allen, Probability, Statistics, and Queueing Theory with Computer Science Applications, Academic Press, 2nd ed., 1990. [2] B. Avi-Itzhak, and H. Levy, Measuring fairness in queues, Advances in Applied Probability, vol. 36, no. 3, pp. 919–936, 2004. [3] B. Avi-Itzhak, H. Levy, and D. Raz, Quantifying Fairness in Queueing Systems: Principles and Applications, Rutcor Research Report, RRR 26-2004, July 2004. [4] N. Bansal, and M. Harchol-Balter, Analysis of SRPT scheduling: investigating unfairness, Proceedings of the 2001 ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems, 2001. [5] J. Blazewicz, K.H. Ecker, E. Pesch, G. Schmidt, and J. Weglarz, Scheduling Computer and Manufacturing Processes, Springer, Berlin Heidelberg, 2nd ed., 2001. [6] G. Bolch, S. Greiner, H. de Meer, K.S. Trivedi, Queueing Networks and Markov Chains, Wiley, 1998. [7] E.G. Coffman, and P.J. Denning, Operating Systems Theory, Prentice Hall, Englewood Cliffs, 1973. [8] R.W. Conway, W.L. Maxwell, and L.W. Miller, Theory of Scheduling, Addison-Wesley, Reading, Massachusetts, 1967. [9] R.B. Cooper, Introduction to Queueing Theory, Elsevier, NorthHolland, 2nd ed., 1981. [10] N. Gans, G. Koole, and A. Mandelbaum, Telephone call centers: tutorial, review, and research prospects, Manufacturing and Service Operations Management, vol. 5, pp. 79–141, 2003. [11] E. Gelenbe, G. Puyol, and J.C.C. Nelson, Introduction to Queueing Networks, Wiley, New York, 1987. [12] M. Harchol-Balter, K. Sigman, and A. Wierman, Asymptotic convergence of scheduling policies with respect to slowdown, Performance 2002 IFIP WG 7.3. International Symposium on Computer Modelling, Measurement and Evaluation, to appear, Preprint submitted to Elsevier Science, 7 July 2002. [13] B.R. Haverkort, Performance Evaluation of Computer Communication Systems – A Model-Based Approach, Wiley, 1998. [14] L. Kleinrock, Queueing Systems Vol. I: Theory, Wiley, New York, 1975. [15] L. Kleinrock, Queueing Systems Vol. II: Computer Applications, Wiley, New York, 1976. [16] H. Levy, B. Avi-Itzhak, and D. Raz, Principles of fairness quantification in queueing systems: a tutorial, 2nd International Working Conference on Performance Modelling and Evaluation of Heterogeneous Networks, HET-NETs ’04, Ilkley, UK, 26–28 July 2004. [17] M. Mittler, and N. Gerlich, Reducing the Variance of Sojourn Times in Queueing Networks with Overtaking, University of W¨urzburg, Institute of Computer Science, Research Report Series, Report No. 73, 1993. [18] M. Pinedo, Scheduling: Theory, Algorithms, and Systems, Prentice Hall, Upple Saddle River, 2nd ed., 2002. [19] D. Raz, B. Avi-Itzhak, and H. Levy, Classes, Priorities and Fairness in Queueing Systems, Rutcor Research Report, RRR 21-2004, July 2004.

NGI 2005

[20] D. Raz, H. Levy, and B. Avi-Itzhak, A resource-allocation queueing fairness measure, Proceedings of the ACM SIGMETRICS/Performance Conference, New York, June 12–16, 2004. [21] D. Raz, H. Levy, and B. Avi-Itzhak, RAQFM: A Resource Allocation Queueing Fairness Measure, Rutcor Research Report, RRR 32-2004, September 2004. [22] J. Walrand, An Introduction to Queueing Networks, Prentice Hall, Englewood Cliffs, 1988. [23] W. Whitt, The amount of overtaking in a network of queues, Networks, 14(3), pp. 411–426, 1984. [24] W. Whitt, Stochastic models for the design and management of customer contact centers: some research directions, Working Paper, www.columbia.edu/∼ww2040/CallCenterF04/, March 2002. [25] A. Wierman, and M. Harchol-Balter, Classifying scheduling policies with respect to unfairness in an M/GI/1, Proceedings of the 2003 ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems, San Diego, CA, USA, pp. 238–249, 2003.

113

0-7803-8900-X/05/$20.00 © 2005 IEEE

Suggest Documents