This preview shows page 1. Sign up to view the full content.
Unformatted text preview: on an alternating basis between messages.
A roundrobin service system is a system in which, if there are m customers in the system,
say c1 , c2 , . . . , cm , then c1 is served for an incremental interval δ , followed by c2 being served
for an interval δ , and so forth up to cm . After cm is served for an interval δ , the server
returns and starts serving c1 for an interval δ again. Thus the customers are served in a
cyclic, or “roundrobin” order, each getting a small increment of service on each visit from
the server. When a customer’s service is completed, the customer leaves the system, m is
reduced, and the server continues rotating through the now reduced cycle as before. When
a new customer arrives, m is increased and the new customer must be inserted into the
cycle of existing customers in a way to be discussed later.
Processor sharing is the limit of roundrobin service as the increment δ goes to zero. Thus,
with processor sharing, if m customers are in the system, all are being served simultaneously,
but each is being served at 1/m times the basic server rate. For the example of two customers
with service requirement 1 and 10, each customer is initially served at rate 1/2, so one
customer departs at time 2. At that time, the remaining customer is served at rate 1 and
departs at time 11. For roundrobin service with an increment of 1, the customer with unit
service requirement departs at either time 1 or 2, depending on the initial order of service.
With other increments of service, the results are slightly diﬀerent.
We ﬁrst analyze roundrobin service and then go to the processorsharing limit as δ → 0.
As the above example suggests, the results are somewhat cleaner in the limiting case, but
more realistic in the roundrobin case. Round robin provides a good example of the use of
backward transition probabilities to ﬁnd the steadystate distribution of a Markov chain.
The techniques used here are quite similar to those used in the next chapter to analyze
queueing networks.
Assume a Bernoulli arrival process in which the probability of an arrival in an interval δ
is ∏δ . Assume that the ith arriving customer has a service requirement Wi . The random
variables Wi , i ≥ 1, are IID and independent of the arrival epochs. Thus, in terms of
the arrival process and the service requirements, this is the same as an M/G/1 queue (see
Section 3.6), but with M/G/1 queues, the server serves each customer completely before
going on to the next customer. We shall ﬁnd that the roundrobin service here avoids the
“slow truck eﬀect” identiﬁed with the M/G/1 queue.
For simplicity, assume that Wi is arithmetic with span δ , taking on only values that are
positive integer multiples of δ . Let f (j ) = Pr {Wi = j δ } , j ≥ 1 and let F (j ) = Pr {Wi > j δ }.
Note that if a customer has already received j increments of service, then the probability
that that customer will depart after 1 more increment is f (j + 1)/F (j ). This probability of
departure on the next service increment after the j th is denoted by
g (j ) = f (j + 1)/F (j ); j ≥ 1. (5.43) 5.6. ROUNDROBIN AND PROCESSOR SHARING 219 The state s of a roundrobin system can be expressed as the number, m, of customers in
the system, along with an ordered listing of how many service increments each of those m
customers have received, i.e.,
s = (m, z1 , z2 , . . . , zm ), (5.44) where z1 δ is the amount of service already received by the customer at the front of the
queue, z2 δ is the service already received by the next customer in order, etc. In the special
case of an idle queue, s = (0), which we denote as φ.
Given that the state Xn at time nδ is s 6= φ, the state Xn+1 at time nδ + δ evolves as
follows: • A new arrival enters with probability ∏δ and is placed at the front of the queue;
• The customer at the front of the queue receives an increment δ of service;
• The customer departs if service is complete.
• Otherwise, the customer goes to the back of the queue
It can be seen that the state transition depends, ﬁrst, on whether a new arrival occurs (an
event of probability ∏δ ), and, second, on whether a departure occurs. If no arrival and no
departure occurs, then the queue simply rotates. The new state is s 0 = r(s ), where the
rotation operator r(s ) is deﬁned by r(s ) = (m, z2 , . . . , zm , z1 + 1). If a departure but no
arrival occurs, then the customer at the front of the queue receives its last unit of service
and departs. The new state is s 0 = δ (s ), where the departure operator δ (s ) is deﬁned by
δ (s ) = (m − 1, z2 , . . . , zm ).
If an arrival occurs, the new customer receives one unit of service and goes to the back
of the queue if more than one unit of service is required. In this case, the new state is
s 0 = a(s ) where the arrival operator a(s ) is deﬁned by a(s ) = (m + 1, z1 , z2 , . . . , zm , 1). If
only one unit of service is required by a new arrival, the arrival departs and s 0 = s ....
View Full
Document
 Spring '09
 R.Srikant

Click to edit the document details