Code Scheduling for Optimizing Parallelism and Data Locality

被引:0
|
作者
Yemliha, Taylan [1 ]
Kandemir, Mahmut [3 ]
Ozturk, Ozcan [2 ]
Kultursay, Emre [3 ]
Muralidhara, Sai Prashanth [3 ]
机构
[1] Syracuse Univ, Syracuse, NY 13244 USA
[2] Bilkent Univ, Ankara, Turkey
[3] Penn State Univ, University Pk, PA 16802 USA
来源
关键词
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
As chip multiprocessors proliferate, programming support for these devices is likely to receive a lot of attention in the near future. Parallelism and data locality are two critical issues in a chip multiprocessor environment. Unfortunately, most of the published work in the literature focuses only on one of these problems, and this can prevent one from achieving the best possible performance. The main goal of this paper is to propose and evaluate a compiler-directed code parallelization scheme, which considers both parallelism and data locality at the same time. Our compiler captures the inherent parallelism and data reuse in the application code being analyzed using a novel representation called the locality-parallelism graph (LPG). Our partitioning/scheduling algorithm assigns the nodes of this graph to the processors in the architecture and schedules them for execution. We implemented this algorithm and evaluated its effectiveness using a set of benchmark codes. The results collected so far indicate that our approach improves overall execution latency significantly. In this paper, we also introduce an ILP (Integer Linear Programming) based formulation of the problem, and implement the schedule obtained by the ILP solver. The results indicate that our approach gets within 4% of the ILP solution.
引用
收藏
页码:204 / +
页数:3
相关论文
共 50 条
  • [1] Optimizing Load Balancing and Data-Locality with Data-aware Scheduling
    Wang, Ke
    Zhou, Xiaobing
    Li, Tonglin
    Zhao, Dongfang
    Lang, Michael
    Raicu, Ioan
    2014 IEEE INTERNATIONAL CONFERENCE ON BIG DATA (BIG DATA), 2014, : 119 - 128
  • [2] Optimizing Stencil Code via Locality of Computation
    Luo, Yulong
    Tan, Guangming
    PROCEEDINGS OF THE 23RD INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES (PACT'14), 2014, : 477 - 478
  • [3] With-loop fusion for data locality and parallelism
    Grelck, Clemens
    Hinckfuss, Karsten
    Scholz, Sven-Bodo
    IMPLEMENTATION AND APPLICATION OF FUNCTIONAL LANGUAGES, 2006, 4015 : 178 - +
  • [4] Uantifying data locality in dynamic parallelism in GPUs
    Tang, Xulong
    Pattnaik, Ashutosh
    Kayiran, Onur
    Jog, Adwait
    Kandemir, Mahmut Taylan
    Das, Chita
    Proceedings of the ACM on Measurement and Analysis of Computing Systems, 2018, 2 (03)
  • [5] A DATA LOCALITY OPTIMIZING ALGORITHM
    WOLF, ME
    LAM, MS
    SIGPLAN NOTICES, 1991, 26 (06): : 30 - 44
  • [6] A data locality optimizing algorithm
    Lam, MS
    ACM SIGPLAN NOTICES, 2004, 39 (04) : 442 - 444
  • [7] Leveraging Data-Flow Task Parallelism for Locality-Aware Dynamic Scheduling on Heterogeneous Platforms
    Simsek, Osman Seckin
    Drebes, Andi
    Pop, Antoniu
    2018 IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW 2018), 2018, : 540 - 549
  • [8] Compiler algorithms for optimizing locality and parallelism on shared and distributed memory machines
    Kandemir, M
    Ramanujam, J
    Choudhary, A
    1997 INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, PROCEEDINGS, 1997, : 236 - 247
  • [9] Generating self-scheduling code for nonloop parallelism
    Beckmann, CJ
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 1996, 39 (02) : 126 - 145
  • [10] Generating Self-Scheduling Code for Nonloop Parallelism
    Journal of Parallel and Distributed Computing, 39 (02):