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 Oct Times are displayed in time zone: Beirut change
11:00 - 12:30: Language extensionGPCE 2019 at Ground floor conference room Chair(s): Adam WelcUber Technologies | |||
11:00 - 11:30 Talk | Foreign language interfaces by code migration GPCE 2019 Shigeru ChibaGraduate School of Information Science and Technology, The University of Tokyo | ||
11:30 - 11:50 Talk | A Language Feature to Unbundle Data at Will (Short Paper) GPCE 2019 Musa Al-hassyMcMaster University, Wolfram KahlMcMaster University, Jacques CaretteMcMaster University | ||
11:50 - 12:10 Talk | Parallel Nondeterministic Programming as a Language Extension to C (Short Paper) GPCE 2019 DOI Pre-print | ||
12:10 - 12:30 Talk | Agile Construction of Data Science DSLs (Tool Demo) GPCE 2019 Artur AndrzejakHeidelberg University, Kevin Kiefer, Diego CostaHeidelberg University, Oliver WenzHeidelberg University |