The third homomorphism theorem on trees: Downward and upward lead to divide-and-conquer

Akimasa Morihata, Kiminori Matsuzaki, Zhenjiang Hu, Masato Takeichi

Research output: Contribution to journalArticlepeer-review

12 Citations (Scopus)


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.

Original languageEnglish
Pages (from-to)177-185
Number of pages9
JournalACM SIGPLAN Notices
Issue number1
Publication statusPublished - 2009
Externally publishedYes


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

ASJC Scopus subject areas

  • Computer Science(all)


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

Cite this