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
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 -----------------------------------
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
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