journal article·2023Open access

Shared Cache Based on Content Addressable Memory in a Multi-Core Architecture

Allam Abumwais, Mahmoud Obaid

Computers, Materials & Continua· Volume 74· Issue 3

Abstract

Modern shared-memory multi-core processors typically have shared Level 2 (L2) or Level 3 (L3) caches. Cache bottlenecks and replacement strategies are the main problems of such architectures, where multiple cores try to access the shared cache simultaneously. The main problem in improving memory performance is the shared cache architecture and cache replacement. This paper documents the implementation of a Dual-Port Content Addressable Memory (DPCAM) and a modified Near-Far Access Replacement Algorithm (NFRA), which was previously proposed as a shared L2 cache layer in a multi-core processor. Standard Performance Evaluation Corporation (SPEC) Central Processing Unit (CPU) 2006 benchmark workloads are used to evaluate the benefit of the shared L2 cache layer. Results show improved performance of the multicore processor’s DPCAM and NFRA algorithms, corresponding to a higher number of concurrent accesses to shared memory. The new architecture significantly increases system throughput and records performance improvements of up to 8.7% on various types of SPEC 2006 benchmarks. The miss rate is also improved by about 13%, with some exceptions in the sphinx3 and bzip2 benchmarks. These results could open a new window for solving the long-standing problems with shared cache in multi-core processors.
Source: openalex_inverted_index · Quality: baseline

Research context

OpenAlex topics: Network Packet Processing and Optimization · Caching and Content Delivery · Advanced Data Storage Technologies

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

References (18)

Show source-provided references
1. Hennessy · Computer Organization and Design: The Hardware Software Interface · 2020 · 520
2. Stallings · Pearson Education International · 2013 · 111
3. Runtime-driven shared last-level cache management for task-parallel programs
4. The MPCAM based multi-core processor architecture: A contention free architecture
5. Cache contention management on a multicore processor based on the degree of contention exceeding a threshold
6. Towards a better cache utilization by selective data storage for CMP last level caches
7. Dual-port content addressable memory for cache memory applications
8. Density tradeoffs of non-volatile memory as a replacement for SRAM based last level cache
9. Shared cache allocation based on fairness in a chip multiprocessor architecture
10. Resistive CAM acceleration for tunable approximate computing10.1109/TETC.2016.2642057 ↗
11. Associative co-processor on the basis of programmable logical integrated circuits for special purpose computer systems
12. LER: Least error rate replacement algorithm for emerging stt-ram caches10.1109/TDMR.2016.2562021 ↗
13. Beyond TCAMs: An SRAM-based parallel multi-pipeline architecture for terabit IP lookup
14. The trend of emerging non-volatile TCAM for parallel search and AI applications10.1016/j.chip.2022.100012 ↗
15. A survey of software techniques for using non-volatile memories for storage and main memory systems10.1109/TPDS.2015.2442980 ↗
16. A multi-hashing index for hybrid DRAM-NVM memory systems10.1016/j.sysarc.2022.102547 ↗
17. The gem5 simulator10.1145/2024716.2024718 ↗
18. Performance characterization of spec cpu2006 benchmarks on intel core 2 duo processor