Skip to main content

Orgel: An Parallel Programming Language with Declarative Communication Streams

  • Conference paper
  • First Online:
High Performance Computing (ISHPC 2000)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1940))

Included in the following conference series:

  • 603 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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

    Article  Google Scholar 

  2. Message Passing Interface Forum. MPI: A Message-Passing Interface Standard,June1995. 345

    Google Scholar 

  3. B. Nichols, D. Buttlar, and J. P. Farrell. Pthreads Programming. O'REILLY, 1998.345, 351

    Google Scholar 

  4. 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

    Article  MathSciNet  Google Scholar 

  5. 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

    Google Scholar 

  6. 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

    Google Scholar 

  7. Y. Shoham. Agent-oriented programming. Artificial Intelligence, Vol. 60, pp. 51–92, 1993. 346

    Article  MathSciNet  Google Scholar 

  8. G. Agha. Concurrent object-oriented programming. Communications of the ACM, Vol. 33, No. 9, pp. 125–141, September 1990. 346

    Article  Google Scholar 

  9. T. Chikayama, T Fujise, and D. Sekita. KLIC User’s Manual. ICOT, March1995.346

    Google Scholar 

  10. K. Yoshida and T. Chikayama. aum — a stream-based concurrent object-orientedlanguage —. New Generation Computing, Vol. 7, No. 2, pp. 127–157, 1990. 348

    Article  Google Scholar 

  11. ICOTTM-1206. Introduction of AY A (version 1.0) (in Japanese). 348

    Google Scholar 

  12. 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

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics