## 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 language | English |
---|---|

Title of host publication | Proceedings of the 36th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'09 |

Pages | 177-185 |

Number of pages | 9 |

DOIs | |

Publication status | Published - 2009 Jul 10 |

Event | 36th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'09 - Savannah, GA, United States Duration: 2009 Jan 21 → 2009 Jan 23 |

### Publication series

Name | Conference Record of the Annual ACM Symposium on Principles of Programming Languages |
---|---|

ISSN (Print) | 0730-8566 |

### Other

Other | 36th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL'09 |
---|---|

Country/Territory | United States |

City | Savannah, GA |

Period | 09/1/21 → 09/1/23 |

## Keywords

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

## ASJC Scopus subject areas

- Software