Hybride FCFS/SJF serverdiscipline in wachtlijnsystemen

Vergelijkbare documenten
FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 8 februari 2010

WACHTRIJMODELLEN. aankomstproces van klanten; wachtruimte (met eindige of oneindige capaciteit); bedieningsstation (met één of meerdere bediendes).

S n = tijdstip van de n-de gebeurtenis, T n = S n S n 1 = tijd tussen n-de en (n 1)-de gebeurtenis.

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

Hoofdstuk 20 Wachtrijentheorie

i(i + 1) = xy + y = x + 1, y(1) = 2.

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE

WACHTRIJMODELLEN. aankomstproces van klanten; wachtruimte (met eindige of oneindige capaciteit); bedieningsstation (met één of meerdere bediendes).

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 7 februari 2011

Stochastische Modellen in Operations Management (153088)

Add the standing fingers to get the tens and multiply the closed fingers to get the units.

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGE. Toets Inleiding Kansrekening 1 22 februari 2013

MyDHL+ Van Non-Corporate naar Corporate

Classification of triangles

We zullen de volgende modellen bekijken: Het M/M/ model 1/14

Stochastische Modellen in Operations Management (153088)

Vragen die je wilt beantwoorden zijn:

Discrete-tijd-wachtlijnmodellen met prioriteiten. Discrete-time queueing models with priorities

FOR DUTCH STUDENTS! ENGLISH VERSION NEXT PAGES. Tentamen Inleiding Kansrekening 1 27 maart 2013

Wachten in de supermarkt

SAMPLE 11 = + 11 = + + Exploring Combinations of Ten + + = = + + = + = = + = = 11. Step Up. Step Ahead

Esther Lee-Varisco Matt Zhang

ALGORITMIEK: answers exercise class 7

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Examination 2DL04 Friday 16 november 2007, hours.

Travel Survey Questionnaires

z x 1 x 2 x 3 x 4 s 1 s 2 s 3 rij rij rij rij

Stochastische Modellen in Operations Management (153088)

Optimale regeling van de bedieningscapaciteit van een wachtlijnsysteem

Het Effect van Verschil in Sociale Invloed van Ouders en Vrienden op het Alcoholgebruik van Adolescenten.

Opgave 2 Geef een korte uitleg van elk van de volgende concepten: De Yield-to-Maturity of a coupon bond.

Hertentamen 8D040 - Basis beeldverwerking

L.Net s88sd16-n aansluitingen en programmering.

LIMIETGEDRAG VAN CONTINUE-TIJD MARKOV KETENS

CPU scheduling : introductie

Pure Bending. A beam satisfying above given requirements are shown below: Why this surface is called neutral will be explained later in the lecture.

E(A 1 ) = 1/λ. De functie G(s) wordt gedefiniëerd als. G(s) = E(e sa 1

After that, the digits are written after each other: first the row numbers, followed by the column numbers.

Het is geen open boek tentamen. Wel mag gebruik gemaakt worden van een A4- tje met eigen aantekeningen.

Emotionele Arbeid, de Dutch Questionnaire on Emotional Labor en. Bevlogenheid

L.Net s88sd16-n aansluitingen en programmering.

Beïnvloedt Gentle Teaching Vaardigheden van Begeleiders en Companionship en Angst bij Verstandelijk Beperkte Cliënten?

Alle opgaven tellen even zwaar, 10 punten per opgave.

p j r j = LIMIETGEDRAG VAN CONTINUE-TIJD MARKOV KETENS Hoofdstelling over het limietgedrag van continue-tijd Markov ketens formuleren.

The genesis of the game is unclear. Possibly, dominoes originates from China and the stones were brought here by Marco Polo, but this is uncertain.

Prioriteitswachtlijnen met gelimiteerde opslagcapaciteit voor de hoge prioriteitsklasse

WISB134 Modellen & Simulatie. Lecture 4 - Scalaire recursies

Uitwerking Tentamen Calculus B (2WBB1) van 4 november 2013

Ius Commune Training Programme Amsterdam Masterclass 16 June 2016

Ius Commune Training Programme Amsterdam Masterclass 22 June 2017

STRESS CORROSION CRACKING OF WELDED JOINTS OF Al-Mg ALLOYS

AE1103 Statics. 25 January h h. Answer sheets. Last name and initials:

(1) De hoofdfunctie van ons gezelschap is het aanbieden van onderwijs. (2) Ons gezelschap is er om kunsteducatie te verbeteren

Definitie van continue-tijd Markov keten:

Ius Commune Training Programme Amsterdam Masterclass 15 June 2018

Keuzetwijfels in de Emerging Adulthood rondom Studie- en Partnerkeuze. in Relatie tot Depressie

Knelpunten in Zelfstandig Leren: Zelfregulerend leren, Stress en Uitstelgedrag bij HRM- Studenten van Avans Hogeschool s-hertogenbosch

S n = tijdstip van de n-de gebeurtenis, T n = S n S n 1 = tijd tussen n-de en (n 1)-de gebeurtenis.

TECHNISCHE UNIVERSITEIT EINDHOVEN Faculteit Wiskunde en Informatica. Tentamen Calculus B (2WBB1) op maandag 28 januari 2013, 14:00 17:00 uur

UNIVERSITEIT GENT FACULTEIT ECONOMIE EN BEDRIJFSKUNDE STUDIE VAN FILES VEROORZAAKT DOOR TRAGE VOERTUIGEN

Reserveringssystemen

De Samenhang tussen Dagelijkse Stress, Emotionele Intimiteit en Affect bij Partners met een. Vaste Relatie

Lichamelijke factoren als voorspeller voor psychisch. en lichamelijk herstel bij anorexia nervosa. Physical factors as predictors of psychological and

Preschool Kindergarten

Quality requirements concerning the packaging of oak lumber of Houthandel Wijers vof ( )

Daylight saving time. Assignment

Academisch schrijven Inleiding

Ae Table 1: Aircraft data. In horizontal steady flight, the equations of motion are L = W and T = D.

Settings for the C100BRS4 MAC Address Spoofing with cable Internet.

The first line of the input contains an integer $t \in \mathbb{n}$. This is followed by $t$ lines of text. This text consists of:

Model: Er is één bediende en de capaciteit van de wachtrij is onbegrensd. 1/19. 1 ) = σ 2 + τ 2 = s 2.

