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 条
  • [1] Compiler-Directed Page Coloring for Multiprocessors
    Bugnion, E.
    Anderson, J. M.
    Mowry, T. C.
    Rosenblum, M.
    Computer Architecture News, 24
  • [2] Compiler-directed page coloring for multiprocessors
    Stanford Univ, Stanford, CA, United States
    Comput Archit News, Special Issu (244-255):
  • [3] COMPILER-DIRECTED CACHE MANAGEMENT IN MULTIPROCESSORS
    CHEONG, H
    VEIDENBAUM, AV
    COMPUTER, 1990, 23 (06) : 39 - 47
  • [4] 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
  • [5] Compiler-directed reordering of data by cyclic graph coloring
    Genius, D
    Lelait, S
    EURO-PAR'99: PARALLEL PROCESSING, 1999, 1685 : 1260 - 1264
  • [6] Compiler-Directed Application Mapping for NoC Based Chip Multiprocessors
    Chen, Guangyu
    Li, Feihui
    Kandemir, Mahmut
    LCTES'07: PROCEEDINGS OF THE 2007 ACM SIGPLAN-SIGBED CONFERENCE ON LANGUAGES, COMPILERS, AND TOOLS FOR EMBEDDED SYSTEMS, 2007, : 155 - 157
  • [7] Compiler-directed scratch pad memory optimization for embedded multiprocessors
    Kandemir, M
    Kadayif, I
    Choudhary, A
    Ramanujam, J
    Kolcu, I
    IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, 2004, 12 (03) : 281 - 287
  • [8] Compiler-directed application mapping for NoC based chip multiprocessors
    Chen, Guangyu
    Li, Feihui
    Kandemir, Mahmut
    ACM SIGPLAN NOTICES, 2007, 42 (07) : 155 - 157
  • [9] Compiler-Directed Scratchpad Memory Management via Graph Coloring
    Li, Lian
    Feng, Hui
    Xue, Jingling
    ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2009, 6 (03)
  • [10] A compiler-directed approach to network latency reduction for distributed shared memory multiprocessors
    Ray, S
    Jiang, H
    Yang, Q
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 1996, 38 (02) : 267 - 276