Compiler-Directed Scratchpad Memory Management via Graph Coloring

被引:28
|
作者
Li, Lian [1 ]
Feng, Hui [1 ]
Xue, Jingling [1 ]
机构
[1] Univ New S Wales, Sch Comp Sci & Engn, Programming Languages & Compilers Grp, Sydney, NSW 2052, Australia
基金
澳大利亚研究理事会;
关键词
Algorithms; Languages; Experimentation; Performance; Scratchpad memory; software-managed cache; memory allocation; graph coloring; memory coloring; live range splitting; register coalescing;
D O I
10.1145/1582710.1582711
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Scratchpad memory (SPM), a fast on-chip SRAM managed by software, is widely used in embedded systems. This article introduces a general-purpose compiler approach, called memory coloring, to assign static data aggregates, such as arrays and structs, in a program to an SPM. The novelty of this approach lies in partitioning the SPM into a pseudo-register file (with interchangeable and aliased registers), splitting the live ranges of data aggregates to create potential data transfer statements between SPM and off-chip memory, and finally, adapting an existing graph coloring algorithm for register allocation to assign the data aggregates to the pseudo-register file. Our experimental results using a set of 10 C benchmarks from MediaBench and MiBench show that our methodology is capable of managing SPMs efficiently and effectively for large embedded applications. In addition, our SPM allocator can obtain close to optimal solutions when evaluated and compared against an existing heuristics-based SPM allocator and an ILP-based SPM allocator.
引用
收藏
页数:17
相关论文
共 50 条
  • [1] Compiler-directed scratchpad memory management
    Xue, JL
    EMBEDDED SOFTWARE AND SYSTEMS, PROCEEDINGS, 2005, 3820 : 2 - 2
  • [2] Compiler-directed reordering of data by cyclic graph coloring
    Genius, D
    Lelait, S
    EURO-PAR'99: PARALLEL PROCESSING, 1999, 1685 : 1260 - 1264
  • [3] Memory coloring: A compiler approach for scratchpad memory management
    Li, L
    Gao, L
    Xue, JL
    PACT 2005: 14TH INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, 2005, : 329 - 338
  • [4] Compiler-Directed Page Coloring for Multiprocessors
    Bugnion, E.
    Anderson, J. M.
    Mowry, T. C.
    Rosenblum, M.
    Computer Architecture News, 24
  • [5] Compiler-directed page coloring for multiprocessors
    Stanford Univ, Stanford, CA, United States
    Comput Archit News, Special Issu (244-255):
  • [6] Compiler-directed page coloring for multiprocessors
    Bugnion, E
    Anderson, JM
    Mowry, TC
    Rosenblum, M
    Lam, MS
    ACM SIGPLAN NOTICES, 1996, 31 (09) : 244 - 255
  • [7] Compiler-directed memory management for heterogeneous MPSoCs
    Wang, Miao
    Bodin, Francois
    JOURNAL OF SYSTEMS ARCHITECTURE, 2011, 57 (01) : 134 - 145
  • [8] Compiler-directed scratch pad memory hierarchy design and management
    Kandemir, M
    Choudhary, A
    39TH DESIGN AUTOMATION CONFERENCE, PROCEEDINGS 2002, 2002, : 628 - 633
  • [9] Compiler-directed management of instruction accesses
    Chen, G
    Chen, G
    Kadayif, I
    Zhang, W
    Kandemir, M
    Kolcu, I
    Sezer, U
    EUROMICRO SYMPOSIUM ON DIGITAL SYSTEM DESIGN, PROCEEDINGS, 2003, : 459 - 462
  • [10] COMPILER-DIRECTED CACHE MANAGEMENT IN MULTIPROCESSORS
    CHEONG, H
    VEIDENBAUM, AV
    COMPUTER, 1990, 23 (06) : 39 - 47