Hoe met Windows 8 te verbinden met NDI Remote Office (NDIRO) How to connect With Windows 8 to NDI Remote Office (NDIRO

Group work to study a new subject.

Geslacht, Emotionele Ontrouw en Seksdrive. Gender, Emotional Infidelity and Sex Drive

Analyse van discrete-tijd-wachtlijnsystemen met meerdimensionale toestandsruimte

NETWERKEN VAN WACHTRIJEN

Pesten onder Leerlingen met Autisme Spectrum Stoornissen op de Middelbare School: de Participantrollen en het Verband met de Theory of Mind.

Karen J. Rosier - Brattinga. Eerste begeleider: dr. Arjan Bos Tweede begeleider: dr. Ellin Simon

SLC 69, Strobl, Austria

Risico s van Technologisch Succes in digitale transformatie S T R A T E G I C A D V I S O R

Hoe te verbinden met NDI Remote Office (NDIRO): Apple OS X How to connect to NDI Remote Office (NDIRO): Apple OS X

De Relatie tussen Voorschoolse Vorming en de Ontwikkeling van. Kinderen

Non Diffuse Point Based Global Illumination

Modererende Rol van Seksuele Gedachten. Moderating Role of Sexual Thoughts. C. Iftekaralikhan-Raghubardayal

Exercise P672 Lightweight Structures. A.P.H.W. Habraken. Report

Handleiding Zuludesk Parent

Four-card problem. Input

Issues in PET Drug Manufacturing Steve Zigler PETNET Solutions April 14, 2010

Tentamen Thermodynamica

P (X n+1 = j X n = i, X n 1,..., X 0 ) = P (X n+1 = j X n = i).

MyDHL+ ProView activeren in MyDHL+

Chromosomal crossover

The downside up? A study of factors associated with a successful course of treatment for adolescents in secure residential care

Calculus I, 20/11/2017

Definitie van continue-tijd Markov keten:

DALISOFT. 33. Configuring DALI ballasts with the TDS20620V2 DALI Tool. Connect the TDS20620V2. Start DALISOFT

Q is het deel van de overgangsmatrix dat correspondeert met overgangen

Tentamen T1 Chemische Analysemethoden 6 maart 2014

Academisch schrijven Inleiding

Engels op Niveau A2 Workshops Woordkennis 1

Transcriptie:

Hybride FCFS/SJF serverdiscipline in wachtlijnsystemen Michael Bulthé Promotor: prof. dr. ir. Herwig Bruneel Begeleiders: ir. Sofian De Clercq, dr. Bart Steyaert Masterproef ingediend tot het behalen van de academische graad van Master in de ingenieurswetenschappen: bedrijfskundige systeemtechnieken en operationeel onderzoek Vakgroep Telecommunicatie en Informatieverwerking Voorzitter: prof. dr. ir. Herwig Bruneel Faculteit Ingenieurswetenschappen en Architectuur Academiejaar 2012-2013

Hybride FCFS/SJF serverdiscipline in wachtlijnsystemen Michael Bulthé Promotor: prof. dr. ir. Herwig Bruneel Begeleiders: ir. Sofian De Clercq, dr. Bart Steyaert Masterproef ingediend tot het behalen van de academische graad van Master in de ingenieurswetenschappen: bedrijfskundige systeemtechnieken en operationeel onderzoek Vakgroep Telecommunicatie en Informatieverwerking Voorzitter: prof. dr. ir. Herwig Bruneel Faculteit Ingenieurswetenschappen en Architectuur Academiejaar 2012-2013

Toelating tot bruikleen De auteur geeft de toelating deze masterproef voor consultatie beschikbaar te stellen en delen van de masterproef te kopiëren voor persoonlijk gebruik. Elk ander gebruik valt onder de beperkingen van het auteursrecht, in het bijzonder met betrekking tot de verplichting de bron uitdrukkelijk te vermelden bij het aanhalen van resultaten uit deze masterproef. 3 Juni 2013 Michael Bulthé

Voorwoord Met deze thesis beëindig ik mijn vijfjarige opleiding Ingenieurswetenschappen: bedrijfskundige systeemtechnieken en operationeel onderzoek aan de Universiteit van Gent. Bij deze wil ik dan ook uitvoerig de mensen die mij gedurende deze opleiding en vooral bij het maken van deze thesis ondersteund en begeleid hebben. In de eerste plaats wil ik ir. Sofian De Clercq enorm bedanken. Zonder zijn intensieve begeleiding zou dit werk nooit tot stand kunnen gekomen zijn. Daarnaast wil ik ook dr. Bart Steyaert bedanken voor zijn uitleg en hulp. Ook wens ik de hele vakgroep TELIN, met name mijn promotor prof. dr. ir. Herwig Bruneel, te bedanken voor de opportuniteit en het vertrouwen om onderzoek te doen naar dit uitdagende onderwerp. Daarnaast wil ik mijn dank betuigen aan mijn ouders, die mij gedurende deze opleiding steeds ondersteund en gestimuleerd hebben. Tot slot wens ik mijn vriendin Sarah te bedanken voor de steun en luisterbereidheid gedurende deze opleiding. Bedankt. Michael Bulthé 3 Juni 2013 i

Hybrid FCFS/SJF queueing discipline in discrete time Michael Bulthé Supervisor(s): Herwig Bruneel, Sofian De Clercq, Bart Steyaert Abstract This article performs an analysis of a discrete-time queueing system with one server. De queueing discipline is a hybrid form between FCFS and SJF: the first N places of the queue (the head of the buffer) are served in order of SJF and the rest of the buffer enters the head on a FCFS basis. The results for N = 2 are shown is this paper together with some numerical examples. Keywords Queueing Theory, SJF, FCFS, Queueing Discipline, Discretetime I. INTRODUCTION DI screte time queueing theory is very important in the IT world where packages/jobs have to be transmitted/processed. The order in which such jobs are being served is called the queueing discipline. The queueing discipline has a lot of influence on the characteristics of the system. Many research has already been done about various queueing disciplines such as SJF, FCFS, RSS, LCFS, etc. It is been shown that the mean waiting time of customers is minimal under the SJF discipline (see Schrage [6]). Though, the fairness of the SJF discipline is at least questionable as some jobs/clients with long servicetimes have to wait a very long time before they can be served. FCFS doesn t suffer this lack of fairness but this comes at the expense of higher mean waiting times. In this abstract, a hybrid form between FCFS and SJF will be analysed (see Fig. 1). We assume a M/G/1 system where the first 2 places in the buffer (the head of the buffer) are served in order of SJF and the rest of the buffer enters the head on a FCFS basis. We consider only two types of customers, type 1 customers with servicetime (ST) s 1 and type 2 customers with ST s 2 where s 1 < s 2 so type 1 customers have priority over type 2 customers. Note that this priority is non-preemptive, so services are never interrupted. Also, a customer stays in the queue while he is in service. λ FCFS-buffer Fig. 1. Display of the hybrid system N Head II. SYSTEM CONTENT AT THE BEGINNING OF STARTSLOTS A. Definitions and system equitations Let a(n) be the probability of having n arrivals during a normal slot (with corresponding PGF A(z) E[z a ]); e i the num- μ TABLE I POSSIBLE STATES IN THE HEAD OF THE BUFFER State v 1,k v 2,k 1 2 0 2 0 2 3 1 1 4 1 0 5 0 1 6 0 0 ber of arrivals during the service of a type i customer for i = 1, 2 (with corresponding PGFs E i (z) E[z ei ]). We also assume that an arrival has a probability p i of being of type i for i = 1, 2. We then define ρ i λ i µ i as the load offered by type i customers (i = 1, 2) where λ i p i A (1) p i λ and µ i = s i for i = 1, 2. The total load is given by ρ ρ 1 + ρ 2. The state of the system can then be fully described by the use of three variables: v i,k the number of type i customers in the head at the beginning of startslot k for i = 1, 2 and q k the total number of customers in the FCFS-buffer. Startslots are defined as slots at the beginning of which a service of a packet (if available) can start. Later on in this paper the transition to arbitrary slots will be made. We can then derive system equitations for each case and state of the system. We will not show all of the equitations in this abstract as there are 28 cases in total, where each case has an equitation per variable (so this results in a total of 84 system equations). As an illustration, three system equations are given for the case that q k > 0, v 1,k > 0 and the next client in the FCFS-buffer is of type 2: B. Derivation of PGF of system contents v 1,k+1 = v 1,k 1 v 2,k+1 = v 2,k + 1 q k+1 = q k 1 + e 1,k (1) Let us define V k (x 1, x 2, z) E [ x v 1,k 1 x v 2,k 2 z q k] as the PGF for the system contents at the beginning of startslot k. Note that, as the possible states of the system are given in Table I, V k (x 1, x 2, z) can be written as: V k (x 1, x 2, z) x 2 1V AA,k (z) + x 2 2V BB,k (z) + x 1 x 2 V AB,k (z) + x 1 V A,k + x 2 V B,k + V 0,k (2) For each of the 28 cases one can derive the contribution to V k+1 (x 1, x 2, z), which is formally shown by the following eqii

uitation: V k+1 (x 1, x 2, z) = E [ x v 1,k+1 1 x v 2,k+1 2 z q ] k+1 = case P r[case] E [ x v 1,k+1 1 x v 2,k+1 2 z q k+1 case ] (3) and H(z) V A (E 1 (z) E 1 (0) e 1 (1)z) + V B (E 2 (z) E 2 (0) e 2 (1)z) + V 0 (A(z) A(0) a(1)z) (11) For example in case of (1) the contribution is p 2 x 2 E 1,k (z) [(V AA,k (z) V AA,k (0))x 2 1 + x 1 z ] (V AB,k (z) V AB,k (0))x 1 x 2 By calculating the contribution for each case and taking the limit for k (where lim k V k+1 (x 1, x 2, z) = lim k V k (x 1, x 2, z) V (x 1, x 2, z) is the steady-state value, assuming the system is stable, i.e. ρ < 1; analogue for V AA,k (z), V BB,k (z), etc.) one can derive following expressions for the unknown functions in (2): V AA (z) = 1 z W 1 (z) [ p 2 1 z H(z) w 1(0)V AA (0) ] (4) Now, by inserting (4)-(9) into the steady state version of (2) one can see that only the unknown parameters c 0 and V AA (0) remain to be found. These unknown parameters result as the solution of the following equitations: V 0 = V AA (0) = 1 1 + λ 1 ρ (12) p 2 1 z w 1 (0) H(z ) (13) where z is the solution of z = W 1 (z). Note that (12) follows from imposing V (1, 1, 1) = 1. (13) can be found by noting that (4) is valid for all z < 1 so, as z = W 1 (z) is a zero from the denominator in (4), it should also be a zero from the numerator, hence (13). [ 1 V AB (z) = z W (z) p1 p 2 (2z W (z)) H(z) z(z W 1 (z)) ] z W 2 (z) p 1 c 0 p 2 z W 1 (z) E 1(0)V AA (0) [ 1 V BB (z) = z W (z) p 2 2 (z W 1 (z) H(z) ] p 2 E 1 (z) p 2 c 0 p 2 z W 1 (z) E 1(0)V AA (0) (5) (6) C. System contents at the beginning of arbitrary slots Similar as in Walraevens et al. [3], the system contents at the beginning of arbitrary slots can be found: U(x 1, x 2, z) = (1 ρ) + ρ 1 S + 1 (A(z)) VAA(z)x 1 + V AB (z)x 2 + V A 1 V BB (1) V B V 0 x 1 + ρ 2 S + 2 (A(z)) VBB(z)x 2 + V AB (z) + V B 1 V AA (1) V A V 0 x 2 (14) V 0 = (1 w 1(1))E 2 (0) + p 1 e 2 (1)E 1 (0) c 0 R + (1 w 2(1))E 1 (0) + p 2 e 1 (1)E 2 (0) E 1 (0)V AA (0) R (7) V A = (1 A(0))p 1e 2 + p 1 a(1)e 2 (0) c 0 R + (1 w 2(1))(1 A(0)) a(1)w 2 (0) E 1 (0)V AA (0) R (8) V B = (1 w 1(1))(1 A(0)) a(1)w 1 (0) c 0 R + (1 A(0))p 2e 1 + p 2 a(1)e 1 (0) E 1 (0)V AA (0) R where the following new variables where introduced: w i (n) p i e i (n), i = 1, 2 W i (z) p i E i (z), i = 1, 2 w(n) w 1 (n) + w 2 (n) W (z) W 1 (z) + W 2 (z) (9) c 0 E 1 (0)V AB (0) + E 2 (0)V BB (0) (10) R (1 w(1))(1 A(0)) a(1)w(0) where S + i (z) = S i Si(z) 1 (1)(z 1) for i = 1, 2. III. NUMERICAL EXAMPLES From (14) we can now derive the separate PGFs of the system contents per type of customer: U g,1 (x 1 ) E[x u1 1 ] = U(x 1, 1, p 1 x 1 + p 2 ) (15) U g,2 (x 2 ) E[x u2 2 ] = U(1, x 2, p 1 + p 2 x 2 ) (16) with u i the number of type i customers in the system at the beginning of an arbitrary slot. By noting that U g,i (1) = E[u i] for i = 1, 2 one can find the mean delay of a type i customer using Little s law: E[d i ] = 1 p i λ E[u i], i = 1, 2 (17) The mean waiting time of a type i customer is then given by E[d i ] s i, for i = 1, 2. Consider now following example: p 1 = 3 4 p 2 = 1 4 s 1 = 4 s 2 = 12 iii

so for the system to be stable, λ should satisfy following inequality: 1 λ < = 1 (18) p 1 s 1 + p 2 s 2 6 Fig. 2 shows the mean waiting time of the hybrid system for different values of λ and compares these to the well known mean waiting times under FCFS and SJF (see Bruneel [1], Walraevens et al. [2] and De Clercq et al. [4]). From Fig. 2 one can clearly [6] L. Schrage, A proof of optimality of the shortest remaining processing time discipline,operations Research 16(3), pp. 687-690,1968 Fig. 2. Mean waiting time (service time excluded) for type 1 customers, type 2 customers (for the hybrid system and SJF) and FCFS in function of ρ (p 1 = 3/4, p 2 = 1/4, s 1 = 4 and s 2 = 12 ) see the effect of the hybrid system. The mean waiting times of the hybrid system are in between those of SJF and FCFS. From this, one can state the hybrid system succeeds in its aim: the mean waiting time of the customers are lower than with FCFS but in a more fair manner than under SJF (the mean waiting time of type two customers is much lower than under SJF). IV. CONCLUSION The above results show that the hybrid system combines (partly) the advantages of both SJF and FCFS. One would expect that, by increasing the number of places in the head of the buffer (N), the characteristics of the hybrid system will approach those of SJF. Though, it should be noted that the complexity of the analytical calculations will rapidly increase with increasing N. BIBLIOGRAPHY [1] H. Bruneel, Performance of discrete-time queueing systems, Computers Ops Res. 20(3), pp. 303-320, 1993 [2] J. Walraevens, B. Steyaert, M. Moeneclaey en H. Bruneel, Delay analysis of a HOL priority queue, Telecommunication Systems 30:1/2/3, pp. 81-98, 2005 [3] J. Walraevens, B. Steyaert en H. Bruneel, Performance analysis of the system contents in a discrete-time nonpreemptive priority queue with general service times, SMACS Research Group, Vakgroep TELIN [4] S. De Clercq, K. Laevens, B. Steyaert en H. Bruneel, A multi-class discrete-time queueing system under the FCFS service discipline, Ann Oper Res. 202, pp. 59-73, 2013 [5] I. Adan en J. Resing, Queueing Theory, Department of Mathematics and Computing Science Eindhoven University of Technology, 2002 iv

Inhoudsopgave Voorwoord Extended Abstract Inhoudsopgave Lijst van figuren Lijst van de belangrijkste variabelen en afkortingen i ii v vii ix 1 Inleiding 1 1.1 Probleem- en doelstelling........................... 2 1.2 Opbouw..................................... 3 2 Sub-Problemen 5 2.1 Gemeenschappelijke genererende functie van 2 types aankomsten..... 5 2.2 Genererende functie voor het aantal aankomsten binnen een ST s..... 6 2.3 Genererende functie van het aantal klanten aangekomen voor een willekeurige andere klant in een willekeurig slot.................. 7 2.4 Legende Buffer................................. 8 2.4.1 Eén vaste ST s............................. 8 2.4.2 Twee STn met SJF........................... 10 2.4.3 Oneindig veel STn met SJF...................... 12 2.4.4 Twee STn met FCFS......................... 12 v

INHOUDSOPGAVE vi 2.5 Som van de STn van de eerste N elementen in de wachtrij......... 14 3 Gemiddelde wachttijd bij SJF 17 3.1 Gemiddelde wachttijd in continue tijd.................... 17 3.2 Uitbreiding naar discrete tijd......................... 19 3.3 Link naar SJF................................. 23 3.4 Vergelijking met FCFS............................. 24 4 Hybride systeem voor N=1 30 4.1 Beschrijving van systeemvergelijkingen.................... 30 4.2 Berekening genererende functie V k (x 1, x 2, z) voor startslots........ 34 4.3 Omzetting naar willekeurige slots....................... 44 4.3.1 Berekening van U(x 1, x 2, z)...................... 45 5 Hybride systeem voor N=2 47 5.1 Beschrijving van systeemvergelijkingen.................... 47 5.2 Berekening genererende functie V (x 1, x 2, z) voor startslots......... 51 5.3 Omzetting naar willekeurige slots....................... 55 5.4 Karakteristieken van het hybride systeem voor N = 2........... 56 5.5 Numerieke voorbeelden............................ 59 5.5.1 Analyse van de gemiddelde wachttijd in functie van λ....... 59 5.5.2 Analyse van de bufferbezetting.................... 65 6 Besluit en suggesties voor verder onderzoek 69 Bibliografie 72

Lijst van figuren 1.1 Voorstelling van het hybride FCFS/SJF systeem.............. 4 2.1 Trace van een leeglopende buffer met a 1 = 10, a 2 = 5, s 1 = 1 en s 2 = 3.. 11 2.2 Voorstelling van de toestandsruimte van v 2,k met bijbehorende overgangsprobabiliteiten. De toestand geeft het aantal type 2 klanten weer in de head van het systeem.............................. 14 3.1 Voorstelling van het aankomstproces tijdens één slot waarbij de aankomsten geordend zijn volgens prioriteitsklasse.................. 20 3.2 Vergelijking van gemiddelde wachttijd en bufferbezetting bij SJF en FCFS voor λ = 0.24 en α = 0.75........................... 26 3.3 Vergelijking van gemiddelde wachttijd en bufferbezetting bij SJF en FCFS voor λ = 0.1 en α = 0.75............................ 28 3.4 Vergelijking van gemiddelde wachttijd en bufferbezetting bij SJF en FCFS voor λ = 0.74 en α = 0.25........................... 29 5.1 Gemiddelde Wachttijd (exclusief servicetijd) van type 1 klanten, type 2 klanten en FCFS in functie van ρ (p 1 = 3/4 en p 2 = 1/4)......... 60 5.2 Verschil in Wachttijd (exclusief servicetijd) tussen type 1 klanten, type 2 klanten en FCFS in functie van ρ (p 1 = 3/4 en p 2 = 1/4)......... 61 5.3 Gemiddelde Wachttijd (exclusief servicetijd) van type 1 klanten, type 2 klanten en FCFS voor ρ 1 (p 1 = 3/4 en p 2 = 1/4)............ 61 vii

LIJST VAN FIGUREN viii 5.4 Verschil in Wachttijd (exclusief servicetijd) tussen type 1 klanten, type 2 klanten en FCFS voor ρ 1 (p 1 = 3/4 en p 2 = 1/4)............ 62 5.5 Gemiddelde Wachttijd (exclusief servicetijd) van type 1 klanten, type 2 klanten en FCFS in functie van ρ (p 1 = 1/4 en p 2 = 3/4)......... 63 5.6 Verschil in Wachttijd (exclusief servicetijd) tussen type 1 klanten, type 2 klanten en FCFS in functie van ρ (p 1 = 1/4 en p 2 = 3/4)......... 63 5.7 Gemiddelde Wachttijd (exclusief servicetijd) van type 1 klanten, type 2 klanten (voor het hybride systeem en SJF) en FCFS in functie van ρ (p 1 = 3/4, p 2 = 1/4, s 1 = 4 en s 2 = 12 )................... 64 5.8 Gemiddelde Wachttijd (exclusief servicetijd) voor het hybride systeem, SJF en FCFS in functie van ρ (p 1 = 3/4, p 2 = 1/4, s 1 = 4 en s 2 = 12 ). 65 5.9 Gemiddelde bufferbezetting voor het hybride systeem, SJF en FCFS in functie van ρ (p 1 = 1/2, p 2 = 1/2, s 1 = 4 en s 2 = 12 )........... 66 5.10 Gemiddelde bufferbezetting voor het hybride systeem, SJF en FCFS in functie van ρ (p 1 = 1/2, p 2 = 1/2, s 1 = 4 en s 2 = 12 )........... 67 5.11 Gemiddelde bufferbezetting voor het hybride systeem, SJF en FCFS in functie van ρ (p 1 = 3/4, p 2 = 1/4, s 1 = 4 en s 2 = 12 )........... 68

Lijst van de belangrijkste variabelen en afkortingen a(n) a n A(z) d i e i,k E[...] E[B i ] = µ i E[L q i ] E[W i ] E[X 1 ] FCFS FCFS-buffer Head λ λ i Kans op n aankomsten in een slot Het aantal aankomsten tijdens slot n De PGF van het aantal aankomsten in een slot De delay van een willekeurige type i klant Aantal aankomsten tijdens de bediening van een type i klant tijdens startslot k De verwachtingswaarde-operator Gemiddelde bedieningstijd van een type i klant Gemiddeld aantal klanten van type i in de wachtrij (exclusief de klant in bediening) Gemiddelde wachttijd van een type i klant Gemiddelde hoeveelheid werk dat reeds aanwezig is in het systeem bij aankomst van een nieuwe klant dat moet uitgevoerd worden voor deze nieuwe klant bediend kan worden First-come-first-serve wachtlijndiscipline Het deel van de buffer achter de head waar FCFS geldt De eerste N plaatsen van de buffer waar SJF geldt Gemiddeld aantal aankomsten tijdens een willekeurig slot Gemiddeld aantal aankomsten van klanten van type i tijdens een willekeurig slot µ Gemiddelde bedieningstijd van een willekeurige klant p i Kans dat een willekeurige klant van type i is ix

LIJST VAN BELANGRIJKSTE VARIABELEN EN AFKORTINGEN x PGF q k q k ρ R i s i SJF ST u i,k U(x 1, x 2, z) v i,k V (x 1, x 2, z) Probabiliteits-Genererende-Functie Aantal klanten in de FCFS-buffer aan het begin van startslot k Aantal klanten in de FCFS-buffer aan het begin van slot k Bezettingsgraad van het beschouwde systeem Residuele ST van een type i klant Servicetijd van een type i klant Shortest-Job-First wachtlijndiscipline Servicetijd van een klant/job Aantal type i klanten in de head van de buffer aan het begin van slot k De gezamenlijke PGF van de bezetting van het systeem aan het begin van willekeurige slots Aantal type i klanten in de head van de buffer aan het begin van startslot k De gezamenlijke PGF van de bezetting van het systeem aan het begin van willekeurige startslots

Hoofdstuk 1 Inleiding Wachtlijntheorie bestudeert de fenomenen waarbij klanten/jobs in een wachtrij terecht komen vooraleer ze bediend worden. In het dagelijkse leven worden we voortdurend geconfronteerd met wachtlijnsystemen. Denk maar aan de wachtlijnen die zich vormen aan de kassa van de supermarkt, de wachtrijen die ontstaan in de spoedafdeling van ziekenhuizen of zelfs filevorming is in wezen een wachtrij. Daarnaast bevindt een van de belangrijkste toepassingen zich in de wereld van IT en telecom, waar pakketten vaak doorgestuurd en verwekt dienen te worden. Zo vormt er zich voor de processor van een computer steeds een wachtrij van jobs die dan stuk voor stuk door één of meerdere processoren verwerkt worden. Binnen het domein van wachtlijntheorie dient steeds een onderscheid gemaakt te worden tussen continue tijd en discrete tijd. Wanneer men wachtlijnen in continue tijd modelleert, kan een gebeurtenis (aankomsten, bedieningen, falen van de server, etc.) op elk tijdstip plaatsvinden. Met het toenemend belang van IT en telecom werd er gaandeweg meer en meer belang gehecht aan wachtlijnen in discrete tijd. Elk computergestuurd systeem werkt namelijk met een interne klok, dat eigenlijk een teller is van discrete tijdstippen. Zo wordt het continue tijdspectrum opgedeeld in meerdere tijdsslots van een bepaalde lengte. Een gebeurtenis kan dan slechts plaatsvinden aan het begin of het einde van een tijdsslot. In deze thesis modelleren we telkens de tijd als discrete parameter en 1

HOOFDSTUK 1. INLEIDING 2 zullen gebeurtenissen steeds plaatsvinden aan het begin of einde van tijdsslots. De manier waarmee klanten/jobs uit de wachtrij geselecteerd worden voor bediening (of nog, de volgorde waarmee klanten/jobs bediend worden) noemt men de serverdiscipline of wachtrijdiscipline. De serverdiscipline speelt een grote rol in hoe het systeem zich gedraagt doorheen de tijd. Er zijn veel mogelijke serverdisciplines, elk met zijn vooren nadelen, waarvan first-come-first-serve (FCFS), last-come-first-serve (LCFS), random selection for service (RSS) en shortest-job-first (SJF) de belangrijkste zijn. In deze thesis zullen uitsluitend FCFS en SJF wachtlijndisciplines aan bod komen. De FCFS serverdiscipline is degene waar we in het dagelijkse leven meest mee in contact komen. Bij FCFS, zoals de naam zelf al doet vermoeden, worden de klanten bediend in volgorde van hun aankomsttijdstip. De eerste die toekomt wordt dus als eerste bediend en juist daarom wordt FCFS ervaren als de meest eerlijke wachtlijndiscipline. FCFS is echter niet de meeste optimale discipline met betrekking tot minimale gemiddelde wachttijd van de klanten. Men kan namelijk bewijzen (zie Schrage [6]) dat de gemiddelde wachttijd van klanten minimaal is bij het toepassen van de SJF wachtlijndiscipline. Hier worden klanten uit de wachtrij geselecteerd op basis van (verwachte) bedieningstijd. Zoals de benaming aangeeft, wordt de klant/job met de kortste bedieningstijd als eerste bediend. In sommige gevallen wordt de service van de klant die reeds in bediening is zelfs onderbroken als er een klant toekomt met kortere bedieningstijd dan de resterende bedieningstijd van de klant die reeds in bediening was. Men noemt dit preemptive SJF, of nog shortest-remaining-processing-time-first (SRPT). In deze thesis zullen we echter non-preemptive SJF beschouwen wat wil zeggen dat, eens de bediening van een klant van start gegaan is, deze niet meer onderbroken kan worden. 1.1 Probleem- en doelstelling In de literatuur zijn FCFS en SJF afzonderlijk reeds uitvoerig bestudeerd. Het grote voordeel van FCFS bleek, zoals hierboven reeds aangehaald, de eerlijkheid waarmee

HOOFDSTUK 1. INLEIDING 3 klanten bediend worden. Dit resulteert echter in een minder optimale (hogere) gemiddelde wachttijd van de klanten ten opzichte van SJF. Het grote nadeel van SJF is dan weer dat klanten met een lange bedieningstijd soms onverantwoord lang moeten wachten vooraleer ze bediend worden. Het is daarom interessant om een hybride vorm van FCFS en SJF te beschouwen. Deze thesis zal trachten om, via een hybride FCFS/SJF wachtlijndiscipline, enerzijds de voordelen van beide disciplines te gaan combineren en anderzijds de nadelen van elke discipline (deels) te elimineren. Omdat er rond dit onderwerp nog bitter weinig of geen onderzoek verricht is, zal gedurende deze thesis een wachtlijnsysteem in zijn meest eenvoudige vorm beschouwd worden. Dit wil zeggen dat het beschouwde systeem uit één buffer en één server bestaat (zie Figuur 1.1). De hybride vorm komt dan tot stand door SJF toe te passen op de eerste N plaatsen van de buffer, m.a.w. bij service completion wordt de klant met de kortste service tijd geselecteerd uit de N oudste klanten in de buffer (in wat volgt zal naar dit deel van de buffer verwezen worden als de head van de buffer). De klant met kortste bedieningstijd in de head van de buffer zal dus als eerste bediend worden en klanten komen de head van de buffer binnen volgens het FCFS principe. Merk op dat de klant in bediening nog steeds een plaats in de buffer bezet en dat er een nieuwe klant geselecteerd wordt voor bediening wanneer de vorige klant het systeem verlaten heeft. Op die manier kiest men steeds de klant met kortste bedieningstijd uit N klanten (en niet uit N 1 zoals Figuur 1.1 wel eens zou kunnen doen vermoeden). Doorheen deze thesis zal stap voor stap getracht worden om dit hybride systeem te begrijpen, analyseren en uiteindelijk ook te evalueren op een puur analytische basis. Het simuleren van dit systeem zal enkel en alleen dienen ter controle van de bekomen resultaten. 1.2 Opbouw Deze probleemstelling lijkt op het eerste zicht misschien niet al te moeilijk maar, zoals uit deze thesis zal blijken, is het niet evident om dit probleem analytisch aan te pakken.

HOOFDSTUK 1. INLEIDING 4 λ FCFS-buffer Head μ N Figuur 1.1 Voorstelling van het hybride FCFS/SJF systeem Daarom zullen eerst een aantal sub-problemen aan bod komen die, al dan niet expliciet, in verdere berekeningen en redeneringen nog van pas zullen komen (hoofdstuk 2). Vervolgens zal in hoofdstuk 3 de SJF serverdiscipline op zich uitvoerig bestudeerd worden om meer inzicht te verkrijgen in de achterliggende mechanismen van SJF en de moeilijkheden die hierbij komen kijken. Bovendien zal, op een andere manier dan reeds in de literatuur gedaan is, een uitdrukking afgeleid worden voor de gemiddelde wachttijd in een discrete tijd SJF serverdiscipline en zal dit worden vergeleken met FCFS. Vervolgens zullen dan de eerste stappen richting het hybride systeem gezet worden (hoofdstukken 4 en 5).

Hoofdstuk 2 Sub-Problemen 2.1 Gemeenschappelijke genererende functie van 2 types aankomsten Aangezien verder in deze thesis nog vaak zal gewerkt worden met slechts twee verschillende types van STn zal in deze paragraaf een uitdrukking afgeleid worden voor de gemeenschappelijke generende functie voor het aantal aankomsten binnen één slot A(z 1, z 2 ). Hierbij kan een aankomst twee verschillende STn hebben: s 1 met probabiliteit p 1 en s 2 met probabiliteit p 2. Stellen we nu a T (n) gelijk aan de probabiliteitsdistributie voor het totale aantal aankomsten binnen één slot (met bijhorende genererende functie A T (z) E[z a T ] = n=0 a T (n)z n ), dan wordt de probabiliteit voor n 1 aankomsten met ST s 1 en n 2 aankomsten met ST s 2 gegeven door: ( ) n1 + n 2 Pr[a 1 = n 1, a 2 = n 2 ] = p n 1 1 pn 2 2 Pr[a T = n 1 + n 2 ] n 1 5

HOOFDSTUK 2. SUB-PROBLEMEN 6 Dan wordt A(z 1, z 2 ) gegeven door: A(z 1, z 2 ) E[z a 1 1 za 2 = = = = = 2 ] n 1 =0 n 2 =0 n 1 =0 n 2 =0 n 1 =0 n=n 1 n=0 n 1 =0 z n 1 1 zn 2 2 Pr[a 1 = n 1, a 2 = n 2 ] ( n1 + n 2 ( n n 1 n ( n n 1 n 1 (p 1 z 1 + p 2 z 2 ) n a T (n) n=0 ) (p 1 z 1 ) n 1 (p 2 z 2 ) n 2 a T (n) ) (p 1 z 1 ) n 1 (p 2 z 2 ) n n 1 a T (n) ) (p 1 z 1 ) n 1 (p 2 z 2 ) n n 1 a T (n) = A T (p 1 z 1 + p 2 z 2 ) (2.1) Waarin onder andere het binomium van Newton gebruikt is en een genestelde som omgedraaid is. We zien dus dat de gezamenlijke genererende functie gegeven wordt door de totale genererende functie geëvalueerd in p 1 z 1 + p 2 z 2. 2.2 Genererende functie voor het aantal aankomsten binnen een ST s In dit onderdeel gaan we op zoek naar de genererende functie voor het aantal aankomsten tijdens de bediening van een klant met een deterministische ST van s tijdsslots en bijbehorende genererende functie S(z) = z s. We laten het subscript van A T (z) vallen zodat de PGF van het aantal aankomsten tijdens een willekeurig tijdsslot gegeven wordt door A(z). Het aantal aankomsten tijdens de bediening van een willekeurige klant met ST s (we noteren dit als e) wordt gegeven door de som van het aantal aankomsten tijdens elk slot waarin s bediend wordt: e = s k=0 a k waarin alle a k identiek en onafhankelijk

HOOFDSTUK 2. SUB-PROBLEMEN 7 verdeeld zijn en als genererende functie A(z) hebben. Zo wordt: A s (z) E[z e ] = E[z a0 z a1 z as ] = E[z a 0 ] E[z a 1 ] E[z as ] = A s (z) = S(A(z)) (2.2) Waarbij we gebruik maken van het feit dat alle a i i.i.d. zijn. 2.3 Genererende functie van het aantal klanten aangekomen voor een willekeurige andere klant in een willekeurig slot Een eerste stap in dit probleem is de kans x(n) vinden dat de probabiliteit aangeeft dat er n klanten aangekomen zijn voor een willekeurige andere klant binnen hetzelfde willekeurig slot. Als we klanten die aankomen tijdens hetzelfde slot collega s van elkaar noemen, dan kunnen we x(n) als volgt opsplitsen: = x(n) Pr[# collega s voor c is n], met c een willekeurige klant Pr[# collega s van c is k] Pr[# collega s voor c is n # collega s van c is k] k=n De moeilijkheid ligt nu in het bepalen van Pr[# collega s van c is k]. Hiertoe beschouwen we een eindige set van opeenvolgende tijdsslots Ω. c wordt willekeurig gekozen uit de set van klanten die arriveert in het systeem tijdens Ω en dus wordt: # klanten die toekomen in slots met k + 1 aankomsten Pr[# collega s van c is k] = # klanten dat toekomt tijdens Ω (k + 1)(# slots in Ω met k + 1 aankomsten) = gemiddeld # klanten die toekomen in een slot in Ω # slots in Ω Als we dan Ω ], + [ laten gaan, dan geldt wegens ergodiciteit: Pr[# collega s van c is k] = (k + 1)a(k + 1) l=0 la(l)

HOOFDSTUK 2. SUB-PROBLEMEN 8 met a(k), zoals eerder gedefinieerd, de probabiliteitsdistributie voor het aantal aankomsten binnen één slot (met bijbehorende genererende functie A(z)). De noemer in bovenstaande vergelijking is dan gelijk aan A (1) en zo wordt: x(n) = = k=n 1 A (1) (k + 1)a(k + 1) A (1) a(k + 1) k=n 1 k + 1 De genererende functie X(z) n=0 x(n)zn kunnen we dan als volgt bepalen : X(z) = = = = = n=0 z n 1 A (1) k=n k=0 n=0 1 A (1)(z 1) a(k + 1) A (1) k a(k + 1)z n a(k + 1)(z k+1 1) k=0 1 A [(A(z) a(0)) (1 a(0))] (1)(z 1) 1 A (A(z) 1) (2.3) (1)(z 1) Zodat X(z) = A(z) 1 A (1)(z 1). 2.4 Legende Buffer 2.4.1 Eén vaste ST s We beschouwen nu een buffer die initieel a klanten met servicetijd s bevat en we beschouwen de leegloop van deze buffer waarbij we veronderstellen dat er geen aankomsten meer zijn na de start van de leegloop van de buffer. Volgende uitdrukking voor de trace wordt dan bekomen: f(n) = max(0; a n s ) en bijgevolg kan de genererende functie als

HOOFDSTUK 2. SUB-PROBLEMEN 9 volgt bekomen worden: F (z) = = max(0; a k s )zk k=0 s 1 k=0 2s 1 az k + s (a 1)z k +... + = a 1 zs 1 z + (a z 2s 1)zs 1 z a 1 = 1 zs 1 z zsa = 1 zs 1 z j=0 (a j)z s(a j) as 1 k=(a 1)s z k +... + 1 z(a 1)s z as 1 z az sa 2s+sa (a + 1)z sa s+sa + z s+sa = a (a + 1)zs + z s(a+1) (1 z)(1 z s ) z 2s (1 z s ) 2 (2.4) Ter controle kan men zien dat F (0) = a = f(0) en F (1) = as(a+1) 2 wat overeenkomt met de oppervlakte onder de trace als men deze uitzet tegenover het aantal reeds bediende klanten (en dus gelijk is aan F (1) n=0 f(n)). as stelt dus het gemiddeld aantal klanten in de buffer voor tijdens de leegloop van de buffer (als de server busy is). Het duale probleem neemt een nog eenvoudigere vorm aan. Laat d(n) de wachttijd zijn van de n de klant (ST niet inbegrepen en tellend vanaf nul), dus d(n) = ns voor n [0, a 1]. De genererende functie wordt dan: D(z) = a 1 nsz n n=0 = sz 1 aza 1 + (a 1)z a (1 z) 2 En zo kunnen we weer controleren dat D(0) = 0 = d(0) en D(1) = as(a 1) 2, wat correspondeert met de som van de wachttijden van alle a klanten. Dit is dus kleiner dan F (1) omdat hier nu de som van de wachttijden beschouwd wordt, terwijl in F (1) eigenlijk de volledige systeemtijd van iedere klant in rekening gebracht wordt. Als we in d(n) dus de volledige systeemtijd in rekening hadden gebracht, zou D(1) = F (1).

HOOFDSTUK 2. SUB-PROBLEMEN 10 We kunnen nu bovenstaande redeneringen herhalen voor twee verschillende types klanten met (deterministische) STn s 1 en s 2. We veronderstellen dat er a 1 klanten met ST s 1 en a 2 klanten met ST s 2 in de buffer zitten waarbij s 1 < s 2. We beschouwen dan twee verschillende serverdisciplines namelijk shortest-job-first(sjf) en first-come-firstserved(fcfs). 2.4.2 Twee STn met SJF Bij SJF zullen de jobs met ST s 1 altijd eerst bediend worden. Dus zullen eerst alle a 1 jobs met ST s 1 bediend worden en vervolgens de resterende a 2 jobs met langere ST s 2. Zo bekomt men de volgende uitdrukking voor de trace f(n): a 1 + a 2 n s 1, 0 n < a 1 s 1 f(n) = a 2 n a 1s 1 s 2, a 1 s 1 n < a 1 s 1 + a 2 s 2 0, elders Via deze uitdrukking voor f(n) kan de genererende functie F (z) gevonden worden: F (z) = = a 1 s 1 1 n=0 a 1 s 1 1 n=0 = a 2 1 z a 1s 1 1 z (a 1 + a 2 n s 1 )z n + a 1 s 1 1 a 2 z n + n=0 a 1 s 1 +a 2 s 2 1 Waarbij in de laatste stap gebruikt gemaakt is van (2.4): (a 2 n a 1s 1 s n=a 1 s 2 1 )z n (a 1 n a 2 s 2 1 )z n + z a 1s 1 (a 2 n )z n s 1 s 2 n=0 + F 1 (z) + z a 1s 1 F 2 (z) (2.5) F 1 (z) a 1 (a 1 + 1)z s 1 + z s 1(a 1 +1) (1 z)(1 z s 1 ) F 2 (z) a 2 (a 2 + 1)z s 2 + z s 2(a 2 +1) (1 z)(1 z s 2 ) In (2.5) zien we duidelijk de verschillende termen als gevolg van twee verschillende STn. De som van de eerste twee termen corresponderen met de trace van een leeglopende buffer met a 1 + a 2 klanten en waarvan de a 1 klanten met ST s 1 bediend worden (F 1 (z)

HOOFDSTUK 2. SUB-PROBLEMEN 11 wordt als het ware naar boven verschoven). De laatste term correspondeert met een leeglopende buffer van type 2 klanten, weliswaar a 1 s 1 eenheden verschoven over z omdat de service van deze klanten pas na bediening van alle type 1 klanten kan beginnen. Dit wordt verduidelijkt in Figuur 2.1. Figuur 2.1 Trace van een leeglopende buffer met a 1 = 10, a 2 = 5, s 1 = 1 en s 2 = 3 Bovendien kunnen we ook weer zien dat F (1) = a 2 a 1 s 1 + a 1s 1 (a 1 + 1) 2 + a 2s 2 (a 2 + 1) 2 (2.6) Deze uitdrukking komt dus weer overeen met de oppervlakte onder de trace. Op Figuur 2.1 kan men duidelijk zien dat de eerste term in (2.6) overeenkomt met de oppervlakte van de rechthoek (1), de tweede term komt dan overeen met de oppervlakte van de driehoek (2) en de resterende term met de driehoek (3).

HOOFDSTUK 2. SUB-PROBLEMEN 12 2.4.3 Oneindig veel STn met SJF Het bovenstaande kan redelijk eenvoudig uitgebreid worden naar oneindig veel STn. Veronderstel a 1 klanten met ST s 1, a 2 klanten met ST s 2 enz. waarbij s 1 < s 2 < s 3.... Dan bekomen we op volledig analoge manier als de vorige paragraaf een uitdrukking voor de genererende functie van de trace: [ F (z) = 1 ] a k a k z a 1s 1 +a 2 s 2 +...+a k 1 s k 1 + F k (z)z a 1s 1 +a 2 s 2 +...+a k 1 s k 1 1 z k=2 k=2 met wederom F k (z) gegeven door (2.4). k=1 (2.7) 2.4.4 Twee STn met FCFS Voor FCFS kunnen we bovenstaande redenering niet zomaar toepassen. Omdat de volgende klant een bepaalde probabiliteit heeft om een bepaalde ST (s 1 of s 2 ) te hebben is dit probleem niet meer van deterministische aard zoals dit wel het geval was bij SJF. We zullen dit probleem behandelen via duale toevalsveranderlijken d i (de wachttijd van de (i + 1) de klant, de wachttijd van de eerste klant is dus d 0 (= 0), van de tweede klant d 1 etc.). Stellen we p i de probabiliteit dat een klant een ST s i heeft, dan bekomen we volgende uitdrukking voor de trace: a, 0 n < d 1 a 1, d 1 n < d 2 f(n) =.. 1, d a 1 n < d a 0, elders waarbij a het initiële aantal klanten in de buffer is. Aangezien d i toevalsveranderlijken zijn, is ook f(n) een toevalsveranderlijke met bijbehorende genererende functie F (z) = E [ n=0 f(n)zn ]. We dienen eerst uitdrukkingen te vinden voor E[d i ]. Stellen

HOOFDSTUK 2. SUB-PROBLEMEN 13 we d i (n) = Pr[d i = n] dan komt er: d 0 (n) = [n = 0] d 1 (n) = [n = s 1 ]p 1 + [n = s 2 ]p 2 d 2 (n) = (d 1 d 1 )(n). d k (n) = (d 1 d 1... d 1 )(n) waarbij a b staat voor de convolutie van a met b en [Y ] = 1 als de statement Y waar is en [Y ] = 0 als statement Y niet waar is. In het z-domein wordt dus D k (z) = E [ z d 1 d 1... d 1 ] = D k 1 (z) met D 1 (z) = E [ z d 1] = n=0 d 1(n)z n = p 1 z s 1 +p 2 z s 2. Zo komt er voor F (z): d 1 1 F (z) = E az n + n=0 [ = E a 1 zd 1 1 z = 1 1 z = 1 D 1(z) 1 z d 2 1 ] + E d a 1 (a 1)z n +... + 1 z n n=d 1 d a 1 [ (a 1) zd 1 z d ] 2 +... + E 1 z [ ] 1 zd a 1 z da 1 z ( a(1 D1 (z) + (a 1)(D 1 (z) D 2 1(z)) +... + 1 (D a 1 1 (z) D a 1(z)) ) a 1 (a j)d j 1 (z) j=0 = Da+1 1 (z) (a + 1)D 1 (z) + a (1 D 1 (z))(1 z) (2.8) waarin D 1 (z) = p 1 z s 1 + p 2 z s 2. Ter controle zien we weer dat F (0) = a = f(0) en F (1) bekomen we door twee maal de regel van l Hopital toe te passen: F (1) = a(a + 1)(p 1s 1 + p 2 s 2 ) 2 (2.9) wat dus overeenkomt met de verwachtingswaarde van de oppervlakte onder de trace bij een FCFS bufferleegloop. Merk op dat dit steeds groter is dan uitdrukking (2.6) onder SJF. Stellen we namelijk, in parallel met paragraaf 2.4.2, ap 1 = a 1 en ap 2 = a 2 dan kan men (2.9) herschrijven: F F CF S (1) = (a 1 + a 2 + 1)(a 1 s 1 + a 2 s 2 ) 2 = F SJF (1) + a 1 a 2 s 2 (2.10)

HOOFDSTUK 2. SUB-PROBLEMEN 14 Aangezien de laatste term in (2.10) steeds positief is, zal F SJF (1) F F CF S (1), in overeenstemming met Schrage [6]. 2.5 Som van de STn van de eerste N elementen in de wachtrij Aangezien we uiteindelijk naar een systeem willen zoals in Figuur 1.1, trachten we eerst een genererende functie te vinden voor de som van de eerste N STn in de buffer na het k de vertrek. We veronderstellen dat het systeem steeds een volle head heeft en dus dat de FCFS-buffer oneindig veel klanten huist. We beschouwen aanvankelijk slechts twee verschillende STn s 1 en s 2 met s 1 < s 2. We stellen dan p i de probabiliteit dat een klant een ST s i heeft. Type 1 klanten (met ST s 1 ) zullen dus steeds eerst bediend worden. Bediening van een type 2 klant is slechts mogelijk als er geen type 1 klanten meer aanwezig zijn in de head van de buffer (zoals reeds vermeld, stelt de head van de buffer in al wat volgt het SJF-deel van de buffer voor). Stellen we dan v 2,k gelijk aan het aantal type 2 headcustomers na het k de vertrek dan kunnnen we een Markov keten voor v 2,k opstellen zoals weergegeven in Figuur 2.2 (merk op dat de klant in bediening hier geen bijdrage levert aan v 2,k ). p 1 p 1 p 1 p 1 p 1 1 1 p 1 0 1 1 p 1 2 1 p 1 1 p 1 1 p 1 k 1 p 1 N-2 1 p 1 N-1 Figuur 2.2 Voorstelling van de toestandsruimte van v 2,k met bijbehorende overgangsprobabiliteiten. De toestand geeft het aantal type 2 klanten weer in de head van het systeem. Logischerwijs geldt vóór het eerste vertrek (we veronderstellen initieel een volledig willekeurig gevulde head): ( ) N 1 Pr[v 2,0 = n] = p N n 1 p n 2 n {0, 1,..., N 2} n

HOOFDSTUK 2. SUB-PROBLEMEN 15 Pr[v 2,0 = N 1] = ( ) N p 1 p N 1 2 + p N 2 N 1 Nu is ook Pr[v 2,0 = n] = Pr[v 2,N = n v 2,0 = 0] aangezien v 2,0 = 0 betekent dat de head van de buffer initieel gevuld is met N type 1 klanten. Aangezien deze prioriteit hebben over type 2 klanten zullen de N volgende departures allemaal type 1 klanten zijn. De buffer wordt dan na ieder vertrek weer aangevuld met een willekeurige klant. Via een analoge redenering bekomen we ook volgende gelijkheid: ( ) k Pr[v 2,k = i + j v 2,0 = i] = p k j 1 p j 2 met 0 i + j N 2 j want er moeten dan j type 2 klanten aankomen over k aankomsten. Nu is voor 0 n N 2: Pr[v 2,k = n] = = = = n Pr[v 2,0 = i, v 2,k = n] i=0 n Pr[v 2,k = n v 2,0 = i] Pr[v 2,0 = i] i=0 n ( ) k n i i=0 ( N + k n p k n+i 1 p n i 2 ) p N+k n 1 p n 2 ( ) N p N i 1 p i 2 i En dus kunnen we ook Pr[v 2,k = N 1] = 1 N 2 n=0 Pr[v 2,k = n] bepalen. Bijgevolg kunnen we V 2,k (z) E [z v 2,k] schrijven als V 2,k (z) = N 2 n=0 ( N + k n ) p N+k n 1 p n 2 z n + z N 1 (1 N 2 n=0 Pr[v 2,k = n] Met behulp van v 2,k kan men eenvoudig de som w k+1 van de STn van alle elementen in de head van de buffer en de ST van de klant die bediend wordt na het k de vertrek uitdrukken als volgt (waarin s de ST van de klant in bediening voorstelt): w k+1 = (N 1 v 2,k )s 1 + v 2,k s 2 + s = (N 1)s 1 + (s 2 s 1 )v 2,k + s (2.11) met Pr[s = n] = [n = s 1 ]p 1 + [n = s 2 ]p 2 en bijhorende genererende functie S(z) = E [z s ]. De notatie [Y ] = 1 als Y waar is en nul elders (zoals in vorige paragraaf). We kunnen )

HOOFDSTUK 2. SUB-PROBLEMEN 16 dan de genererende functie W k+1 (z) = E [z w k+1] vinden: W k+1 (z) = z (N 1)s 1 S(z)V 2,k (z s 2 s 1 ) Als we deze redenering trachten uit te breiden naar meerdere dimensies (meer dan twee STn) merken we dat de formules direct een stuk complexer worden. Kijken we bijvoorbeeld naar drie STn s 1 < s 2 < s 3 elk met probabiliteit p i en bijbehorende v i,k (aantal klanten met ST s i in de head van de buffer na het k de vertrek). Dan is de berekening van Pr[v 3,k = i + j v 3,0 = i] analoog als met twee STn: Pr[v 3,N = n 3 v 3,0 = 0] = Pr[v 3,0 = n 3 ] ( ) N = n 3 ( k Pr[v 3,k = i + j v 3,0 = i] = j ( ) k Pr[v 3,k = n 3 v 3,0 = i] = n 3 i ( N + k Pr[v 3,k = n 3 ] = p n 3 3 (p 1 + p 2 ) n 1+n 2 ) p j 3 (p 1 + p 2 ) k j n 3 p n 3 i 3 (p 1 + p 2 ) k n 3+i ) p n 3 3 (p 1 + p 2 ) n 1+n 2 +k De berekeningen voor v 2,k zijn echter niet analoog omdat nu Pr[v 2,N = n 2 v 2,0 = 0] Pr[v 2,0 = n 2 ]. Dit komt door het feit dat v 2,0 = 0 er enkel voor zorgt dat er geen type 2 klanten in de head van de buffer zitten. Er kunnen dus wel nog type 3 klanten in de head van de buffer zitten en dus kunnen type 2 klanten toch bediend worden in die N stappen. De uitbreiding naar meer dan twee servicetijden ligt dus niet voor de hand wegens het te gecompliceerd worden van uitdrukkingen voor de voorwaardelijke probabiliteiten. Daarom werd ook besloten deze aanpak niet verder te zetten. In wat volgt zullen we eerst het SJF principe uitvoerig beschrijven en analyseren om zo de stap naar het hybride systeem te kunnen zetten. Bovenstaande sub-problemen zullen hierbij nog van pas komen.

Hoofdstuk 3 Gemiddelde wachttijd bij SJF Een eerste stap naar het discreet hybride FCFS/SJF systeem is de afleiding van de prestatieparameters voor een eenvoudig SJF systeem in discrete tijd. Aangezien de state-of-the-art voornamelijk FCFS systemen en SJF systemen behandelt in continue tijd, maken we hier de uitbreiding naar discrete tijd (hoewel er reeds resultaten hiervoor gekend zijn is het een interessante oefening om dit via een alternatieve weg af te leiden). We baseren ons hier op de principes in continue tijd (zie Adan et al. [5]). Zoals zal blijken is de uitbreiding naar discrete tijd analoog maar moet er toch rekening gehouden worden met een aantal complicaties. Deze hebben vooral te maken met mogelijke aanwezigheid van bulk arrivals in discrete tijd, tijdens een slot kan zich meer dan één aankomst voordoen (terwijl in continue tijd aankomsten steeds geïsoleerd zijn). Voor de volledigheid zal er eerst een overzicht gegeven worden van de belangrijkste resultaten in continue tijd. 3.1 Gemiddelde wachttijd in continue tijd We beschouwen een M/G/1 wachtrij met r types van klanten, waarbij type i klanten aankomen volgens een Poisson proces met parameter λ i. De servicetijd en residuele servicetijd van een type i klant wordt aangeduid met resp. B i en R i. We veronderstellen dat een type i klant voorrang heeft op een type j klant als j > i, weliswaar zonder dat 17

HOOFDSTUK 3. GEMIDDELDE WACHTTIJD BIJ SJF 18 de bediening van een klant kan onderbroken worden (non-preemptive). Als we dan de gemiddelde wachttijd van een type i klant noteren als E[W i ] en het gemiddeld aantal klanten van type i in de wachtrij als E[L q i ] dan kunnen volgende resultaten worden afgeleid voor een type i klant: E[X 1 ] = E[W i ] = i E[L q j ]E[B j] + j=1 r ρ j E[R j ] (3.1) j=1 E[X k ] (3.2) k=1 E[X k+1 ] = (ρ 1 + ρ 2 +... + ρ i 1 ) k E[X 1 ] (3.3) waarin ρ i = λ i E[B i ] en X k staat voor de decompositie van al het werk dat moet uitgevoerd worden voordat een bepaalde klant bediend kan worden (uitgedrukt in tijd). Zo is X 1 al het werk (de som van alle STn) dat reeds aanwezig is in het systeem bij de aankomst van een type i klant dat moet uitgevoerd worden voor de bediening van die juist aangekomen klant (eigenlijk zou er dus bij X k nog een extra index i moeten staan; dit wordt hier echter niet gedaan om de notaties te verlichten). Zoals zichtbaar is in vergelijking (3.1) bestaat deze uit al het hoger of gelijke prioriteitswerk vermeerderd met de verwachte residuele servicetijd van de klant in bediening. De volgende portie van de decompositie, X 2, is dan de hoeveelheid werk met hogere prioriteit (dan i) dat aankomt gedurende de bediening van al het werk X 1 (dus eigenlijk gedurende de X 1 slots volgend op de aankomst van de beschouwde type i klant). En dus is X 3 de hoeveelheid hoger prioriteitswerk dat aankomt gedurende de bediening van het werk X 2, enzovoort. Intuïtief wordt dan duidelijk (dit wordt ook expliciet aangetoond in het werk van Adan et al. [5]) dat men tot vergelijkingen (3.2) voor de totale wachttijd van een type i klant en (3.3) voor het inductief verband tussen X k en X 1 komt. Met behulp van (3.1)-(3.3) in combinatie met de wet van Little E[L q i ] = λ ie[w i ] kan dan uiteindelijk volgende uitdrukking worden bekomen voor de wachttijd (exclusief

HOOFDSTUK 3. GEMIDDELDE WACHTTIJD BIJ SJF 19 de ST) van een type i klant in een M/G/1 systeem E[W i ] = r j=1 ρ je[r j ], i = 1,..., r (3.4) (1 (ρ 1 + ρ 2 +... + ρ i ))(1 (ρ 1 + ρ 2 +... + ρ i 1 )) 3.2 Uitbreiding naar discrete tijd De afleiding in discrete tijd gebeurt bijna volledig analoog als in continue tijd op één belangrijk detail na. In discrete tijd kunnen er in één tijdsslot namelijk meerdere aankomsten zijn. Daarom moet er in (3.1) ook nog rekening gehouden worden met (a) het hoger prioriteitswerk dat aankomt binnen hetzelfde slot en (b) het werk als gevolg van klanten met gelijke prioriteit die aankomen tijdens hetzelfde slot maar vóór de beschouwde klant bediend worden. De bijdrage van dit bijkomende werk zal zich dus vertalen in het optellen van een extra term in het rechter lid van (3.1). Voor de eenvoud van notatie beschouwen we een willekeurige klant van type i die aankomt in een willekeurig slot en we noemen deze klant klant c. Dit is voorgesteld in Figuur 3.1 waarbij klant c in stippellijn is aangeduid en A(z 1, z 2,...) = k 1,k 2,...=0 Pr[a 1 = k 1, a 2 = k 2,...] de gezamenlijke genererende functie van het aankomstproces voorstelt (en waarin a i dus de toevalsveranderlijke voor het aantal aankomsten van type i binnen één slot voorstelt). l=1 z k l l

HOOFDSTUK 3. GEMIDDELDE WACHTTIJD BIJ SJF 20 i + 1 i i 1 2 1 A(z 1, z 2, ) t t+1 Figuur 3.1 Voorstelling van het aankomstproces tijdens één slot waarbij de aankomsten geordend zijn volgens prioriteitsklasse De term die we dus nog in rekening moeten brengen wordt gegeven door i E[a j]e[b j ] j=1 met a j, j < i a j = 0, j > i a i, j = i waarin a i voorstelt. het aantal aankomsten van type i dat aankomt voor klant c binnen één slot We kunnen dan volgende uitdrukking afleiden voor A (z 1, z 2,...): E A (z 1, z 2,...) j=1 z a j j = A(z 1, z 2,..., z i, 1,...) A(z 1, z 2,..., z i 1, 1,...) λ i (z i 1) Hierbij steunen we op (2.3), maar dan uitgebreid naar meer dimensies (meer types van klanten).

HOOFDSTUK 3. GEMIDDELDE WACHTTIJD BIJ SJF 21 Dan is voor j = 1,..., i 1 E[a j] = = [ A ] (z 1, z 2,...) z j z=1 [ A z j (z 1, z 2,..., z i, 1,...) A ] z j (z 1, z 2,..., z i 1, 1,...) = 1 λ i 2 A z i z j (1) waarin λ ij E[a i a j ] = λ i (z i 1) λ ij λ i (3.5) 2 A z i z j (1). Merk op dat als de aankomsten i en j onafhankelijk zijn van elkaar dat λ ij = [ 2 A A (1) = (1) A ] (1) = λ i λ j z i z j z i z j z=1 Voor j = i moeten we enkel de klanten in rekening brengen die vóór klant c aankomen (en niet alle klanten omdat we nu in dezelfde prioriteitsklasse zitten): E[a i ] = λ ii 2λ i (3.6) En dus wordt de term die we bij E[X 1 ] moeten optellen bij het beschouwen van E[W i ]: i E[a j]e[b j ] = j=1 i 1 j=1 λ ij λ i E[B j ] + λ ii 2λ i E[B i ]

HOOFDSTUK 3. GEMIDDELDE WACHTTIJD BIJ SJF 22 En zo kunnen we het volgende afleiden: c i i 1 j=1 λ ji λ i µ j + λ ii 2λ i µ i µ i E[B i ] i E[X 1 ] = E[L q j ]E[B j] + j=1 j=1 r ρ j E[R j ] + c i j=1 E[L q i ] = λ ie[w i ] E[X 1 ] = i ρ j E[W j ] + ρ j E[R j ] + c i j=1 E[X k+1 ] = (ρ 1 + ρ 2 +... + ρ i 1 ) k E[X 1 ] i Stel p i 1 j=1 ρ j E[W i ] = E[X 1] p i 1 (3.7) p i E[W i ] = p i 2 E[W i 1 ] + c i c i 1 p i p i 1 E[W i ] = p i 1 p i 2 E[W i 1 ] + (c i c i 1 )p i 1 = p i 2 p i 3 E[W i 2 ] + (c i c i 1 )p i 1 + (c i 1 c i 2 )p i 2. i 1 = p 1 p 0 E[W 1 ] + (c n+1 c n )p n (3.8) n=1 Waarin p 0 = 1 en, zoals eerder vermeld, zou er bij E[X 1 ] nog een index i moeten staan. Nu is ((3.7) evalueren voor i = 1) p 0 E[W 1 ] = ρ j E[R j ] + ρ 1 E[W 1 ] + c 1 j=1 E[W 1 ] = c 1 + j=1 ρ je[r j ] p 1 (3.9) Door nu (3.9) in te vullen in (3.8) bekomen we de volgende uitdrukking: E[W i ] = j=1 ρ je[r j ] + c 1 + i 1 n=1 (c n+1 c n )p n p i p i 1 (3.10)

HOOFDSTUK 3. GEMIDDELDE WACHTTIJD BIJ SJF 23 Nu geldt ook: i 1 c 1 + (c n+1 c n )p n = c 1 p 1 c 1 + (p 1 p 2 )c 2 + (p 2 p 3 )c 3 +... + p i 1 c i n=1 en p n 1 p n = ρ n i 1 i 1 c 1 + (c n+1 c n )p n = ρ n c n + p i 1 c i (3.11) n=1 n=1 Via (3.7) en ρ n λ n µ n wordt E[W i ]: E[W i ] = j=1 ρ je[r j ] i 1 n 1 n=1 j=1 + λ jnµ j µ n + 1 i 1 2 n=1 λ nnµ 2 n + c i (3.12) p i p i 1 p i p i 1 p i Merk op dat deze uitdrukking voor de wachttijd overeenkomt met de resultaten afgeleid in Walraevens et al. [2]. De totale delay (servicetijd inclusief) wordt dan gegeven door: E[D i ] = E[W i ] + E[B i ]. 3.3 Link naar SJF De link tussen prioriteitsklassen en SJF kan gemaakt worden door de jobs met kleinste ST de hoogste prioriteit te geven. Een type i job is dus een job met ST i. We beschouwen een aankomstproces A van klanten met een ST die verdeeld is volgens S: s(j) Pr[S = j] a(k) Pr[A = k] A(z) = a(k)z k Elke aangekomen klant heeft dus een kans s(j) om van type j te zijn (en dus een ST van j tijdsslots te hebben). Dus wordt de genererende functie van de ST van een type j klant B j (z) = z j. Men kan inzien (in analogie met (2.1)) dat de gemeenschappelijke genererende functie voor aankomsten van alle types dan gegeven wordt door: A(z 1, z 2,...) = A s(j)z j (3.13) k=0 j=1

HOOFDSTUK 3. GEMIDDELDE WACHTTIJD BIJ SJF 24 [ Zo wordt ρ j = λ j µ j = j A(z) z j ]z=1. E[R i] is de verwachte residuele bedieningstijd van type i klanten. Deze wordt gegeven door: E[R i ] = E[B i(b i 1)] 2E[B i ] = B i (1) 2B i (1) = µ ii = i 1 2µ i 2 (3.14) waarbij µ j E[B j ] = B j (1) = j en µ jj E[B j (B j 1)] = B j (1) = j(j 1). Merk op dat de eindvergelijking in (3.14) een te verwachten resultaat is (de gemiddelde residuele ST van een klant met ST i). Door de kettingregel toe te passen op (3.13) en rekening houdend met (3.5) kunnen we dan eenvoudige formules opstellen voor λ j en λ ij : [ ] A(z) λ j = s(j) z z=1 [ 2 ] A(z) λ ij = s(i)s(j) z 2 z=1 Een belangrijke opmerking is dat in al het voorgaande verondersteld is dat we met een stabiel systeem te maken hebben en dus moet ρ < 1 waarin ρ gegeven wordt door: k=0 ρ = a(k)k 1 λµ < 1 j=1 s(j)j waarin dus λ k=0 a(k)k = A tot(1) en 1 µ 1 j=1 s(j)µ j. 3.4 Vergelijking met FCFS De wachttijden voor FCFS zijn ietwat makkelijker om af te leiden aangezien ze niet afhangen van het type klant. gebruik maken van het resultaat in Bruneel [1]. gegeven door: D(z) = 1 A (1)B (1) A (1) Voor een M/G/1 wachtrij in discrete tijd kunnen we De PGF van de totale delay wordt (z 1)B(z)(1 A(B(z))) (1 B(z))(z A(B(z))) (3.15) en dus kunnen we de gemiddelde wachttijd van een M/G/1 wachtrij met FCFS discipline eenvoudig vinden: E [W F CF S ] = D (1) B (1) (3.16)