11.5 MG1 with Vacations


11.5 M/G/1 with Vacations

The previous analysis of an M/G/1 queue assumes that the server works non-stop as long as there are customers in the system. This property is also referred to as being "work conserving." In some situations, the server may decide to take a break (say to get coffee) when the system is empty. There are several natural cases where this type of situation occurs. For example, a storage subsystem may use idle periods to commit to disk all writes that are in the buffer. In this case, a newly arriving I/O request will have to wait until the buffer is flushed before it is served. As another example, a server may start a preventive maintenance procedure as soon as it becomes idle. Another example arises in enterprise grid environments, where idle processors (e.g., workstations) are claimed by remote applications. When the owner of the workstation returns, an extra delay is experienced while the remote application is checkpointed, preempted by the returning owner, and migrated back to the remote client.

The following results for an M/G/1 queue with vacations assumes that:

  • The server goes on vacation for a time V as soon as the server becomes idle. The vacation time V is a random variable with any arbitrary distribution with average E[V] and second moment E[V2].

  • A customer that arrives to an empty system and finds the server on vacation has to wait until the server returns from vacation.

  • The server goes back to vacation if it returns from vacation to an empty system.

The average waiting time for an M/G/1 system with vacations is given in Eq. (11.5.18). The first term is the regular M/G/1 expression of Eq. (11.4.14). The second term is the average residual vacation time (i.e., the average time an arriving customer has to wait for the server to return from vacation).

Equation 11.5.18

graphics/11equ518.gif


Example 11.5.

A computer system serves requests that arrive from a Poisson process at a rate of 0.2 requests/sec. The processing time characteristics of a request are E[S] = 3.5 sec and Cs = 0.3. When there are no requests to be processed, the system performs a preventive maintenance procedure that lasts one second, on average, and has a coefficient of variation equal to 2. When the maintenance procedure is complete, the system resumes to serve requests if there are any in the queue. Otherwise, the system starts another maintenance procedure. What is the average waiting time of a request?

The value of r is 0.7 (= 0.2 x 3.5). In order to use Eq. (11.5.18), the second moment of the vacation time is required. Since, graphics/300fig01.gif it follows that

Equation 11.5.19

graphics/11equ519.gif


Using Eqs. (11.5.18) and (11.5.19) with the numerical values given in the example, W can be computed as:

graphics/300equ01.gif


Table 11.1 gives a comparison of two M/G/1 queues: one with vacations and one without. The average vacation time is varied. As it can be seen, the average waiting time is tripled when the average vacation (i.e., maintenance) time is equal to the average service time (i.e., when E[V] = E[S] = 3.5 sec). Thus, having an otherwise idle processor begin service immediately (i.e., with no vacation time) on an arriving customer improves performance nontrivially.

Table 11.1. Variation of Waiting Time vs. Maintenance Time for Example 11.5

E[V]

M/G/1 no vacation

M/G/1 with vacation

0.0

4.45

4.45

0.5

4.45

5.70

1.0

4.45

6.95

1.5

4.45

8.20

2.0

4.45

9.45

2.5

4.45

10.70

3.0

4.45

11.95

3.5

4.45

13.20

4.0

4.45

14.45

4.5

4.45

15.70

5.0

4.45

16.95

5.5

4.45

18.20

6.0

4.45

19.45



Performance by Design. Computer Capacity Planning by Example
Performance by Design: Computer Capacity Planning By Example
ISBN: 0130906735
EAN: 2147483647
Year: 2003
Pages: 166

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net