Coarse Grain Task Parallel Processing with Cache Optimization on Shared Memory Multiprocessor

  • Kazuhisa Ishizaka
  • Motoki Obata
  • Hironori Kasahara
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2624)


In multiprocessor systems, the gap between peak and effective performance has getting larger. To cope with this performance gap, it is important to use multigrain parallelism in addition to ordinary loop level parallelism. Also, effective use of memory hierarchy is important for the performance improvement of multiprocessor systems because the speed gap between processors and memories is getting larger.

This paper describes coarse grain task parallel processing that uses parallelism among macro-tasks like loops and subroutines considering cache optimization using data localization scheme. The proposed scheme is implemented on OSCAR automatic multigrain parallelizing compiler. OSCAR compiler generates OpenMP FORTRAN program realizing the proposed scheme from a sequential FORTRAN77 program. Its performance is evaluated on IBM RS6000 SP 604e High Node 8 processors SMP machine using SPEC95fp tomcatv, swim, mgrid. In the evaluation, the proposed coarse grain task parallel processing scheme with cache optimization gives us up to 1.3 times speedup on 1PE, 4.7 times speedup on 4PE and 8.8 times speedup on 8PE compared with a sequential processing time.


Time Speedup Cache Size Dynamic Schedule Multiprocessor System Static Schedule 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    R. Eigenmann, J. Hoeflinger, and D. Padua. On the automatic parallelization of the perfect benchmarks. IEEE Trans. on parallel and distributed systems, 9(1), Jan. 1998.Google Scholar
  2. [2]
    P. Tu and D. Padua. Automatic array privatization. Proc. 6th Annual Workshop on Languages and Compilers for Parallel Computing, 1993.Google Scholar
  3. [3]
    L. Rauchwerger, N. M. Amato, and D. A. Padua. Run-time methods for parallelizing partially parallel loops. Proceedings of the 9th ACM International Conference on Supercomputing, Barcelona, Spain, pages 137–146, Jul. 1995.Google Scholar
  4. [4]
    M. W. Hall, J. M. Anderson, S. P. Amarasinghe, B. R. Murphy, S. Liao, E. Bugnion, and M. S. Lam. Maximizing multiprocessor performance with the suif compiler. IEEE Computer, 1996.Google Scholar
  5. [5]
    M. W. Hall, B. R. Murphy, S. P. Amarasinghe, S. Liao, and M. S. Lam. Interprocedural parallelization analysis: A case study. Proceedings of the 8th International Workshop on Languages and Compilers for Parallel Computing, Aug. 1995.Google Scholar
  6. [6]
    A. W. Lim, G. I. Cheong, and M. S. Lam. An affine partitoning algorithm to maximize parallelism and minimize communication. Proc. of the 13th ACM SIGARCH International Conference on Supercomputing, Jun. 1999.Google Scholar
  7. [7]
    J. M. Anderson, S. P. Amarasinghe, and M. S. Lam. Data and computation transformations for multiprocessors. Proc. of the Fifth ACM SIGPLAN Symposium on Principles and Practice of Parallel Processing, Jul. 1995.Google Scholar
  8. [8]
    H. Han, G. Rivera, and C-W. Tseng. Software support for improving locality in scientific codes. 8th Workshop on Compilers for Parallel Computers, Jan. 2000.Google Scholar
  9. [9]
    G. Rivera and C-W. Tseng. Locality optimizations for multi-level caches. Super Computing’ 99, Nov. 1999.Google Scholar
  10. [10]
    A. Yoshida, Y. Ujigawa, M. Obata, K. Kimura, and H. Kasahara. Data-localization among doall and sequential loops in coarse grain parallel processing. Seventh Workshop on Compilers for Parallel Computers, Jul. 1998.Google Scholar
  11. [11]
    Advanced Parallelizing Compiler Project.
  12. [12]
    C. J. Brownhill, A. Nicolau, S Novack, and C. D. Polychronopoulos. Achieving multi-level parallelization. Proc. of the International Symposium on High Performance Computing, 1997.Google Scholar
  13. [13]
    X. Martorell, E. Ayguade, N. Navarro, J. Corbalan, M. Gonzalez, and J. Labarta. Thread fork/join techniques for multi-level parallelism exploitatio in numa multiprocessors. Proc. of the 1999 nternational Conference on Supercomputing, June 1999.Google Scholar
  14. [14]
    Portable Scalable SMP Programing OpenMP: Simple.
  15. [15]
    L. Dagum and R. Menon. Openmp: An industry standard api for shared memory programming. IEEE Computational Science & Engineering, 1998.Google Scholar
  16. [16]
    H. Kasahara, M. Obata, and K. Ishizaka. Automatic coarse grain task parallel processing on smp using openmp. Proc. of 13 th International Workshop on Languages and Compilers for Parallel Computing 2000, Aug. 2000.Google Scholar
  17. [17]
    H. Kasahara A. Yhoshida, K. Koshizuka. Data-localization using loop aligned decomposition for macro-dataflow processing. Proc. of 9th Workshop on Languages and Compilers for Parallel Computing, Aug. 1996.Google Scholar
  18. [18]
    K. Kimura and H. Kasahara. Near fine grain parallel processing using static scheduling on single chip multiprocessors. Proc. of International Workshop on Innovative Architecture for Future Generation High-Performance Processors and Systems, Nov. 1999.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Kazuhisa Ishizaka
    • 1
    • 2
  • Motoki Obata
    • 1
    • 2
  • Hironori Kasahara
    • 1
    • 2
  1. 1.Dept.EECEWaseda UniversityTokyoJapan
  2. 2.Advanced Parallelizing Compiler ProjectJapan

Personalised recommendations