• DocumentCode
    2747091
  • Title

    Run-time selection of block size in pipelined parallel programs

  • Author

    Lowenthal, David K. ; James, Michael

  • Author_Institution
    Dept. of Comput. Sci., Georgia Univ., Athens, GA, USA
  • fYear
    1999
  • fDate
    12-16 Apr 1999
  • Firstpage
    82
  • Lastpage
    87
  • Abstract
    Parallelizing compiler technology has improved in recent years. One area in which compilers have made progress is in handling DOACROSS loops, where cross-processor data dependencies can inhibit efficient parallelization. In regular DOACROSS loops, where dependencies can be determined at compile time, a useful parallelization technique is pipelining, where each processor (node) performs its computation in blocks; after each, it sends data to the next processor in the pipeline. The amount of computation before sending a message is called the block size; its choice, although difficult for a compiler to make, is critical to the efficiency of the program. Compilers typically use a static estimation of workload, which cannot always produce an effective block size. The paper describes a flexible run-time approach to choosing the block size. Our system takes measurements during the first iteration of the program and then uses the results to build an execution model and choose an appropriate block size which, unlike those chosen by compiler analysis, may be nonuniform. Performance on a network of workstations shows that programs using our run-time analysis outperform those that use static block sizes when the workload is either unbalanced or unanalyzable. On more regular programs, our programs are competitive with their static counterparts
  • Keywords
    parallel programming; parallelising compilers; pipeline processing; workstation clusters; DOACROSS loops; block size selection; cross-processor data dependencies; execution model; flexible run-time approach; network of workstations; parallelization; parallelization technique; parallelizing compiler technology; pipelined parallel programs; pipelining; regular DOACROSS loops; regular programs; run time selection; run-time analysis; static estimation; workload; Concurrent computing; Monitoring; Parallel processing; Parallel programming; Performance analysis; Pipeline processing; Program processors; Runtime; Size measurement; Workstations;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel Processing, 1999. 13th International and 10th Symposium on Parallel and Distributed Processing, 1999. 1999 IPPS/SPDP. Proceedings
  • Conference_Location
    San Juan
  • Print_ISBN
    0-7695-0143-5
  • Type

    conf

  • DOI
    10.1109/IPPS.1999.760439
  • Filename
    760439