An Extensionally Equivalence-ensured Language for Task Parallel Processing with Backtracking-based Load Balancing An Extensionally Equivalence-ensured Language for Task Parallel Processing with Backtracking-based Load Balancing

Tatsuya Abe and Tasuku Hiraishi. An Extensionally Equivalence-ensured Language for Task Parallel Processing with Backtracking-based Load Balancing. Journal of Information Processing, 29:434–448, 2021. DOI: 10.2197/ipsjjip.29.434

Backtracking-based load balancing is a promising method for task parallel processing with work stealing. Tascell is a framework for developing applications with backtracking-based load balancing. Users are responsible for ensuring the consistent behavior of Tascell programs when backtracking is triggered in the Tascell runtimes. Nevertheless, the operational semantics for Tascell programs have not been formally studied. Moreover, no extensional equivalence between Tascell programs is provided. In this paper, we formally specify operational semantics for Tascell programs and define extensional equivalence between Tascell programs using the Church–Rosser modulo equivalence notion in abstract rewriting theory. We propose left invertibility and well-formedness properties for Tascell programs, which ensure extensional equivalence between sequential and concurrent behaviors of Tascell programs. We also propose a domain-specific language based on reversible computation, which allows only symmetric pre/post-processing to update states. Tascell programs written in our language have left invertibility and well-formedness properties by construction. Finally, we confirm that Tascell programs to solve typical search problems such as pentomino puzzles, N-queens, and traveling salesman problems can be written in our language.

Members