Notes on Term Exam 29.10.1998 ============================= 1. Can model it either (A) with one 2-server CPU with max util 2.0, and all results based on simple bottleneck analysis, or (B) with 2 cpu's, each of which with 50% of CPU load (assume this), and with tighter BJB & ABA bounds for system throughput. Below is the case (A), i.e., simple 2-server CPU bottleneck analysis. a) see example in lecture slides 1 = 0.05 Vcpu, Vdisk1 = 0.55 Vcpu, Vdisk2 = 0.4 Vcpu V = (20, 11, 8) D = (1, 0.66, 0.32) R0 = 1.98 b) min (Umax(i) / D(i)) = 1.515 for disk1 c) 1.5 d) min (10 R0, 1.515) = 1.5 e) min (40 R0, 1.515) = 1.5 2. Explain the general capacity planning process, including building system and workload models, as it applies to this system. (E.g., see Figs 2.1, 2.3, 4.1) The work would probably involve first measurement and operational analysis, and then possibly building workload and system models. Either way, the analyst needs to understand (or gain understanding of) the overall system well. More sophisticated models need to be validated and calibrated before they are used to pinpoint problem area(s) and to evaluate suggested modifications. In this system, one should probably consider at least the local system speed, network connection speed, and the speed and capacity of the remote (data base) servers that actually provide the reservation status data use by the current system. (Other reasonable assumptions of the overall system structure are also OK) Possible problem areas include at least (a) too slow local system, (b) new software badly designed or not compiled with optimized compiler, (c) slow network conncetion, (d) increased load at remote data base servers (i.e., also the old system would be sluggish now). The overall plan is to pinpoint the problem and propose a modification that would result in acceptable response times now and in near (1-3 years) future. If increased remote server loads are the problem, the solution might be to just wait until they have been solved in their own organizations. 3. Example p. 284. Need to assume number of completed batch (Cb) and interactive (Ci) jobs. Divide first overall utilization (0.72) into class (B, I, T) utilizations: Ut = 0.72 * (28/70) = 0.29 Similarly for classes Ub and Ui For class B, Db = Ub * 1800 / Cb Class I is done similarly. For class T, utilization is still partitioned into subclasses Q and U: Uq = Ut * (120/260) = 0.133 and Dq = Uq * 1800 / 1200 = 0.200 Similarly for class U. 4. 3 state (0, 1, or 2 full buffers) Markov process. Create balance equations. Solve for state probabilities. Compute performance metrics. P0 * 1/30 = P1 * 1/10 -> P0 = 3 * P1 = 9 * P2 P1 * 1/30 = P2 * 1/10 -> P1 = 3 * P2 P0 + P1 + P2 = 1.0 -> 13 * P2 = 1.0 P0 = 0.6923 P1 = 0.2308 P2 = 0.0769 a) 1 - P0 = 31% b) 0.5 * P1 + P2 = 19.2% c) N = P1 + 2 * P2 = 0.385, X = (1 / 10) (P1 + P2) = 0.0308 trans per ms = 30.8 tps R = N / X = 12.5 ms d) X = 30.8 tps e) arrival rate 1000/30 = 33.3 tps, X = 30.8 discard rate 33.3 - 30.8 = 2.5 tps 2.5/33.3 = 7.5% f) throughput OK, but relatively many discarded messages. response time OK, only 2.5 ms time spent in queue in average. might want to explore adding a 3rd buffer.