Compiler-directed page coloring for multiprocessors

被引:25
|
作者
Bugnion, E
Anderson, JM
Mowry, TC
Rosenblum, M
Lam, MS
机构
[1] Computer Systems Laboratory, Stanford University, Stanford
[2] Dept. of Elec. and Comp. Engineering, University of Toronto, Toronto
关键词
D O I
10.1145/248209.237195
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This paper presents a new technique, compiler-directed page coloring, that eliminates conflict misses in multiprocessor applications. It enables applications to make better use of the increased aggregate cache size available in a multiprocessor. This technique uses the compiler's knowledge of the access patterns of the parallelized applications to direct the operating system's virtual memory page mapping strategy. We demonstrate that this technique can lead to significant performance improvements over two commonly used page mapping strategies for machines with either direct-mapped or two-way set-associative caches. We also show that it is complementary to latency-hiding techniques such as prefetching. We implemented compiler-directed page coloring in the SUIF parallelizing compiler and on two commercial operating systems. We applied the technique to the SPEC95fp benchmark suite, a representative set of numeric programs. We used the SimOS machine simulator to analyze the applications and isolate their performance bottlenecks. We also validated these results on a real machine, an eight-processor 350MHz Digital AlphaServer. Compiler-directed page coloring leads to significant performance improvements for several applications. Overall, our technique improves the SPEC95fp rating for eight processors by 8% over Digital UNIX's page mapping policy and by 20% over a page coloring, a standard page mapping policy. The SUIF compiler achieves a SPEC95fp ratio of 57.4, the highest ratio to date.
引用
收藏
页码:244 / 255
页数:12
相关论文
共 50 条
  • [21] Compiler-directed classification of value locality Behavior
    Zhao, Q
    Lilja, DJ
    2001 INTERNATIONAL CONFERENCE ON COMPUTER DESIGN, ICCD 2001, PROCEEDINGS, 2001, : 240 - 248
  • [22] Compiler-directed data cache leakage reduction
    Zhang, W
    VLSI 2004: IEEE COMPUTER SOCIETY ANNUAL SYMPOSIUM ON VLSI, PROCEEDINGS, 2004, : 305 - 306
  • [23] Compiler-directed collective-I/O
    Kandemir, M
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2001, 12 (12) : 1318 - 1331
  • [24] Compiler-directed data partitioning for multicluster processors
    Chu, Michael L.
    Mahlke, Scott A.
    CGO 2006: 4TH INTERNATIONAL SYMPOSIUM ON CODE GENERATION AND OPTIMIZATION, 2006, : 208 - +
  • [25] Compiler-Directed Leakage Reduction in Embedded Microprocessors
    Roy, Soumyaroop
    Ranganathan, Nagarajan
    Katkoori, Srinivas
    2009 IEEE INTERNATIONAL CONFERENCE ON COMPUTER DESIGN, 2009, : 35 - 40
  • [26] Compiler-directed selection of dynamic memory layouts
    Kandemir, M
    Kadayif, I
    PROCEEDINGS OF THE NINTH INTERNATIONAL SYMPOSIUM ON HARDWARE/SOFTWARE CODESIGN, 2001, : 219 - 224
  • [27] Compiler-directed memory management for heterogeneous MPSoCs
    Wang, Miao
    Bodin, Francois
    JOURNAL OF SYSTEMS ARCHITECTURE, 2011, 57 (01) : 134 - 145
  • [28] Compiler-directed instruction cache leakage optimization
    Zhang, W
    Hu, JS
    Degalahal, V
    Kandemir, M
    Vijaykrishnan, N
    Irwin, MJ
    35TH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE (MICRO-35), PROCEEDINGS, 2002, : 208 - 218
  • [29] Performance potentials of compiler-directed data speculation
    Wu, YF
    Chen, LL
    Ju, R
    Fang, J
    ISPASS: 2003 IEEE INTERNATIONAL SYMPOSIUM ON PERFORMANCE ANALYSIS OF SYSTEMS AND SOFTWARE, 2003, : 22 - 31
  • [30] 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