Suboptimal and Anytime Heuristic Search on Multi-core Machines 1 1 1 2 Ethan Burns , Seth Lemons , Wheeler Ruml and Rong Zhou 1 2 [Many thanks to NSF grant IIS-0812141] Ethan Burns (UNH) Heuristic Search for Multi-core – 1 / 38 Overview n Background Introduction n Overview u Parallel Retracting A* (PRA*, Evett et al., 1995) n Parallel Search u Parallel Best NBlock First Search (PBNF, Burns et al., IJCAI 2009) PRA* n New: Parallel bounded-suboptimal search. PBNF u Optimal Search Two pruning rules for approximate best-first suboptimal search Suboptimal Search n New: Parallel anytime search. Anytime Search Conclusion Ethan Burns (UNH) Heuristic Search for Multi-core – 2 / 38 Naive Parallel Search Introduction n Overview n Parallel Search PRA* PBNF Optimal Search Suboptimal Search Anytime Search Conclusion Ethan Burns (UNH) Heuristic Search for Multi-core – 3 / 38 Naive Parallel Search Introduction n Overview n Parallel Search PRA* PBNF Optimal Search Suboptimal Search Anytime Search Conclusion Ethan Burns (UNH) Heuristic Search for Multi-core – 3 / 38 Naive Parallel Search Introduction n Overview n Parallel Search PRA* PBNF Optimal Search Suboptimal Search Anytime Search Conclusion Ethan Burns (UNH) Heuristic Search for Multi-core – 3 / 38 Parallel Retracting A* (PRA*, Evett et al., 1995) n Distribute nodes among threads using a hash function. Introduction u PRA* Each node has a home thread. n Hashing Nodes u Duplicate detection can be performed locally at each n Communication thread. PBNF Optimal Search Suboptimal Search Anytime Search Conclusion Ethan Burns (UNH) Heuristic Search for Multi-core – 4 / 38 Parallel Retracting A* (PRA*, Evett et al., 1995) n May need to communicate nodes between threads at each Introduction generation. PRA* n Hashing Nodes n Non-blocking: HDA* (Kishimoto et al., best paper award n Communication ICAPS 2009) PBNF Optimal Search Suboptimal Search Anytime Search Conclusion Ethan Burns (UNH) Heuristic Search for Multi-core – 5 / 38 N Parallel Best block First (PBNF, Burns et al., 2009) n Work is divided among threads using a special hash function Introduction based on abstraction. (Zhou and Hansen, 2007) PRA* PBNF u Few possible destinations for children. n Abstraction n Nblocks n Detection Scope n Disjoint Scopes n PBNF Optimal Search Suboptimal Search Anytime Search Conclusion Ethan Burns (UNH) Heuristic Search for Multi-core – 6 / 38 N Parallel Best block First (PBNF, Burns et al., IJCAI 2009) n Work is divided among threads using a special hash function Introduction based on abstraction. PRA* PBNF u Threads search groups of nodes called nblocks. n Abstraction n Nblocks n Detection Scope n Disjoint Scopes n PBNF Optimal Search Suboptimal Search Anytime Search Conclusion Ethan Burns (UNH) Heuristic Search for Multi-core – 7 / 38 N Parallel Best block First (PBNF, Burns et al., IJCAI 2009) n Work is divided among threads using a special hash function Introduction based on abstraction. PRA* PBNF u nblocks have an open and closed list. n Abstraction n Nblocks n Detection Scope n Disjoint Scopes n PBNF Optimal Search Suboptimal Search Anytime Search Conclusion Ethan Burns (UNH) Heuristic Search for Multi-core – 8 / 38
Description: