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] Scratchpad Memory Allocation for Data Aggregates via Interval Coloring in Superperfect Graphs
    Li, Lian
    Xue, Jingling
    Knoop, Jens
    ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS, 2010, 10 (02)
  • [2] Compiler-Directed Power Management for Superscalars
    Haj-Yihia, Jawad
    Ben Asher, Yosi
    Rotem, Efraim
    Yasin, Ahmad
    Ginosar, Ran
    ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2014, 11 (04)
  • [3] Compiler-directed scratch pad memory hierarchy design and management
    Kandemir, M
    Choudhary, A
    39TH DESIGN AUTOMATION CONFERENCE, PROCEEDINGS 2002, 2002, : 628 - 633
  • [4] Compiler-directed scratchpad memory data transfer optimization for multithreaded applications on a heterogeneous many-core architecture
    Xiaohan Tao
    Jianmin Pang
    Jinlong Xu
    Yu Zhu
    The Journal of Supercomputing, 2021, 77 : 14502 - 14524
  • [5] Compiler-directed scratchpad memory data transfer optimization for multithreaded applications on a heterogeneous many-core architecture
    Tao, Xiaohan
    Pang, Jianmin
    Xu, Jinlong
    Zhu, Yu
    JOURNAL OF SUPERCOMPUTING, 2021, 77 (12): : 14502 - 14524
  • [6] Compiler-directed thermal management for VLIW functional units
    Mutyam, Madhu
    Li, Feihui
    Narayanan, Vijaykrishnan
    Kandemir, Mahmut
    Irwin, Mary Jane
    ACM SIGPLAN NOTICES, 2006, 41 (07) : 163 - 172
  • [7] A Compiler-Directed Data Prefetching Scheme for Chip Multiprocessors
    Son, Seung Woo
    Kandemir, Mahmut
    Karakoy, Mustafa
    Chakrabarti, Dhruva
    ACM SIGPLAN NOTICES, 2009, 44 (04) : 209 - 218
  • [8] Dynamic data scratchpad memory management for a memory subsystem with an MMU
    Cho, Hyungmin
    Egger, Bernhard
    Lee, Jaejin
    Shin, Heonshik
    ACM SIGPLAN NOTICES, 2007, 42 (07) : 195 - 206
  • [9] Efficient and scalable compiler-directed energy optimization for realtime applications
    Huang, Po-Kuan
    Ghiasi, Soheil
    ACM TRANSACTIONS ON DESIGN AUTOMATION OF ELECTRONIC SYSTEMS, 2007, 12 (03)
  • [10] Compiler-Directed Whole-System Persistence
    Zeng, Jianping
    Zhang, Tong
    Jung, Changhee
    2024 ACM/IEEE 51ST ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE, ISCA 2024, 2024, : 961 - 977