• DocumentCode
    3538072
  • Title

    Keynote Addresses

  • Author

    Psarris, Kleanthis

  • Author_Institution
    Univ. of Texas at San Antonio, San Antonio, TX, USA
  • fYear
    2011
  • fDate
    Aug. 31 2011-Sept. 2 2011
  • Abstract
    In multi-core architectures large scale scientific applications have to be redesigned to efficiently use the multiple cores and deliver higher performance. Optimizing compilers rely upon program analysis techniques to detect data dependences between program statements, perform optimizations, and identify code fragments that can be executed concurrently. However, most data dependence tests are only able to analyze linear expressions, even though non-linear expressions occur frequently in practice. Therefore, considerable amounts of potential parallelism remained unexploited. In order to handle such complex instances of the dependence problem and increase program parallelization we developed new program analysis techniques. Our methods are based on a set of polynomial time techniques that can prove or disprove dependences in source codes with non-linear and symbolic expressions, complex loop bounds, arrays with coupled subscripts, and if-statement constraints. We performed an experimental evaluation of several data dependence tests and we compared them in terms of data dependence accuracy, compilation efficiency, effectiveness in parallelization and program execution performance. We run various experiments using the Perfect Club Benchmarks, the SPEC benchmarks, and the scientific library Lapack. We measured the accuracy and efficiently of each data dependence test. We also determined the impact of each data dependence test on the total compilation time. Finally, we measured the number of loops parallelized by each test and we compared the execution performance of each benchmark on a multi-core architecture. The experimental results indicate that our dependence analysis tool is accurate, efficient and more effective in program parallelization than past data dependence analysis techniques. The improved parallelization resulted into higher speedups and better program execution performance in several benchmarks.
  • Keywords
    multiprocessing systems; optimising compilers; program diagnostics; Perfect Club benchmark; SPEC benchmark; complex loop bounds; data dependence analysis technique; if-statement constraint; multicore architecture; nonlinear expression; optimizing compiler; polynomial time technique; program analysis technique; program parallelization; scientific library Lapack; source code; symbolic expression;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer and Information Technology (CIT), 2011 IEEE 11th International Conference on
  • Conference_Location
    Pafos
  • Print_ISBN
    978-1-4577-0383-6
  • Type

    conf

  • DOI
    10.1109/CIT.2011.9
  • Filename
    6036861