Abstract
This paper is on process coordination language K2 which is based on a variant of high-level Petri nets. It strictly separates the specifi- cation of processes and their communication structures from (functional) specifications of the computations to be performed by the processes. The purpose of this separation is to facilitate both correct program construction and formal reasoning about essential safety and liveness properties. More specifically, the paper presents and analyzes performance measurements obtained from a K2 implementation based on the message passing system PVM. Two simple K2 benchmark programs are to determine the overhead inflicted by the K2 runtime system relative to a direct PVM implementation of the same programs. A third benchmark program, the implementation of a relaxation algorithm for the solution of PDEs, is to investigate the eficiency of distributing some given workload on a multiprocessor system by recursively expanding process (sub-)structures. The measurements show that coarse-grain K2 programs are only marginally slower than their PVM counterparts, and that good scalability of recursive programs can be achieved on multiple computing sites.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
C. Aßmann. A Language for Concurrent Processing based on Petri Nets. In D. Tavangarian, editor, Architektur von Rechensystemen, pages 221–230, 1997. 14. GI/ITG Fachtagung (ARCS’97).
C. Aßmann. Coordinating Functional Processes Using Petri Nets. In W. Kluge, editor, Proc. 8th. International Workshop on the Implementation of Functional Languages, Bad Godesberg, Germany, September 1996, volume 1268 of LNCS, pages 162–183. Springer-Verlag, 1997.
C. Aßmann and J. Lukoschus. Implementation of a Coordination Language. In H.R. Arabnia, editor, Proc. 1998 International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA’98), volume I, pages 175–182, 1998.
A. Beguelin and V. Sunderam. Tools for Monitoring, Debugging, and Programming in PVM. In Arndt Bode, editor, Parallel virtual machine, EuroPVM’ 96, Munich, Germany, October 7–9, volume 1156 of LNCS, pages 7–13. Springer-Verlag, 1996.
S. Breitinger, R. Loogen, Y. Ortega-Mallén, and R. Peña. Eden — Language Deßnition and Operational Semantics. Technical report, Universität Marburg, FB Mathematik, 1998. Bericht 96-10, Reihe Informatik, revised version, April 7.
N. Carriero and D. Gelernter. How to Write Parallel Programs: A First Course. MIT Press, Cambridge, MA, 1990.
S. Cox, S.-Y. Huang, P.H.J. Kelly, J. Liu, and F. Taylor. Program Transformations for Static Process Networks. ACM SIGPLAN Notices, January 1993.
J. Darlington, A.J. Field, P.G. Harrison, et al. Parallel Programming using Skeleton Functions. In A. Bode, M. Reeve, and G. Wolf, editors, Proc. PARLE’ 93 — Parallel Architectures and Languages Europe, volume 694 of LNCS, pages 146–160, Eindhoven, The Netherlands, Spinger-Verlag, June 1991.
A. Geist, A. Beguelin, J. Dongarra, W. Jiang, R. Manchek, and V. S. Sunderam. PVM: Parallel Virtual Machine A Users’ Guide and Tutorial for Network Parallel Computing. Scientific and Engineering Computation Series. MIT Press, Cambridge, MA, 1994.
H.J. Genrich, K. Lautenbach, and P.S. Thiagarjan. Elements of General Net Theory. In Net Theory and Applications, volume 84 of LNCS, pages 21–163. Springer-Verlag, 1980.
K. Jensen. How to Find Invariants for Coloured Petri Nets. In 10th. Symposium on Mathematical Foundations of Computer Science, volume 118 of LNCS, pages 327–338, Springer-Verlag, 1981.
K. Jensen. Coloured Petri Nets: A High Level Language for System Design and Analysis. In G. Rozenberg, editor, Advances in Petri Nets 1990, volume 483 of LNCS, pages 342–416, Springer-Verlag, 1991.
K. Jensen. Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use, volume 1 of Monographs on Theoretical Computer Science. Springer-Verlag, 1992.
W.E. Kluge. A User’s Guide for the Reduction System π-red. Technical Report 9409, Institut für Informatik und praktische Mathematik, Universität Kiel, 1994.
M.C.J.D. van Eekelen and M.J. Plasmeijer. Functional Programming and Parallel Graph Rewriting, Addison-Wesley, 1993.
P.W. Trinder, K. Hammond, H.-W. Loidl, and S.L. Peyton Jones. Algorithm + Strategy = Parallelism. Journal of Functional Programming, 8(1):23–60, January 1998.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Aßmann, C. (1999). Performance Results for an Implementation of the Process Coordination Language K2 . In: Hammond, K., Davie, T., Clack, C. (eds) Implementation of Functional Languages. IFL 1998. Lecture Notes in Computer Science, vol 1595. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48515-5_1
Download citation
DOI: https://doi.org/10.1007/3-540-48515-5_1
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66229-7
Online ISBN: 978-3-540-48515-5
eBook Packages: Springer Book Archive