A case for shared instruction cache on chip multiprocessors running OLTP
- 27 September 2003
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGARCH Computer Architecture News
- Vol. 32 (3) , 11-18
- https://doi.org/10.1145/1024295.1024297
Abstract
Due to their large code footprint, OLTP workloads suffer from significant I-cache miss rates on contemporary microprocessors. This paper analyzes the I-stream behavior of an OLTP workload, called the Oracle Database Benchmark (ODB), on Chip-Multiprocessors (CMP). Our results show that, although, the overall code footprint of ODB is large, multiple ODB threads running concurrently on multiple processors tend to access common code segments frequently, thus exhibiting significant constructive sharing. In fact, in a CMP system, an I-cache shared between multiple processors incurs similar miss rate as a dedicated I-cache per processor where the per processor I-cache has the same capacity as the shared I-cache. Based on these observations, this paper makes the case for a shared I-cache organization in a CMP, instead of the traditional approach of using a dedicated I-cache per processor.Furthermore, this paper shows that OLTP code stream exhibits good spatial locality. Adding a simple dedicated Line Buffer per processor can exploit this spatial locality effectively, to reduce latency and bandwidth requirements on the shared cache. The proposed shared I-cache organization results in an improvement of at least 5X in miss rate over a dedicated cache organization, for the same total capacity.Keywords
This publication has 6 references indexed in Scilit:
- Code layout optimizations for transaction processing workloadsPublished by Association for Computing Machinery (ACM) ,2001
- PiranhaPublished by Association for Computing Machinery (ACM) ,2000
- Performance of database workloads on shared-memory systems with out-of-order processorsPublished by Association for Computing Machinery (ACM) ,1998
- Designing high bandwidth on-chip cachesPublished by Association for Computing Machinery (ACM) ,1997
- The case for a single-chip multiprocessorPublished by Association for Computing Machinery (ACM) ,1996
- Improving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffersPublished by Association for Computing Machinery (ACM) ,1990