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 条
  • [31] SRF Coloring:Stream Register File Allocation via Graph Coloring
    杨学军
    邓宇
    汪黎
    晏小波
    杜静
    张英
    王桂彬
    唐滔
    JournalofComputerScience&Technology, 2009, 24 (01) : 152 - 164
  • [32] SRF Coloring: Stream Register File Allocation via Graph Coloring
    Xue-Jun Yang
    Yu Deng
    Li Wang
    Xiao-Bo Yan
    Jing Du
    Ying Zhang
    Gui-Bin Wang
    Tao Tang
    Journal of Computer Science and Technology, 2009, 24 : 152 - 164
  • [33] Static Function Prefetching for Efficient Code Management on Scratchpad Memory
    Kim, Youngbin
    Lee, Kyoungwoo
    Shrivastava, Aviral
    2019 IEEE 37TH INTERNATIONAL CONFERENCE ON COMPUTER DESIGN (ICCD 2019), 2019, : 350 - 358
  • [34] An introduction to the discharging method via graph coloring
    Cranston, Daniel W.
    West, Douglas B.
    DISCRETE MATHEMATICS, 2017, 340 (04) : 766 - 793
  • [35] Increasing the Parallelism of Graph Coloring via Shortcutting
    Alabandi, Ghadeer
    Powers, Evan
    Burtscher, Martin
    PROCEEDINGS OF THE 25TH ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING (PPOPP '20), 2020, : 262 - 275
  • [36] Distributed Memory Graph Coloring Algorithms for Multiple GPUs
    Bogle, Ian
    Boman, Erik G.
    Devine, Karen
    Rajamanickam, Sivasankaran
    Slota, George M.
    PROCEEDINGS OF IA3 2020: 2020 IEEE/ACM 10TH WORKSHOP ON IRREGULAR APPLICATIONS: ARCHITECTURES AND ALGORITHMS (IA3), 2020, : 54 - 62
  • [37] State of art innovative technique for management of scratchpad memory (scratch)
    Tabbassum, Kavita
    Talpur, Shahnawaz
    Khahro, Shahnwaz Farhan
    MICROPROCESSORS AND MICROSYSTEMS, 2019, 70 : 31 - 37
  • [38] Graph coloring for air traffic flow management
    Barnier, N
    Brisset, P
    ANNALS OF OPERATIONS RESEARCH, 2004, 130 (1-4) : 163 - 178
  • [39] Graph Coloring for Air Traffic Flow Management
    Nicolas Barnier
    Pascal Brisset
    Annals of Operations Research, 2004, 130 : 163 - 178
  • [40] Efficient register and memory assignment for non-orthogonal architectures via graph coloring for and MST algorithms
    Cho, J
    Paek, Y
    Whalley, D
    ACM SIGPLAN NOTICES, 2002, 37 (07) : 130 - 138