The third homomorphism theorem on trees downward & upward lead to divide-and-conquer

Akimasa Morihata, Kiminori Matsuzaki, Zhenjiang Hu, Masato Takeichi

Research output: Chapter in Book/Report/Conference proceedingConference contribution

18 Citations (Scopus)

Abstract

Parallel programs on lists have been intensively studied. It is well known that associativity provides a good characterization for divide-and-conquer parallel programs. In particular, the third homomorphism theorem is not only useful for systematic development of parallel programs on lists, but it is also suitable for automatic parallelization. The theorem states that if two sequential programs iterate the same list leftward and rightward, respectively, and compute the same value, then there exists a divide-and-conquer parallel program that computes the same value as the sequential programs. While there have been many studies on lists, few have been done for characterizing and developing of parallel programs on trees. Naive divide-and-conquer programs, which divide a tree at the root and compute independent subtrees in parallel, take time that is proportional to the height of the input tree and have poor scalability with respect to the number of processors when the input tree is ill-balanced. In this paper, we develop a method for systematically constructing scalable divide-and-conquer parallel programs on trees, in which two sequential programs lead to a scalable divide-andconquer parallel program. We focus on paths instead of trees so as to utilize rich results on lists and demonstrate that associativity provides good characterization for scalable divide-and-conquer parallel programs on trees. Moreover, we generalize the third homomorphism theorem from lists to trees.We demonstrate the effectiveness of our method with various examples. Our results, being generalizations of known results for lists, are generic in the sense that they work well for all polynomial data structures. Copyright

Original languageEnglish
Title of host publicationProceedings of the 36th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'09
Pages177-185
Number of pages9
DOIs
Publication statusPublished - 2009 Jul 10
Event36th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'09 - Savannah, GA, United States
Duration: 2009 Jan 212009 Jan 23

Publication series

NameConference Record of the Annual ACM Symposium on Principles of Programming Languages
ISSN (Print)0730-8566

Other

Other36th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'09
CountryUnited States
CitySavannah, GA
Period09/1/2109/1/23

Keywords

  • Divide-and-conquer
  • Huet's zippers
  • Polynomial data structures
  • The third homomorphism theorem

ASJC Scopus subject areas

  • Software

Fingerprint Dive into the research topics of 'The third homomorphism theorem on trees downward & upward lead to divide-and-conquer'. Together they form a unique fingerprint.

Cite this