Skip to main content

Advertisement

Springer Nature Link
Account
Menu
Find a journal Publish with us Track your research
Search
Cart
  1. Home
  2. Practical Aspects of Declarative Languages
  3. Conference paper

Kanor

A Declarative Language for Explicit Communication

  • Conference paper
  • pp 190–204
  • Cite this conference paper
Download book PDF
Practical Aspects of Declarative Languages (PADL 2011)
Kanor
Download book PDF
  • Eric Holk18,
  • William E. Byrd18,
  • Jeremiah Willcock18,
  • Torsten Hoefler19,
  • Arun Chauhan18 &
  • …
  • Andrew Lumsdaine18 

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6539))

Included in the following conference series:

  • International Symposium on Practical Aspects of Declarative Languages
  • 684 Accesses

  • 1 Citation

Abstract

Programmers of high-performance applications face two major implementation options: to use a high-level language which manages communication implicitly or to use a low-level language while specifying communication explicitly. The high-level approach offers safety and convenience, but forces programmers to give up control, making it difficult to hand-tune communications or to estimate communication cost. The low-level approach retains this control, but forces programmers to express communication at a verbose, tedious, and error-prone level of detail.

We advocate a complementary third approach in which the programmer declaratively, but explicitly, specifies the essence of the communication pattern. The programmer lets the implementation handle the details when appropriate, but retains enough control to hand-encode communications when necessary. In this paper we present Kanor, a language for declaratively expressing explicit communication patterns, and demonstrate how Kanor safely, succinctly, and efficiently expresses both point-to-point and collective communications.

Download to read the full chapter text

Chapter PDF

Similar content being viewed by others

An Embedded DSL for High Performance Declarative Communication with Correctness Guarantees in C++

Chapter © 2016

A cost effective communication model for requirements elicitation in global software development

Article Open access 31 October 2023

A Comprehensive Analysis on Technological Approaches in Sign Language Recognition

Chapter © 2022

Explore related subjects

Discover the latest articles, books and news in related subjects, suggested using machine learning.
  • Compilers and Interpreters
  • Lisp
  • Programming Language
  • Programming Techniques
  • Control Structures and Microprogramming
  • Input/Output and Data Communications

References

  1. Armstrong, J.: The development of Erlang. In: International Conference on Functional Programming, pp. 196–203. ACM, New York (1997)

    Google Scholar 

  2. Blelloch, G.: NESL: A nested data-parallel language (version 3.1). Tech. Rep. CMU-CS-95-170, CMU (January 1995)

    Google Scholar 

  3. Chamberlain, B., Callahan, D., Zima, H.: Parallel programmability and the Chapel language. Int’l. Journal of High Performance Computing Applications 21(3), 291–312 (2007)

    Article  Google Scholar 

  4. Charles, P., Grothoff, C., Saraswat, V.A., Donawa, C., Kielstra, A., Ebcioglu, K., von Praun, C., Sarkar, V.: X10: an object-oriented approach to non-uniform cluster computing. In: Object-Oriented Programming, Systems, Languages, and Applications, pp. 519–538 (2005)

    Google Scholar 

  5. Hoefler, T., Lumsdaine, A., Rehm, W.: Implementation and performance analysis of non-blocking collective operations for MPI. In: Supercomputing. IEEE/ACM (November 2007)

    Google Scholar 

  6. Hoefler, T., Traeff, J.L.: Sparse collective operations for MPI. In: International Parallel & Distributed Processing Symposium, HIPS 2009 Workshop, Rome, Italy (May 2009)

    Google Scholar 

  7. Hoefler, T., Willcock, J., Chauhan, A., Lumsdaine, A.: The Case for Collective Pattern Specification. In: 1st ACM Workshop on Advances in Message Passing (AMP 2010) (June 2010)

    Google Scholar 

  8. Hoefler, T., Siebert, C., Lumsdaine, A.: Scalable communication protocols for dynamic sparse data exchange. In: Principles and Practice of Parallel Programming, pp. 159–168. ACM, New York (2010)

    Google Scholar 

  9. Kennedy, K., Koelbel, C., Zima, H.: The rise and fall of High Performance Fortran: An historical object lesson. In: History of Programming Languages III, p. 7-1–7-22. ACM, New York (2007)

    Google Scholar 

  10. Loogen, R., Ortega-Mallén, Y., Peña-Marí, R.: Parallel functional programming in Eden. Journal of Functional Programming (15), 431–475 (2005)

    Google Scholar 

  11. MPI Forum: MPI: A Message-Passing Interface Standard. Version 2.2 (September 4, 2009)

    Google Scholar 

  12. Numrich, R.W., Reid, J.: Co-array Fortran for parallel programming. SIGPLAN Fortran Forum 17(2), 1–31 (1998)

    Article  Google Scholar 

  13. Sarkar, D., Waddell, O., Dybvig, R.K.: A nanopass infrastructure for compiler education. SIGPLAN Not. 39(9), 201–212 (2004)

    Article  MATH  Google Scholar 

  14. UPC Consortium: UPC Language Specification, v1.2 (May 2005), http://upc.lbl.gov/docs/user/upc_spec_1.2.pdf

  15. Valiant, L.G.: A bridging model for parallel computation. Communications of the ACM 33(8), 103–111 (1990)

    Article  Google Scholar 

  16. XcalableMP Specification Working Group: Application Program Interface Version 1, Draft 0.7. Tech. rep. (November 2009)

    Google Scholar 

