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: (GMT+03:00) Beirut change
|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|