A prefetching technique for object-oriented databases [chapter]

Nils Knafla
1997 Lecture Notes in Computer Science  
The performance of many object-oriented database applications suffers from the page fetch latency which is determined by the expense of disk access. In this work we suggest several prefetching techniques to avoid, or at least to reduce, page fetch latency. In practice no prediction technique is perfect and no prefetching technique can entirely eliminate delay due to page fetch latency. Therefore we are interested in the trade-off between the level of accuracy required for obtaining good results
more » ... in terms of elapsed time reduction and the processing overhead needed to achieve this level of accuracy. If prefetching accuracy is high then the total elapsed time of an application can be reduced significantly otherwise if the prefetching accuracy is low, many incorrect pages are prefetched and the extra load on the client, network, server and disks decreases the whole system performance. Access pattern of object-oriented databases are often complex and usually hard to predict accurately. The main thrust of our work therefore concentrates on analysing the structure of object relationships to obtain knowledge about page reference patterns. We designed a technique, called OSP, which prefetches pages according to a time constraint established by the duration of a page fetch. In addition, every page has an associated weight that decides about the execution of a prefetch. We implemented OSP in the EXODUS storage manager by adding multithreading to the database client. The performance of OSP is evaluated on different machines in interaction with buffer management, distributed databases and other system parameters. For another prefetch algorithm, called PMC, we used a Discrete-Time Markov Chain to model object relationships. We assigned transition probabilities to object relationships and applied the hitting times method to compute page probabilities and the mean time to access a page. The page probability is used for the prefetch decision and for the order of the disk queue. If the probability of a page is higher than a threshold defined by cost/benefit parameters then the page is a candidate for prefetching. We developed a cost model for the benefit of a prefetch and the extra cost of an incorrect prefetch. The effectiveness of this technique was verified in a simulation in view of different degrees of clustering and buffer replacement strategies.
doi:10.1007/3-540-63263-8_19 fatcat:rwnxln4wrbbglnxq6tpyaatr7u