Download references

Author information

Authors and Affiliations

  1. School of Informatics and Computing, Indiana University, Bloomington, IN, 47405, U.S.A.

    Eric Holk, William E. Byrd, Jeremiah Willcock, Arun Chauhan & Andrew Lumsdaine

  2. Blue Waters Directorate, University of Illinois, Urbana-Champaign, Urbana, IL, 61801, U.S.A.

    Torsten Hoefler

Authors
  1. Eric Holk
    View author publications

    Search author on:PubMed Google Scholar

  2. William E. Byrd
    View author publications

    Search author on:PubMed Google Scholar

  3. Jeremiah Willcock
    View author publications

    Search author on:PubMed Google Scholar

  4. Torsten Hoefler
    View author publications

    Search author on:PubMed Google Scholar

  5. Arun Chauhan
    View author publications

    Search author on:PubMed Google Scholar

  6. Andrew Lumsdaine
    View author publications

    Search author on:PubMed Google Scholar

Editor information

Editors and Affiliations

  1. CRACS & INESC-Porto LA, Faculty of Science, University of Porto, Rua do Campo Alegre, 1021, 4169-007, Porto, Portugal

    Ricardo Rocha

  2. Galois, 421 SW 6th Ave. Suite 300, 97204, Portland, OR, USA

    John Launchbury

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Holk, E., Byrd, W.E., Willcock, J., Hoefler, T., Chauhan, A., Lumsdaine, A. (2011). Kanor. In: Rocha, R., Launchbury, J. (eds) Practical Aspects of Declarative Languages. PADL 2011. Lecture Notes in Computer Science, vol 6539. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-18378-2_16

Download citation

  • .RIS
  • .ENW
  • .BIB
  • DOI: https://doi.org/10.1007/978-3-642-18378-2_16

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-18377-5

  • Online ISBN: 978-3-642-18378-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Share this paper

Anyone you share the following link with will be able to read this content:

Sorry, a shareable link is not currently available for this article.

Provided by the Springer Nature SharedIt content-sharing initiative

Keywords

  • Reduction Operator
  • Communication Pattern
  • Evaluation Rule
  • Remote Memory
  • Collective Communication

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.

Publish with us

Policies and ethics

Search

Navigation

  • Find a journal
  • Publish with us
  • Track your research

Discover content

  • Journals A-Z
  • Books A-Z

Publish with us

  • Journal finder
  • Publish your research
  • Language editing
  • Open access publishing

Products and services

  • Our products
  • Librarians
  • Societies
  • Partners and advertisers

Our brands

  • Springer
  • Nature Portfolio
  • BMC
  • Palgrave Macmillan
  • Apress
  • Discover
  • Your US state privacy rights
  • Accessibility statement
  • Terms and conditions
  • Privacy policy
  • Help and support
  • Legal notice
  • Cancel contracts here

Not affiliated

Springer Nature

© 2025 Springer Nature