Client processors run at 200 MIPS
and the server CPU at 300 MIPS; these values reflect typical processor
speeds expected in the near future. Disks are not modeled explicitly but we
assume a server cache hit ratio of 50%. This value is much higher than hit
ratios observed in real systems [24][5]. A lower server
cache hit ratio would reduce the stall rate since transactions would take
longer to execute and thus dependencies would spread more slowly (we ran an
experiment to confirm this). Furthermore, a lower hit rate would reduce the
relative impact of stalls on overall execution time. The costs for reading
and writing an object are about 64 sec and 128
sec respectively.
These
times are based on the observation that a transaction operates on an object
for some time when it accesses it, e.g., the time spent per object in the
OO7 benchmark by Thor [19] is around 35
sec (and OO7 methods do
not perform any significant amount of work). Other costs such as those for
validation, cache lookup, etc., are not shown due to lack of space; they
are negligible compared to the access and fetch costs. The timeout period
is chosen to be 0.5 second. Clock skews are not modeled since they are
insignificant compared to the timeout period; the Network Time
Protocol [22] maintains clock skews that are less than 10
milliseconds on LANs and WANs [23].