Affiliation:
1. Massachusetts Institute of Technology, Cambridge
2. Cornell Univ., Ithaca, NY
Abstract
It is difficult to achieve elegance, efficiency, and parallelism simultaneously in functional programs that manipulate large data structures. We demonstrate this through careful analysis of program examples using three common functional data-structuring approaches-lists using Cons, arrays using Update (both fine-grained operators), and arrays using make-array (a “bulk” operator). We then present I-structure as an alternative and show elegant, efficient, and parallel solutions for the program examples in Id, a language with I-structures. The parallelism in Id is made precise by means of an operational semantics for Id as a parallel reduction system. I-structures make the language nonfunctional, but do not lose determinacy. Finally, we show that even in the context of purely functional languages, I-structures are invaluable for implementing functional data abstractions.
Publisher
Association for Computing Machinery (ACM)
Reference18 articles.
1. CULLER D.E. Effective datafiow execution of scientific applications. Ph.D. dissertation MIT Lab. for Computer Science Massachusetts Institute of Technology Cambridge. To appear. CULLER D.E. Effective datafiow execution of scientific applications. Ph.D. dissertation MIT Lab. for Computer Science Massachusetts Institute of Technology Cambridge. To appear.
Cited by
154 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Distributed Dataflow Across the Edge-Cloud Continuum;2024 IEEE 17th International Conference on Cloud Computing (CLOUD);2024-07-07
2. Automatic Parallelism Management;Proceedings of the ACM on Programming Languages;2024-01-05
3. Accelerating Communications in Federated Applications with Transparent Object Proxies;Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis;2023-11-11
4. Efficient Parallel Functional Programming with Effects;Proceedings of the ACM on Programming Languages;2023-06-06
5. NoC-based hardware software co-design framework for dataflow thread management;The Journal of Supercomputing;2023-05-11