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
|11:00 - 11:30|
Shigeru ChibaGraduate School of Information Science and Technology, The University of Tokyo
|11:30 - 11:50|
|11:50 - 12:10|
|12:10 - 12:30|