Abstract
Dataflow-based non-strict functional programming languages have attractive features for writing concise programs. In order to avoid performance penalties on non-dataflow stock machines, we speculatively use a stack frame instead of a heap frame for a fine grain function instance, which may require dynamic scheduling. As a static approach, we introduce a merging policy to a thread partitioning algorithm in order to find functions with a potentially strict call interface. To complement this static analysis, we provide a hybrid runtime mechanism which can dynamically change a suspended stack frame into a heap frame. The results of the performance evaluation indicate that we can reduce superfluous heap frame management and achieve practical performance even on stock machines.
Preview
Unable to display preview. Download preview PDF.
References
M.Amamiya and R.Taniguchi: “Datarol: A Massively Parallel Architecture for Functional Language”, Proc. IEEE 2nd SPDP, pp. 726–735, 1990.
Arvind, R. S. Nikhil, and K. K. Pingali “I-strutures:Data Structures for Parallel Computing” Technical Report TR-87-810,Cornel University, Ithaca, New York 14853–7501, Feb, 1987.
D. C. Cann “Retire Fortran? A Debate Rekindled”, CALM, Vol.35, No.8, p.p.81–89, 1992.
D. E. Culler et al. “Fine-grain Parallelism with Minimal Hardware Support: A Compiler-Controlled Threaded Abstract Machine” In Proc. of 4th ASPLOS, 1991
T. Kawano, S. Kusakabe, R. Taniguchi, and M. Amamiya. “Fine-grain multi-thread processor architecture for massively parallel processing”In Proc. of HPCA'95 pp.308–317, Jan. 1995.
B. Lee and A. R. Hurson, “Dataflow Architectures and Multithreading,” IEEE Computer, Aug. 1994, pp.27–39.
K. E. Schauser and S. C. Goldstein. “How Much Non-strictness do Lenient Programs Require?” In Proc. FPCA, 1995
J. Plevyak, V. Karamchet, X. Zhang, A. A. Chien “A Hybrid Execution Model for Fine-Grained Languages on Distributed Memory Multicomputers,” In Proc. of Supercomputing'95. 1995.
K. E. Schauser, D. E. Culler, and S. C. Goldstein “Separation Constraint Partitioning-A New Algorithm for Partitioning Non-strict Programs into Sequential Threads” In Proc. of POPL, Jan. 1995.
A. Shaw, Arvind, R. P. Johnson, “Performance Tuning Scientific Codes for Dataflow Execution” Proc. of PACT96, pp.198–207, 1996.
K. Taura, S. Matsuoka, and A. Yonezawa, "Stack Threads: An Abstract Machine for Scheduling Fine-Grain Threads on Stock CPUs" Proc. of JSPP94, pp.25–32, 1994.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Inenaga, K., Kusakabe, S., Morimoto, T., Amamiya, M. (1997). Hybrid approach for non-strict dataflow program on commodity machine. In: Polychronopoulos, C., Joe, K., Araki, K., Amamiya, M. (eds) High Performance Computing. ISHPC 1997. Lecture Notes in Computer Science, vol 1336. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0024220
Download citation
DOI: https://doi.org/10.1007/BFb0024220
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63766-0
Online ISBN: 978-3-540-69644-5
eBook Packages: Springer Book Archive