Abstract

In recent years,the number of cores on a chip has been growing exponentially, enabling an ever-increasing number of processes to execute in parallel. Having been developed originally for single-core processors, database (DB) management systems (DBMSs) running on multicore processors suffer from cache conflicts as the number of concurrently executing DB processes (DBPs) increases. In this paper, we propose CARIC-DA, middleware for achieving higher performance in DBMSs on multicore processors by reducing cache misses with a new cache-conscious dispatcher for concurrent queries. CARIC-DA logically range-partitions the data set into multiple subsets. This enables different processor cores to access different subsets by ensuring that different DBPs are pinned to different cores and by dispatching queries to DBPs according to the data partitioning information. In this way, CARIC-DA is expected to achieve better performance via a higher cache hit rate for each core’s private cache. It can also balance the loads between cores by changing the range of each subset. Note that CARIC-DA is pure middleware, which avoids any modification to existing operating systems (OSs) and DBMSs, thereby making it more practical. We implemented a prototype that uses unmodified existing Linux and PostgreSQL environments. The performance evaluation against benchmarks revealed that CARIC-DA achieved improved cache hit rates and higher performance.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call