skip to main content
10.1145/2931028.2931032acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
short-paper

Control structure overloading in X10

Published: 02 June 2016 Publication History

Abstract

The X10 programming language offers a simple but expressive model of concurrency and distribution. Domain Specific Languages embedded in X10 (eDSL) can build upon this model to offer scheduling and placement facilities tailored to particular patterns of applications, e.g. stencils or graph traversals. They exploit X10's rich type system and closures to offer flexible and precise functional interfaces, however, they are restricted by X10's rigid syntax. In this work, we propose an overloading mechanism enabling eDSLs to redefine or extend the behavior of X10 control structures. Loops can be parallelized or distributed. Exception handlers can triage and process exceptions arising from concurrent tasks. While our overloading mechanism requires augmenting the X10 syntax with new forms, the change to the syntax is small and intuitive. Overall, the combination of syntax and semantics we propose improves code readability over traditional X10 at no cost in run time performance.

References

[1]
The Swift Programming Language. Apple Inc., 2014.
[2]
V. Bandishti, I. Pananilath, and U. Bondhugula. Tiling stencil computations to maximize parallelism. In Proc. International Conference on High Performance Computing, Networking, Storage and Analysis, 2012.
[3]
I. J. Bertolacci, C. Olschanowsky, B. Harshbarger, B. L. Chamberlain, D. G. Wonnacott, and M. M. Strout. Parameterized diamond tiling for stencil computations with Chapel parallel iterators. In Proc. 29th ACM International Conference on Supercomputing, 2015.
[4]
B. Chamberlain, D. Callahan, and H. Zima. Parallel programmability and the Chapel language. Int. J. High Performance Computing Applications, 21(3), Aug. 2007.
[5]
P. Charles, C. Grothoff, V. Saraswat, C. Donawa, A. Kielstra, K. Ebcio˘glu, C. von Praun, and V. Sarkar. X10: an object-oriented approach to non-uniform cluster computing. In Proc. 20th Annual Conference on Object-Oriented Programming, Systems, Languages, and Applications, 2005.
[6]
D. de Rauglaudre. Camlp4 - Reference Manual. Institut National de Recherche en Informatique et Automatique, 2003.
[7]
A. Goldberg and D. Robson. Smalltalk-80: The Language and Its Implementation. Addison-Wesley Longman Publishing Co., Inc., 1983.
[8]
I. Karlin, J. Keasler, and R. Neely. LULESH 2.0 updates and changes. Technical Report LLNL-TR-641973, Lawrence Livermore National Laboratory, August 2013.
[9]
The Coq development team. The Coq proof assistant reference manual, 2015. URL http://coq.inria.fr. Version 8.5.
[10]
J. McCarthy. Recursive functions of symbolic expressions and their computation by machine, part I. Communications of the ACM, 3(4), Apr. 1960.
[11]
J. Milthorpe. Local parallel iteration in X10. In Proc. ACM SIGPLAN Workshop on X10, 2015.
[12]
J. Milthorpe, D. Grove, B. Herta, and O. Tardieu. Exploring the APGAS programming model using the LULESH proxy application. Technical Report RC25555 (WAT1509-050), IBM Research, 2015.
[13]
M. Odersky, L. Spoon, and B. Venners. Programming in Scala. Artima, 2008.
[14]
T. Rompf, N. Amin, A. Moors, P. Haller, and M. Odersky. Scala-Virtualized: linguistic reuse for deep embeddings. Higher-Order and Symbolic Computation, 25(1), 2013.
[15]
V. A. Saraswat, P. Kambadur, S. Kodali, D. Grove, and S. Krishnamoorthy. Lifeline-based global load balancing. In Proceedings of the 16th ACM Symposium on Principles and Practice of Parallel Programming, 2011.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
X10 2016: Proceedings of the 6th ACM SIGPLAN Workshop on X10
June 2016
33 pages
ISBN:9781450343862
DOI:10.1145/2931028
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 June 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. embedded domain specific languages
  2. syntax extension

Qualifiers

  • Short-paper

Funding Sources

  • U.S. Department of Energy, Office of Science

Conference

PLDI '16
Sponsor:

Acceptance Rates

Overall Acceptance Rate 5 of 5 submissions, 100%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 108
    Total Downloads
  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Feb 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media