Hybrid support for lenient implementation of Array-comprehension
We tried to efficiently implement array-comprehensions on commodity machines. As a runtime support, we provided a hybrid runtime mechanism, which can dynamically change a suspended stack frame into a heap frame when a filling function suspends and requires dynamic scheduling due to suspending factors such as non-strict data-structure accesses. The results of the preliminary performance evaluation indicated that we can implement array-comprehensions with practical performance even on stock machines.
KeywordsDynamic Schedule Filling Function Suspension Point Functional Programming Language Hybrid Support
- 1.Arvind et al. “I-structures: Data Structures for Parallel Computing” TR-87-810, Cornel University, 1987.Google Scholar
- 2.S. Kusakabe et al. “Dataflow-Based Lenient Implementation of a Functional Language, Valid, on Conventional Multi-processors”, Proc. of PACT'94.Google Scholar
- 3.K. E. Schauser et al. “Separation Constraint Partitioning — A New Algorithm for Partitioning Non-strict Programs into Sequential Threads” In Proc. of POPL'95.Google Scholar