Parallel Nondeterministic Programming as a Language Extension to C (Short Paper)
This short paper explores parallel nondeterministic programming as an extension to the C programming language; it provides new constructs for specification of code containing ambiguous choice as first introduced by McCarthy. A translator to plain C code was implemented as an extension to the AbleC language specification. Translation involves a transformation to continuation passing style, providing lazy choice by storing continuation closures in a separate task buffer. This exploration considers various strengths of search-ordering semantics, and their impact on correctness. Multiple search evaluation drivers were implemented, including single-threaded depth-first search, a combined breadth- and depth-first approach, as well as two approaches to parallelism. Multiple nondeterministic benchmark applications were created using the extension, including N-Queens, SAT, and triangle peg solitaire. The simplest parallel search driver, using independent threads, showed the best performance in most cases, providing a significant speedup over the sequential versions. The parallel search driver with the addition of task sharing between threads typically often showed similar performance.
Mon 21 OctDisplayed time zone: Beirut change
11:00 - 12:30 | |||
11:00 30mTalk | Foreign language interfaces by code migration GPCE 2019 Shigeru Chiba Graduate School of Information Science and Technology, The University of Tokyo | ||
11:30 20mTalk | A Language Feature to Unbundle Data at Will (Short Paper) GPCE 2019 Musa Al-hassy McMaster University, Wolfram Kahl McMaster University, Jacques Carette McMaster University | ||
11:50 20mTalk | Parallel Nondeterministic Programming as a Language Extension to C (Short Paper) GPCE 2019 DOI Pre-print | ||
12:10 20mTalk | Agile Construction of Data Science DSLs (Tool Demo) GPCE 2019 Artur Andrzejak Heidelberg University, Kevin Kiefer , Diego Costa Heidelberg University, Oliver Wenz Heidelberg University |