Abstract
Application-level message passing is supported by many concurrent programming languages. Such languages allow messages to be generated by invoking an entry. Messages are removed from an entry by an invocation selection mechanism. Such mechanisms may allow selection from a set of entries (multi-way receive). Many concurrent languages provide support for multi-way receives, but they are limited in their expressive power. This paper presents three proposed inter-entry selection mechanisms. The proposed mechanisms overcome the limitations of the existing mechanisms. Each of these mechanisms allows an invocation selection algorithm to examine the entire set of pending invocations (and their parameters) as part of the invocation selection process. These mechanisms are analyzed and compared both qualitatively and quantitatively.
Chapter PDF
Similar content being viewed by others
References
Andrews, G.R., Olsson, R.A.: The SR Programming Language: Concurrency in Practice. The Benjamin/Cummings Publishing Co, Redwood City (1993)
Andrews, G.R., Olsson, R.A., Coffin, M., Elshoff, I., Nilsen, K., Purdin, T., Townsend, G.: An overview of the SR language and implementation. ACM Transactions on Programming Languages and Systems 10(1), 51–86 (1988)
Armstrong, J., Virding, R., Williams, M.: Concurrent Programming in Erlang. Prentice Hall, Englewood Cliffs (1993)
Bal, H.E., Kaashoek, M.F., Tanenbaum, A.S.: Orca: A language for parallel programming of distributed systems. IEEE Transactions on Software Engineering 18(3), 190–205 (1992)
Burns, A.: Programming in Occam. Addison Wesley, Reading (1988)
Cardelli, L., Wegner, P.: On understanding types, data abstraction, and polymorphism. ACM Computing Surveys 17(4), 471–522 (1985)
Chung, M., Olsson, R.A.: New mechanisms for invocation handling in concurrent programming languages. Computer Languages 24, 254–270 (1998)
Dorward, S., Pike, R.: Programming in Limbo. In: Proceedings of the IEEE Compcon 1997 Conference, pp. 245–250 (1997)
Gehani, N., Roome, W.D.: The Concurrent C Programming Language. Silicon Press, Summit (1989)
Hilderink, G., Broenink, J., Vervoort, W., Bakkers, A.: Communicating Java Threads. In: WoTUG 20, pp. 48–76 (1997)
Hoare, C.A.R.: Communicating sequential processes. Communications of the ACM 21(8), 666–677 (1978)
Intermetrics, Inc., 733 Concord Ave, Cambridge, Massachusetts 02138. The Ada 95 Annotated Reference Manual (v6.0) (January 1995)
Keen, A.W.: Integrating Concurrency Constructs with Object-Oriented Programming Languages: A Case Study. PhD dissertation, University of California, Davis, Department of Computer Science (June 2002), http://www.csc.calpoly.edu/~akeen/papers/thesis.ps
Keen, A.W., Ge, T., Maris, J.T., Olsson, R.A.: JR: Flexible distributed programming in an extended Java. In: Proceedings of the 21st IEEE International Conference on Distributed Computing Systems, April 2001, pp. 575–584 (2001)
University of Kent. Communicating sequential processes for Java, http://www.cs.kent.ac.uk/projects/ofa/jcsp/
University of Kent. Kent retargetable occam compiler, http://www.cs.kent.ac.uk/projects/ofa/kroc/
Strom, R.E., et al.: Hermes: A Language for Distributed Computing. Prentice Hall, Englewood Cliffs (1991)
Waldspurger, C.A., Weihl, W.E.: Lottery Scheduling: Flexible Proportional- Share Resource Management. In: Proceedings of the First Symposium on Operating System Design and Implementation, Monterey, CA, November 1994, pp. 1–11 (1994)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Keen, A.W., Olsson, R.A. (2003). An Inter-entry Invocation Selection Mechanism for Concurrent Programming Languages. In: Kosch, H., Böszörményi, L., Hellwagner, H. (eds) Euro-Par 2003 Parallel Processing. Euro-Par 2003. Lecture Notes in Computer Science, vol 2790. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45209-6_106
Download citation
DOI: https://doi.org/10.1007/978-3-540-45209-6_106
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40788-1
Online ISBN: 978-3-540-45209-6
eBook Packages: Springer Book Archive