![Page 1: Transposition Driven Work Scheduling in Distributed Search](https://reader035.vdocuments.us/reader035/viewer/2022062805/56814d0a550346895dba41fd/html5/thumbnails/1.jpg)
Transposition Driven Work Scheduling in Distributed Search
Department of Computer Science
vrijevrije Universiteit amsterdamamsterdam
John W. RomeinAske PlaatHenri E. Bal
Jonathan Schaeffer
Department of Computing ScienceUniversity of Alberta
![Page 2: Transposition Driven Work Scheduling in Distributed Search](https://reader035.vdocuments.us/reader035/viewer/2022062805/56814d0a550346895dba41fd/html5/thumbnails/2.jpg)
Transposition tables
• Transposition table contains values for positions that have been searched before
• Accessed 1000s times per second
• Problem: how to share transposition tables efficiently on a distributed-memory system
• TDS solves this problem for 1-person games (puzzles)
• 2-person TDS would be more complicated
![Page 3: Transposition Driven Work Scheduling in Distributed Search](https://reader035.vdocuments.us/reader035/viewer/2022062805/56814d0a550346895dba41fd/html5/thumbnails/3.jpg)
Outline
• Traditional parallel search + distributed transposition tables
• Transposition Driven Scheduling
• Performance comparison
• Summarize TDS advantages
• Conclusions
![Page 4: Transposition Driven Work Scheduling in Distributed Search](https://reader035.vdocuments.us/reader035/viewer/2022062805/56814d0a550346895dba41fd/html5/thumbnails/4.jpg)
Traditional search: the search algorithm
• Parallel IDA*
– Uses work-stealing
• Many games have transpositions
– Same position reached throughdifferent sequence of moves
• A transposition table caches positions that have been analyzed before
![Page 5: Transposition Driven Work Scheduling in Distributed Search](https://reader035.vdocuments.us/reader035/viewer/2022062805/56814d0a550346895dba41fd/html5/thumbnails/5.jpg)
Traditional search: the distributed transposition table
Partitioned (based on a hash function)More processors increased table sizehigh lookup latency (blocking reads)
Replicatedupdates expensive
(broadcast writes)
![Page 6: Transposition Driven Work Scheduling in Distributed Search](https://reader035.vdocuments.us/reader035/viewer/2022062805/56814d0a550346895dba41fd/html5/thumbnails/6.jpg)
Transposition Driven Scheduling• Integrates IDA* and transposition table• Send work to table (non-blocking)• Advantages:
– All communication is asynchronous– Asynchronous messages can be combined
![Page 7: Transposition Driven Work Scheduling in Distributed Search](https://reader035.vdocuments.us/reader035/viewer/2022062805/56814d0a550346895dba41fd/html5/thumbnails/7.jpg)
Performance
• Approaches:
– TDS : Transposition Driven Scheduling
– WS/Part : Work Stealing + Partitioned tables
– WS/Repl : Work Stealing + Replicated tables
![Page 8: Transposition Driven Work Scheduling in Distributed Search](https://reader035.vdocuments.us/reader035/viewer/2022062805/56814d0a550346895dba41fd/html5/thumbnails/8.jpg)
Performance
• Applications:
– 15-puzzle
– double-blank puzzle
– Rubik’s cube• 128 Pentium Pros, 1.2 Gbit/s Myrinet• Highly optimized
– WS/Part uses customized network firmware [ICPP ’98]
![Page 9: Transposition Driven Work Scheduling in Distributed Search](https://reader035.vdocuments.us/reader035/viewer/2022062805/56814d0a550346895dba41fd/html5/thumbnails/9.jpg)
Performance (Cnt’d)
15-puzzledouble-blank puzzle
Rubik’s cube
![Page 10: Transposition Driven Work Scheduling in Distributed Search](https://reader035.vdocuments.us/reader035/viewer/2022062805/56814d0a550346895dba41fd/html5/thumbnails/10.jpg)
Performance breakdown(double blank puzzle)
![Page 11: Transposition Driven Work Scheduling in Distributed Search](https://reader035.vdocuments.us/reader035/viewer/2022062805/56814d0a550346895dba41fd/html5/thumbnails/11.jpg)
TDS advantages
• No duplicate searches
• Table access is local
• Communication is non-blocking
• Scales well
• No separate load balancing
![Page 12: Transposition Driven Work Scheduling in Distributed Search](https://reader035.vdocuments.us/reader035/viewer/2022062805/56814d0a550346895dba41fd/html5/thumbnails/12.jpg)
Conclusions
• TDS
– scheduling algorithm for parallel search
– integrates parallel IDA* with transposition table
• Performance comparison
– TDS scales well and outperforms work-stealing
• Illustrates power of asynchronous communication
• Same approach used to solve Awari