Memory Assignment for Multiprocessor Caches Through Graph Coloring

It has become apparent that the achieved performance of multiprocessors is heavily dependent upon the quality of the availabel compilers. In this paper we are concerned with compile-time techniques that can be used to achieve better performance by improving cache utilization. Specifically, we invest...

Full description

Bibliographic Details
Main Authors: Agarwal, Anant, Guttag, John, Papaefthymiou, Marios
Published: 2023
Online Access:https://hdl.handle.net/1721.1/149191
_version_ 1826207690406232064
author Agarwal, Anant
Guttag, John
Papaefthymiou, Marios
author_facet Agarwal, Anant
Guttag, John
Papaefthymiou, Marios
author_sort Agarwal, Anant
collection MIT
description It has become apparent that the achieved performance of multiprocessors is heavily dependent upon the quality of the availabel compilers. In this paper we are concerned with compile-time techniques that can be used to achieve better performance by improving cache utilization. Specifically, we investigate the problem of assigning data chunks to memory in a way that will minimize collisions in direct-mapped multiprocessor caches. We show that while this problem is computationally intractable, there are interesting special cases that can be solved in polynomial time. We also present several techniques that can be used when conflict-free assignment is not possible, or when finding a conflict-free assignment is computationally infeasible. These techniques include uniform decaching, which involves not caching specific data blocks, and data replication, which involves making multiple copies of read-only data. Finally, we present a memory assigment technique, grey coloring, that reduces latency in the presence of collisions by distributing cache misses among processors in a way that minimized the total number of cache misses in any specific cache.
first_indexed 2024-09-23T13:53:27Z
id mit-1721.1/149191
institution Massachusetts Institute of Technology
last_indexed 2024-09-23T13:53:27Z
publishDate 2023
record_format dspace
spelling mit-1721.1/1491912023-03-30T03:35:05Z Memory Assignment for Multiprocessor Caches Through Graph Coloring Agarwal, Anant Guttag, John Papaefthymiou, Marios It has become apparent that the achieved performance of multiprocessors is heavily dependent upon the quality of the availabel compilers. In this paper we are concerned with compile-time techniques that can be used to achieve better performance by improving cache utilization. Specifically, we investigate the problem of assigning data chunks to memory in a way that will minimize collisions in direct-mapped multiprocessor caches. We show that while this problem is computationally intractable, there are interesting special cases that can be solved in polynomial time. We also present several techniques that can be used when conflict-free assignment is not possible, or when finding a conflict-free assignment is computationally infeasible. These techniques include uniform decaching, which involves not caching specific data blocks, and data replication, which involves making multiple copies of read-only data. Finally, we present a memory assigment technique, grey coloring, that reduces latency in the presence of collisions by distributing cache misses among processors in a way that minimized the total number of cache misses in any specific cache. 2023-03-29T14:35:56Z 2023-03-29T14:35:56Z 1992-02 https://hdl.handle.net/1721.1/149191 MIT-LCS-TM-465 application/pdf
spellingShingle Agarwal, Anant
Guttag, John
Papaefthymiou, Marios
Memory Assignment for Multiprocessor Caches Through Graph Coloring
title Memory Assignment for Multiprocessor Caches Through Graph Coloring
title_full Memory Assignment for Multiprocessor Caches Through Graph Coloring
title_fullStr Memory Assignment for Multiprocessor Caches Through Graph Coloring
title_full_unstemmed Memory Assignment for Multiprocessor Caches Through Graph Coloring
title_short Memory Assignment for Multiprocessor Caches Through Graph Coloring
title_sort memory assignment for multiprocessor caches through graph coloring
url https://hdl.handle.net/1721.1/149191
work_keys_str_mv AT agarwalanant memoryassignmentformultiprocessorcachesthroughgraphcoloring
AT guttagjohn memoryassignmentformultiprocessorcachesthroughgraphcoloring
AT papaefthymioumarios memoryassignmentformultiprocessorcachesthroughgraphcoloring