- Ch.2, Ex. 1 -
1500 bytes 8 bits
---------- * -------- = 12000 bits / packet
packet byte
D = 12000 bits 1 sec 1 k bits
---------- * ------- * ---------- = 0.209 sec
packet 56k bits 1024 bits
- Ch.2, Ex. 2 -
|----<---------------<---------|
| ___ |
| / |0| |
| __________ / | | |
|->| | | | |->--/---|0| |
---------- \ | |->----|
\--|0|
\ | |
\|0|
---
1 class -- programs are equivalent in CPU use
closed -- several programs running concurrently; benchmark has bounded and
known "customer" population
a single queue that is LI - load independent. That is, service time at the
CPU does not depend on the number of jobs in the queue.
- Ch.2, Ex. 3 - - the transaction workload suggests an open workload,
the client workstations submitting interactive requests suggest a closed
workload. Thus, the QN used to model this situation should be mixed.
- Ch.2, Ex. 4 -
D1 = 100 msec
D2 = 150 msec
* if D1 is replaced by a disk that is 40 percent faster, then:
D1 = 60 msec
D2 = 150 msec
* if we add main memory so that the hit rate on the DB server's
cache is 30%:
Of course, this won't change the service _time_ of a visit to
the disks. However, the number of visits to the disk per incoming
transaction will decrease to 70% (100% - 30%) of the visits prior
to the addition of main memory. Thus,
D1 = 100 msec * 0.70 = 70 msec
D2 = 150 msec * 0.70 = 105 msec
* if logging of updates is performed on disk 2, recording a log
takes 15 msec, and updates account for 30% of transactions, then:
Dx = (non-update_percent * non_update_time) +
(update_percent * update_time) +
D1 = (0.70 * 100) + (0.30 * 100) = 100 msec
D2 = (0.70 * 150) + (0.30 * 165) = 154.5 msec
- Ch.2, Ex. 5 -
To aggregate MT and CT into a single class, one performs a weighted
averaging of the classes, with weights determined by fraction of
arriving transactions:
D_cpu_MT,CT = (0.30/0.50 * 0.30 ) + (0.20/0.50 * 0.45)= 0.36
D_d1_MT,CT = (0.30/0.50 * 0.35 ) + (0.20/0.50 * 0.55) = 0.45
D_d2_MT,CT = (0.30/0.50 * 0.30 ) + (0.20/0.50 * 0.60) = 0.42