Using work-stealing to parallelize symbolic algorithms and parity game solvers

  • Tom Van Dijk (Speaker)

Activity: Talk or presentationInvited talkscience-to-science

Description

For multi-core computers, an important paradigm for parallel execution is task-based or fork-join parallelism. Typically this is implemented using work-stealing. This paradigm is a good fit for algorithms that contain recursion, but is also suitable in other contexts, for example the load-balancing of parallel computations on arrays. We apply work-stealing in several verification contexts. We parallelize operations on binary decision diagrams and on verification tools that use binary decision diagrams, where we apply work-stealing both on the low level of the individual operations and on the higher level of the search algorithms. We parallelize parity game solvers in the following two ways. We use work-stealing to parallelize backward search for attractor computation. We also use work-stealing to parallelize all steps of the strategy improvement algorithm. In these applications, using work-stealing is necessary but not sufficient to obtain a good performance. We must also avoid locking techniques and instead use lock-free techniques for scalable performance. We use lock-free techniques not only for the parallelized algorithms but also to implement the scalable work-stealing framework Lace with high multi-core scaling.
Period18 Jul 2018
Event titleFLOC 2018: FEDERATED LOGIC CONFERENCE 2018
Event typeConference
LocationUnited KingdomShow on map

Fields of science

  • 202006 Computer hardware
  • 603109 Logic
  • 102 Computer Sciences
  • 102031 Theoretical computer science
  • 102011 Formal languages
  • 102022 Software development
  • 102001 Artificial intelligence

JKU Focus areas

  • Computation in Informatics and Mathematics