## Massively Parallel Chess (1994)

Venue: | In Proceedings of the Third DIMACS Parallel Implementation Challenge, Rutgers |

Citations: | 29 - 6 self |

### BibTeX

@INPROCEEDINGS{Joerg94massivelyparallel,

author = {Christopher Joerg and Bradley C. Kuszmaul},

title = {Massively Parallel Chess},

booktitle = {In Proceedings of the Third DIMACS Parallel Implementation Challenge, Rutgers},

year = {1994}

}

### Years of Citing Articles

### OpenURL

### Abstract

Computer chess provides a good testbed for understanding dynamic MIMD-style computations. To investigate the programming issues, we engineered a parallel chess program called *Socrates, which running on the NCSA's 512 processor CM-5, tied for third in the 1994 ACM International Computer Chess Championship. *Socrates uses the Jamboree algorithm to search game trees in parallel and uses the Cilk 1.0 language and run-time system to express and to schedule the computation. In order to obtain good performance for chess, we use several mechanisms not directly provided by Cilk, such as aborting computations and directly accessing the active message layer to implement a global transposition table distributed across the processors. We found that we can use the critical path C and the total work W to predict the performance of our chess programs. Empirically *Socrates runs in time T ß 0:95C+1:09W=P on P processors. For best-ordered uniform trees of height h and degree d the average available pa...

### Citations

429 | Scheduling multithreaded computations by work stealing
- Blumofe, Leiserson
- 1994
(Show Context)
Citation Context ...some problems we had with early versions of our *Tech program, Leiserson and Blumofe designed a provably good scheduler that has good space and time bounds, as well as low communications requirements =-=[BL94]-=-. Other parallel algorithms based on Scout search include minimal tree search, mandatory work first, and principal variation splitting. S. Akl, D. Barnard and R. Doran [ABD82] proposed the minimal tre... |

284 |
An analysis of alpha-beta pruning
- Knuth, Moore
- 1975
(Show Context)
Citation Context ...stop thinking about the move without having exhaustively searched all of Black's options. The idea of pruning subtrees that do not need to be searched is embodied in the serial ff-fi search algorithm =-=[KM75]-=-, which computes the negamax score for a node without actually looking at the entire search tree. The algorithm is expressed as a recursive subroutine with two new parameters ff and fi. If the value o... |

245 | The parallel evaluation of general arithmetic expressions - Brent - 1974 |

89 | Parallel Search of Strongly Ordered Game Trees
- Marsland, Campbell
- 1982
(Show Context)
Citation Context ...ttle parallelism, while MWF finds much parallelism. Any chess program that is searching worst-ordered trees is not competitive, however. Several programs use principal variant splitting (PVsplitting) =-=[MC82]-=-, which is a another variation on MWF, but the ideas behind PV-splitting are, like MWF, somewhat obscured by the fact that a tree-of-processors scheduler is entangled into the search algorithm. Later ... |

83 |
A minimax algorithm better than alpha-beta
- Stockman
- 1979
(Show Context)
Citation Context ...n. D. McAllester's Conspiracy search [McA88] expands the tree in such a way that to change the value of the root will require changing the values of many of the leaves of the tree. The SSS* algorithm =-=[Sto79]-=- applies branch and bound techniques to game tree search. These algorithms all require space which is nearly proportional to the run time of the algorithm, but the the constant of proportionality may ... |

76 |
Conspiracy numbers for min-max search
- McAllester
- 1988
(Show Context)
Citation Context ...[Ber79] tries to prove that one of the moves is better with respect to a pessimistic evaluation than any of the other moves with respect to an optimistic evaluation. D. McAllester's Conspiracy search =-=[McA88]-=- expands the tree in such a way that to change the value of the root will require changing the values of many of the leaves of the tree. The SSS* algorithm [Sto79] applies branch and bound techniques ... |

64 |
Asymptotical properties of minimax trees and game searching procedures
- Pearl
- 1980
(Show Context)
Citation Context ...Fail High (S15) If s ? ff then set ff s. (S16) If s ? b then set b s. (S17) enddo (S18) return b. Figure 4: Algorithm scout. Figure 4 shows the serial Scout search algorithm, which is due to J. Pearl =-=[Pea80]-=-. Procedure scout is similar to Procedure absearch, except that when considering any child that is not the first child, a test is first performed to determine if the child is no better a move than the... |

49 |
Large Scale Parallelization of Alpha-Beta Search: An Algorithmic and Architectural Study
- Hsu
- 1990
(Show Context)
Citation Context ...ages. But the analysis above gives us an upper bound on the cost of busywaiting. 11 Hsu claims that increasing the size of the hash table by a factor of 256 can easily give a factor of 2 to 5 speedup =-=[Hsu90]-=-. and before it completes and writes its result into the hash table Processor P2 begins another search of Position B. This leads to part of the search being duplicated. In the serial code these search... |

46 | Game tree search on a massively parallel system
- Feldmann, Mysliwietz, et al.
- 1993
(Show Context)
Citation Context ...rithm design. For example, Feldmann, Monien, and Mysliwietz find themselves changing their Zugzwang chess program to increase the parallelism without really having a good way to measure their changes =-=[FMM93]-=-. They express concern that by serially searching the first child before starting the other children they have reduced the available parallelism. Our technique allows us to state that there is suffici... |

