4
play

4 3 2 1 MTTF MTTF MTTF MTTF MTTF 1 1 1 1 1 MTTR MTTR - PDF document

A Web Site receives 25 requests per seconds. A load balancer equally distributes incoming requests to 5 equal servers. The CPU service demand of a request is 20 msec, and the disk service demand is 50 msec. Assume that inter-arrival times of


  1. A Web Site receives 25 requests per seconds. A load balancer equally distributes incoming requests to 5 equal servers. The CPU service demand of a request is 20 msec, and the disk service demand is 50 msec. Assume that inter-arrival times of requests and service times are exponentially distributed. A server accepts at most 5 concurrent requests. The MTTF and the MTTR of a server are equal to 1000 hours and 10 hours, respectively. Calculate the average request response time, the throughput and the percentage of requests rejected by the system. ----------------------------------------- Data 5 Server λ = 25 req /sec D = 20 m sec CPU 50 sec D = m DISK Max concurrent requests per server = 5   MTTF = 1000 h = 60 60 1000 sec   MTTR = 10 h = 60 60 10 sec Number of faulty servers 5 4 3 2 1 MTTF MTTF MTTF MTTF MTTF 1 1 1 1 1 MTTR MTTR MTTR MTTR MTTR

  2. We can use the flow-in/ flow-out balance equations to calculate the probability p that i server are working: i 5 1 p = p 0 1 MTTF MTTR 4 1 p = p 1 2 MTTF MTTR 3 1 p = p 2 3 MTTF MTTR 2 1 p = p 3 4 MTTF MTTR 1 1 p = p 4 5 MTTF MTTR 5  p = 1 i i = 0 Performance of a single server Number of requests in a single server for scenarios with n <5 faulty servers:           5 n 5 n 5 n 5 n 5 n X ( 4 ) ( 1 ) ( 2 ) ( 3 ) ( 5 ) X X X X 0 0 0 0 0 For each state, the service rate (throughput) X 0 (j) depends on the number of requests in the server. Using MVA, we can calculate X 0 (j) for each state:  N=1   ' ( 1 ) 20 sec R D m CPU CPU   R ' ( 1 ) D 50 m sec DISK DISK   1  X 1     0  R ' 1 R ' 1 CPU DISK       n 1 X 1 R ' CPU 0 CPU       n 1 X 1 R ' DISK 0 DISK -----------------------------------

  3.  N=2        R ' ( 2 ) D 1 1 n ( 1 ) CPU CPU CPU        R ' ( 2 ) D 1 1 n ( 1 ) DISK DISK DISK   2  X 2  0 R ' ( 2 ) R ' ( 2 ) CPU DISK       n 2 X 2 R ' CPU 0 CPU       n 2 X 2 R ' DISK 0 DISK -----------------------------------        R ' ( 3 ) D 2 1 n ( 2 ) CPU CPU CPU        R ' ( 3 ) D 2 1 n ( 2 ) DISK DISK DISK   3  3 X      0 R ' 3 R ' 3 CPU DISK       n 3 X 3 R ' CPU 0 CPU       n 3 X 3 R ' DISK 0 DISK -----------------------------------  N=4 …. -----------------------------------  N=5 …. ----------------------------------- n We can use the flow-in/ flow-out balance equations to calculate q i (probability that the server is in the state i assuming there are n faulty servers): λ n n q = q X ( 1 )  0 0 5 n 1 λ n n q = q X ( 2 )  1 2 0 5 n λ n n q = q X ( 3 )  2 3 0 5 n λ n n q = q X ( 4 )  3 4 0 5 n λ n n q = q X ( 5 )  4 5 0 5 n 5  n q = 1 i i = 0

  4. Hence, the throughput and the average response time of a single server when there are n faulty servers can be calculated as: 5  n X(n) = q X (j) j 0 j = 1 5   N(n) = j q j j = 1 N(n) R(n) = X(n) Finally, the overall system throughput is: 4   X = p X(n) ( 5 n ) n n = 1 (for n=5 faulty servers no requests are served) and the average request response time: 4 1  ( ) R = p R n  n 1 p n = 1 5 The number of rejected requests per second is 25 – X. The percentage of rejected requests is:   100 25 - X  % 25

Recommend


More recommend