• DocumentCode
    3410525
  • Title

    Dynamic parallelization of modifications to directed acyclic graphs

  • Author

    Huelsbergen, Lorenz

  • Author_Institution
    Bell Lab., USA
  • fYear
    1996
  • fDate
    35339
  • Firstpage
    186
  • Lastpage
    197
  • Abstract
    We describe a higher-order interprocedural technique, called dynamic resolution, for the automatic parallelization of procedures that destructively manipulate dynamic DAGs. Dynamic resolution detects shared data and correctly coordinates access to this data at run time. In pointer-unsafe languages such as C, dynamic resolution requires programmer identification of acyclic data structures and use of dynamic resolution´s macros for pointer manipulations. In pointer-safe languages such as ML, cyclicity can often be inferred by the compiler and parallelization via dynamic resolution can be completely automatic. This paper empirically studies the performance of dynamic resolution. Our study reveals that dynamic resolution applied to statically unparallelizable programs can outperform the optimized sequential versions on fast shared-memory multiprocessors. In particular, dynamic-resolution implementations of two problems (DAG rewrite and in-place list quicksort) using three processors already outperform their sequential counterparts. For both problems, the absolute performance of dynamic resolution steadily improves as processors are added. We also observe that dynamic resolution can offset its run-time overheads in the presence of some shored structure. Dynamic resolution is the first technique that can automatically and effectively parallelize DAG rewrite and destructive list quicksort
  • Keywords
    directed graphs; parallel programming; parallelising compilers; automatic parallelization; compiler; directed acyclic graphs; dynamic resolution; pointer-safe languages; shared-memory multiprocessors; Concurrent computing; Data structures; Dynamic compiler; Dynamic scheduling; Information analysis; Manipulator dynamics; Parallel processing; Processor scheduling; Program processors; Programming profession;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel Architectures and Compilation Techniques, 1996., Proceedings of the 1996 Conference on
  • Conference_Location
    Boston, MA
  • ISSN
    1089-795X
  • Print_ISBN
    0-8186-7633-7
  • Type

    conf

  • DOI
    10.1109/PACT.1996.554032
  • Filename
    554032