Next: Conclusions Up: Performance Evaluation Previous: Overall Performance

4.6 Traversals With Updates 

All the experiments we presented so far ran read-only traversals. For completeness, we now show results for traversals with updates. Figure 14 presents elapsed times for cold traversals T1, T2a and T2b of the medium database running with a 12 MB client cache. The figure also shows the time to commit the transactions.

Figure 14: Elapsed time, Cold traversals, Medium database

HAC uses a no-steal [GR93] cache management policy: modifications are sent to the server only when a transaction commits, and the modified objects cannot be evicted from the client cache until this happens. We claim there is no significant loss in functionality or performance in our system due to the lack of a steal approach. This approach may be needed with page caching; otherwise, the cache could fill up with pages containing modified objects, leaving no room to fetch more pages needed by a large transaction. However, since object caching retains only the modified objects and not their pages, it is unlikely that the cache will fill up. Our claim is supported by the results presented in Figure 14: HAC is capable of running traversal T2b in a single transaction even though this transaction reads and writes an extremely large number of objects (it reads 500000 objects and writes 100000). Furthermore, T2b runs only 26% slower than T1 in HAC, whereas in QuickStore T2b runs 3.5 times slower than T1 (mostly because of the recovery overhead of shipping updates to the server due to insufficient client cache space) [WD94].

Object-caching systems must ship modified objects to servers at commit time. This can lead to poor performance if it is necessary to immediately read the objects' pages from disk in order to install the objects in their pages. We avoid this performance problem using the modified object buffer architecture [Ghe95], which allows these installations to be performed in the background.

Next: Conclusions Up: Performance Evaluation Previous: Overall Performance

Miguel Castro, Atul Adya, Barbara Liskov, and Andrew Myers

Copyright ©1997 by the Association for Computing Machinery