38 |
Analysis of Speedup in Distributed Algorithms
- Fishburn
- 1981
(Show Context)
Citation Context ...ations or scheduling. For comparison, parallelized negamax search achieves linear speedup on worst-ordered trees, and Fishburn's MWF algorithm achieves not-quite linear speedup on worst-ordered trees =-=[Fis84]-=-. 2.6 Real Chess Trees For real chess trees, we found that the better the move ordering, the lower the critical path and the less total work is performed. Thus, the move ordering heuristics of a chess... |

37 | Synchronized MIMD Computing
- Kuszmaul
- 1994
(Show Context)
Citation Context ...4-91-J-1698. 1 http://csg-www.lcs.mit.edu:8001/Users/cfj/ 2 http://theory.lcs.mit.edu/bradley Championship held at the end of June 1994 in Cape May, New Jersey. *Socrates is a step forward from *Tech =-=[Kus94]-=-, our previous chess program. *Tech is based on H. Berliner's serial Hitech program [BE89], and running on NCSA's 512-node CM-5, tied for third in the 1993 ACM International Chess Championship. *Socra... |

35 |
Parallelism in alpha-beta search
- Finkel, Fishburn
(Show Context)
Citation Context ... bound to the true value. 4 R. Finkel and J. Fishburn showed that if the serialization implied by ff-fi pruning is ignored by a parallel program, then it will achieve only p P speedup on P processors =-=[FF82]-=-. (A1) Define absearch(n; ff; fi) as (A2) If n is a leaf then return static eval(n). (A3) Let ~c / the children of n, and (A4) b / \Gamma1: (A5) For i from 0 below j~cj do: (A6) Let s / \Gammaabsearch... |

26 | Applied statistics for engineers and physical scientists. 2nd ed. NewYork - RV, Ledolter - 1992 |

25 |
A parallel alpha/beta tree searching algorithm
- Hyatt, Suter, et al.
- 1989
(Show Context)
Citation Context ... node are worse alternatives than the first child. This approach to parallelizing game tree search is quite natural, and it has been used by several other parallel chess programs., such as Cray Blitz =-=[HSN89]-=- and Zugzwang [FMM91]. Still others have proposed or analyzed variations of this style of game tree search [ABD82, MC82, Fis84, Hsu90]. We do not claim that the search algorithm is a new contribution.... |

24 | A Fully Distributed Chess Program
- Feldmann, Mysliwietz, et al.
- 1990
(Show Context)
Citation Context ...natives than the first child. This approach to parallelizing game tree search is quite natural, and it has been used by several other parallel chess programs., such as Cray Blitz [HSN89] and Zugzwang =-=[FMM91]-=-. Still others have proposed or analyzed variations of this style of game tree search [ABD82, MC82, Fis84, Hsu90]. We do not claim that the search algorithm is a new contribution. Instead, we view the... |

20 | MIMD-Style Parallel Programming Based on Continuation-Passing Threads
- Halbherr, Zhou, et al.
- 1994
(Show Context)
Citation Context ...lected at random, and removes work from that processor's collection of posted work. The Cilk system was original based on the Parallel Continuation Machine run-time system of Halbherr, Zhou and Joerg =-=[HZJ94]-=-. In PCM, the scheduler uses a double ended queue (a deque) on every processor. When a processor posts work, it pushes it on the bottom of the deque. When a processor needs more work to do locally, it... |

18 |
Strata: A multi-layer communications library
- Brewer, Blumofe
(Show Context)
Citation Context ...e to implement a blocking transposition table. Since there is no way to implement this blocking mechanism using Cilk primitives, we dropped to a lower level and used the Strata active message library =-=[BB94]-=-. We designed the transposition table such that all accesses are atomic. For example when a value is to be put into the table, the information about the position is sent to the node where the entry re... |

18 | Yu Grosberg, and Toyoichi Tanaka. Enumerations of the hamiltonian walks on a cubic sublattice - Pande, Joerg, et al. - 1994 |

9 |
On parallel evaluation of game trees
- Karp, Zhang
- 1989
(Show Context)
Citation Context ..., including *Tech, use a serial aspiration search in which the game tree is searched with a small ff-fi window, and if the score is outside of the window, the tree is researched. R. Karp and Y. Zhang =-=[KZ89]-=- show how to search an AND/OR tree in parallel by carefully allocating the right number of processors to each subtree. C. Stein [Ste92] employs Karp and Zhang's algorithm as a subroutine to do a paral... |

8 | Rate your own computer - Kaufman - 1992 |

7 |
Another optimization of alpha-beta search
- Fishburn
- 1983
(Show Context)
Citation Context ... and can be parallelized. We started with a variant on serial ff-fi search, called Scout search, and modified it to be a parallel algorithm. This section explains the Scout search algorithm. Fishburn =-=[Fis83]-=-, who called it fail-soft ff-fi search. Fail-soft ff-fi search can return a value that is less than ff, in which case the value returned is an upper bound to the true value of the node, or the search ... |

7 | Rate your own computer — part II - Kaufman |

4 |
Evaluating game trees in parallel
- Stein
- 1992
(Show Context)
Citation Context ...tside of the window, the tree is researched. R. Karp and Y. Zhang [KZ89] show how to search an AND/OR tree in parallel by carefully allocating the right number of processors to each subtree. C. Stein =-=[Ste92]-=- employs Karp and Zhang's algorithm as a subroutine to do a parallel ff-fi search. Stein performs a binary search for the value of the game tree, at each stage converting the game tree to an AND/OR tr... |