An embedded DSL for high performance declarative communication with correctness guarantees in C++

0Citations
Citations of this article
2Readers
Mendeley users who have this article in their library.
Get full text

Abstract

High performance programming using explicit communication calls needs considerable programming expertise to optimize. Tuning for performance often involves using asynchronous calls, running the risk of introducing bugs and making the program harder to debug. Techniques to prove desirable program properties, such as deadlock freedom, invariably incur significant performance overheads. We have developed a domain-specific language, embedded in C++, called Kanor that enables programmers to specify the communication declaratively in the Bulk Synchronous Parallel (BSP) style. Deadlock freedom is guaranteed for well-formed Kanor programs. We start with operational semantics for a subset of Kanor and prove deadlock freedom and determinism properties based on those semantics. We then show how the declarative nature of Kanor allows us to detect and optimize communication patterns.

Cite

CITATION STYLE

APA

Mahajan, N., Holk, E., Chauhan, A., & Lumsdaine, A. (2016). An embedded DSL for high performance declarative communication with correctness guarantees in C++. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 9519, pp. 206–220). Springer Verlag. https://doi.org/10.1007/978-3-319-29778-1_13

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free