1 / 7

A little elaboration of capacity planning

This text provides an elaboration of capacity planning and how to handle multiple servers, including an approximation for response time in a parallel setting.

Download Presentation

A little elaboration of capacity planning

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A little elaboration of capacity planning Dennis Shasha

  2. Arrival Rate A1 is given as an assumption A2 = (0.4 A1) + (0.5 A2) A3 = 0.1 A2 Service Time (S) S1, S2, S3 are measured Utilization U = A x S Response Time R = U/(A(1-U)) = S/(1-U) (assuming Poisson arrivals) Capacity Planning Entry (S1) 0.4 0.5 Search (S2) 0.1 Checkout (S3) Getting the demand assumptions right is what makes capacity planning hard

  3. How to Handle Multiple Servers • Suppose one has n servers for some task that requires S time for a single server to perform. • The perfect parallelism model is that it is as if one has a single server that is n times as fast. • However, this overstates the advantage of parallelism, because even if there were no waiting, single tasks require S time.

  4. Rough Estimate for Multiple Servers • There are two components to response time: waiting time + service time. • In the parallel setting, the service time is still S. • The waiting time however can be well estimated by a server that is n times as fast.

  5. Approximating waiting time for n parallel servers. • Recall: R = U/(A(1-U)) = S/(1-U) • On an n-times faster server, service time is divided by n, so the single processor utilization U is also divided by n. So we would get: Rideal = (S/n)/(1 – (U/n)). • That Rideal = serviceideal + waitideal. • So waitideal = Rideal – S/n • Our assumption: waitideal ~ wait for n processors.

  6. Approximating response time for n parallel servers • Waiting time for n parallel processors ~ (S/n)/(1 – (U/n)) – S/n = (S/n) ( 1/(1-(U/n)) – 1) =(S/(n(1 – U/n)))(U/n) = (S/(n – U))(U/n) • So, response time for n parallel processors is above waiting time + S. • E.g. S = 0.1, n = 4, U = 0.8. 0.10625? 0.1/(3.2) * (0.8/4) = 0.02/3.2 = 0.00625

  7. Example • A = 8 per second. • S = 0.1 second. • U = 0.8. • Single server response time = S/(1-U) = 0.1/0.2 = 0.5 seconds. • If we have 2 servers, then we estimate waiting time to be (0.1/(2-0.8))(0.4) = 0.04/1.2 = 0.033. So the response time is 0.133. • For a 2-times faster server, S = 0.05, U = 0.4, so response time is 0.05/0.6 = 0.0833

More Related