Abstract
Because of the irregular and dynamic data structures, parallel programming in non-numerical field often requires asynchronous and unspecific number of messages. Such programs are hard to write using MPI/Pthreads, and many new parallel languages, designed to hide messages under the runtime system, suffer from the execution overhead. Thus, we propose a parallel programming language Orgel that enables brief and efficient programming. An Orgel program is a set of agents connected with abstract channels called streams. The stream connections and messages are declaratively specified, which prevents bugs due to the parallelization, and also enables effective optimization. The computation in each agent is described in usual sequential language, thus efficient execution is possible. The result of evaluation shows the overhead of concurrent switching and communication in Orgel is only 1.2 and 4.3 times larger than that of Pthreads, respectively. In the parallel execution, we obtained 6.5-10 times speedup with 11-13 processors.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
V. S. Sunderam. PVM: A framework for parallel distributed computing. Concurrency:Practice and Experience 2, Vol. 2, No. 4, pp. 315–339, December 1990.345
Message Passing Interface Forum. MPI: A Message-Passing Interface Standard,June1995. 345
B. Nichols, D. Buttlar, and J. P. Farrell. Pthreads Programming. O'REILLY, 1998.345, 351
K. Ueda and T. Chikayama. Design of the kernel language for the parallel inferencemachine. The Computer Journal, Vol. 33, No. 6, pp. 494–500, 1990. 345
K. Ohno, M. Ikawa, M. Goshima, S. Mori, H. Nakashima, and S. Tomita. Improvementof message communication in concurrent logic language. In Proceeding of theSecond International Symposium on Parallel Symbolic Computation PASCO’97,pp. 156–164, 1997. 345
K. Ohno, M. Ikawa, M. Goshima, S. Mori, H. Nakashima, and S. Tomita. Efficient goal scheduling in concurrent logic language using type-based dependencyanalysis. In LNCS1345 Advances in Computing Science — ASIAN’97, pp. 268–282. Springer-Verlag, 1997. 345
Y. Shoham. Agent-oriented programming. Artificial Intelligence, Vol. 60, pp. 51–92, 1993. 346
G. Agha. Concurrent object-oriented programming. Communications of the ACM, Vol. 33, No. 9, pp. 125–141, September 1990. 346
T. Chikayama, T Fujise, and D. Sekita. KLIC User’s Manual. ICOT, March1995.346
K. Yoshida and T. Chikayama. aum — a stream-based concurrent object-orientedlanguage —. New Generation Computing, Vol. 7, No. 2, pp. 127–157, 1990. 348
ICOTTM-1206. Introduction of AY A (version 1.0) (in Japanese). 348
G. A. Alverson, W. G. Griswold, C. Lin, D. Notkin, and L. Snyder. Abstractionsfor portable, scalable parallel programming. IEEE Transactions on Parallel andDistributed Systems, Vol. 9, No. 1, pp. 71–86, January 1998. 348
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
Ohno, K., Yamamoto, S., Okano, T., Nakashima, H. (2000). Orgel: An Parallel Programming Language with Declarative Communication Streams. In: Valero, M., Joe, K., Kitsuregawa, M., Tanaka, H. (eds) High Performance Computing. ISHPC 2000. Lecture Notes in Computer Science, vol 1940. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-39999-2_33
Download citation
DOI: https://doi.org/10.1007/3-540-39999-2_33
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41128-4
Online ISBN: 978-3-540-39999-5
eBook Packages: Springer Book Archive