Optimizing Memory-Resident Decision Support System Workloads for Cache Memories
Pedro Trancoso · 1998
The increasing size of main memory available in computer systems is allowing some appli-cations to shift the data storage from disk to memory. As a result, the performance for these applications is improved transparently. However, due to the increasing gap between processor and memory speed, good cache performance becomes a determinant factor in reducing the execution time. The focus of this work is on improving the cache performance for decision support system workloads. This is relevant for all database applications where data fits mostly or completely in main memory. The first step in optimization is to analyze the performance of the target application and system. Therefore the first part of this work consists of studying the memory behavior for a memory-resident decision support workload. With this study it is possible to observe that in such a scenario, the memory stall time accounts for a significant portion of the total execution time. In addition, the memory behavior of a query depends on the way data is accessed. Finally, queries are shown to have good spatial locality, and little temporal locality. In the second part of this work cache optimizations are proposed for two database system com-ponents: algorithms and query optimizer. In the former, blocking and prefetching are applied to