Abstract
This paper presents a comparison of the cooperative mul- tithreading models with the general concurrent programming model. It focuses on the execution time performance of a range of standard con- current programming applications. The results show that in many, but not all, cases programs written in the cooperative multithreading model outperform those written in the general concurrent programming model. The contributions of this paper are an analysis of the performances of applications in the different models and an examination of the parallel cooperative multithreading programming style.
This work is partially supported by Z-World, Inc. and the University of California under the MICRO program.
Chapter PDF
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
G.R. Andrews and R.A. Olsson. The SR Programming Language: Concurrency in Practice. Benjamin/Cummings Publishing Company, Inc., Redwood City, CA, 1993.
Tak Auyeung. Cooperative multithreading. Embedded Systems Programming, pages 72–77, December 1995.
H. E. Bal, M. F. Kaashoek, and A. S. Tanenbaum. Orca: A language for parallel programming of distributed systems. IEEE Transactions on Software Engineering, 18(3):190–205, March 1992.
http://www.boa.org, 1999.
G. Cornell and C. S. Horstmann. Core Java. Sun Microsystems, Inc., Mountain View, CA, 1996.
E.F. Fodor and R.A. Olsson. Cooperative multithreading: Experience with applications. In The 1999 International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA’ 99), pages 1953–1957, July 1999.
H. Han, C.-W. Tseng, and P. Keleher. Eliminating barrier synchronization for compiler-parallelized codes on software DSMs. International Journal of Parallel Programming, 25(5):591–612, October 1998.
C.A.R. Hoare. Communicating Sequential Processes. Communications ACM, 21(8):666–677, August 1978.
Intermetrics, Inc., 733 Concord Ave, Cambridge, Massachusetts 02138. The Ada 95 Annotated Reference Manual (v6.0), January 1995. ftp://sw-eng.falls-church.va.us/public/Ada-IC/standards/95lrm_rat.
Takashi Ishihara, Tiejun Li, Eugene F. Fodor, and Ronald A. Olsson. Cooperative multitasking versus general concurrent programming: Measuring the overhead associated with synchronization mechanisms. Unpublished Manuscript, University of California, Davis, September 1999.
C. M. McNamee. Transformations for optimizing interprocess communication and synchronization mechanisms. International Journal of Parallel Programming, 19(5):357–387, October 1990.
M. L. Scott. Language support for loosely coupled distributed programs. IEEE Transactions on Software Engineering, 13(1):88–103, January 1987.
M. L. Scott. The Lynx distributed programming language: Motivation, design and experience. Computer Languages, 16(3/4):209–233, 1991.
R. Vaswani and J. Zahorjan. The implications of cache affinity on processor scheduling for multiprogrammed, shared memory multiprocessors. In Proceedings of the Thirteenth ACM Symposium on Operating System Principles, pages 26–40, December 1991.
Z-World, Inc. Dynamic C 5.x Integrated C Development System Application Frameworks (Rev.1), 1998. Dynamic C 5.x.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ishihara, T., Li, T., Fodor, E.F., Olsson, R.A. (2000). A Comparison of Concurrent Programming and Cooperative Multithreading. In: Bode, A., Ludwig, T., Karl, W., Wismüller, R. (eds) Euro-Par 2000 Parallel Processing. Euro-Par 2000. Lecture Notes in Computer Science, vol 1900. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44520-X_100
Download citation
DOI: https://doi.org/10.1007/3-540-44520-X_100
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67956-1
Online ISBN: 978-3-540-44520-3
eBook Packages: Springer Book Archive