Changes

Jump to: navigation, search

Parallel Search

84,256 bytes added, 10:44, 11 May 2018
Created page with "'''Home * Search * Parallel Search''' FILE:DrDobbsParallelScalability.jpg|border|right|thumb|link=http://www.drdobbs.com/high-performance-computing/206903..."
'''[[Main Page|Home]] * [[Search]] * Parallel Search'''

[[FILE:DrDobbsParallelScalability.jpg|border|right|thumb|link=http://www.drdobbs.com/high-performance-computing/206903306|Parallel scalability <ref>[http://www.drdobbs.com/high-performance-computing/206903306 Super Linearity and the Bigger Machine] from [http://www.drdobbs.com/index.jhtml Dr. Dobb's]</ref> ]]

'''Parallel Search''', <br/>
also known as '''Multithreaded Search''' or [[SMP]] Search, is a way to increase [[Search|search]] speed by using additional [https://en.wikipedia.org/wiki/Central_Processing_Unit processors]. This topic that has been gaining popularity recently with [https://en.wikipedia.org/wiki/Multiprocessing multiprocessor] computers becoming widely available. Utilizing these additional processors is an interesting domain of research, as traversing a search tree is inherently serial. Several approaches have been devised, with the most popular today being [[Young Brothers Wait Concept]] and [[Shared Hash Table]] aka [[Lazy SMP]].

This page gives a brief summary of the different types. SMP algorithms are classified by their [https://en.wikipedia.org/wiki/Scalability scalability] (trend in search speed as the number of processors becomes large) and their [https://en.wikipedia.org/wiki/Speedup speedup] (change in time to complete a search). Typically, programmers use '''scaling''' to mean change in [[Nodes per second|nodes per second]] (NPS) rates, and speedup to mean change in time to [[Depth|depth]]. Scaling and scalability are thus two different concepts.

=Distributed Search=
A subtype of [https://en.wikipedia.org/wiki/Parallel_algorithm parallel algorithms], [https://en.wikipedia.org/wiki/Distributed_algorithms distributed algorithms] are algorithms designed to work in [https://en.wikipedia.org/wiki/Cluster_computing cluster computing] and [https://en.wikipedia.org/wiki/Distributed_computing distributed computing] environments, where additional concerns beyond the scope of "classical" parallel algorithms need to be addressed.

=Shared Hash Table=
''see Main page: [[Shared Hash Table]]''

This technique is a very simple approach to [[SMP]]. The implementation requires little more than starting additional processors. Processors are simply fed the root position at the beginning of the search, and each searches the same tree with the only communication being the [[transposition table]]. The gains come from the effect of nondeterminism. Each processor will finish the various subtrees in varying amounts of time, and as the search continues, these effects grow making the search trees diverge. The speedup is then based on how many nodes the main processor is able to skip from transposition table entries. Many programs used this if a "quick and dirty" approach to SMP is needed. It had the reputation of little speedup on a mere 2 processors, and to scale quite badly after this.
<span id="Lazy"></span>
==Lazy SMP==
''see Main page: [[Lazy SMP]]''

Recent improvements by [[Dan Homan]] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=46858 Lazy SMP, part 2] by [[Dan Homan|Daniel Homan]], [[CCC]], January 12, 2013</ref> , [[Martin Sedlak]] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=55188 Lazy SMP in Cheng] by [[Martin Sedlak]], [[CCC]], February 02, 2015</ref> and others on '''Lazy''' SMP indicate that the algorithm scales quite well up to 8 cores and beyond <ref>[http://www.talkchess.com/forum/viewtopic.php?t=55170&start=11 Re: A new chess engine : m8 (comming not so soon)] by [[Peter Österlund]], [[CCC]], February 01, 2015</ref> .

==ABDADA==
''see Main page: [[ABDADA]]''

[[ABDADA]], Alpha-Bêta Distribué avec Droit d'Aînesse (Distributed Alpha-Beta Search with Eldest Son Right) is a loosely synchronized, distributed search algorithm by [[Jean-Christophe Weill]] <ref>[[Jean-Christophe Weill]] ('''1996'''). ''The ABDADA Distributed Minimax Search Agorithm''. Proceedings of the 1996 ACM Computer Science Conference, pp. 131-138. ACM, New York, N.Y, reprinted [[ICGA Journal#19_1|ICCA Journal, Vol. 19, No. 1]], [http://www.recherche.enac.fr/%7Eweill/publications/acm.ps.gz zipped postscript]</ref> . It is based on the [[Shared Hash Table]], and adds the number of processors searching this node inside the hash-table entry for better utilization - considering the [[Young Brothers Wait Concept]].
<span id="ParallelAlphaBeta"></span>
=Parallel Alpha-Beta=
These algorithms divide the [[Alpha-Beta]] tree, giving different subtrees to different processors. Because alpha-beta is a serial algorithm, this approach is much more complex. However, these techniques also provide for the greatest gains from additional processors.
<span id="PrincipalVariationSplitting"></span>
==Principal Variation Splitting (PVS)==
In Principal Variation Splitting (PVS), each [[Node|node]] is expressed by a [[Thread|thread]]. A thread will spawn one child thread for each legal move. But data dependency specified by the algorithm exists among these threads: After getting a tighter bound from the thread corresponding to the PV node, the remaining threads are ready to run.
[[FILE:PVSplit.JPG|none|border|text-bottom|629px]]
PV Splitting <ref>[[Yaoqing Gao]], [[Tony Marsland]] ('''1996'''). ''Multithreaded Pruned Tree Search in Distributed Systems''. Journal of Computing and Information, 2(1), 482-492, [http://www.cs.ualberta.ca/%7Etony/RecentPapers/icci.pdf pdf]</ref>

==YBWC and Jamboree==
The idea in [[Rainer Feldmann|Feldmann's]] [[Young Brothers Wait Concept]] (YBWC) <ref>[[Rainer Feldmann]], [[Peter Mysliwietz]], [[Burkhard Monien]] ('''1991'''). ''A Fully Distributed Chess Program''. [[Advances in Computer Chess 6]], [http://www.top-5000.nl/ps/A%20fully%20distribuited%20chess%20program.pdf pdf]</ref> <ref>[[Rainer Feldmann]] ('''1993'''). ''Game Tree Search on Massively Parallel Systems''. Ph.D. Thesis, [http://www2.cs.uni-paderborn.de/fachbereich/AG/monien/PUBLICATIONS/POSTSCRIPTS/feldmann_phd.pdf pdf]</ref> as well in [[Bradley Kuszmaul|Kuszmaul's]] [[Jamboree|Jamboree Search]] <ref>[[Chris Joerg|Christopher F. Joerg]], [[Bradley Kuszmaul|Bradley C. Kuszmaul]] ('''1994'''). ''Massively Parallel Chess'', [http://supertech.csail.mit.edu/papers/dimacs94.pdf pdf]</ref> <ref>[[Bradley Kuszmaul|Bradley C. Kuszmaul]] ('''1994'''). ''Synchronized MIMD Computing''. Ph. D. Thesis, [[Massachusetts Institute of Technology]], [http://supertech.csail.mit.edu/papers/thesis-kuszmaul.pdf pdf]</ref> <ref>[[Bradley Kuszmaul|Bradley C. Kuszmaul]] ('''1995'''). ''The StarTech Massively Parallel Chess Program''. [http://supertech.csail.mit.edu/papers/startech.pdf pdf]</ref> , is to search the first sibling node first before spawning the remaining siblings in parallel. This is based on the observations that the first move is either going to produce a cutoff (in which case processing sibling nodes is wasted effort) or return much better bounds. If the first move does not produce a cut-off, then the remaining moves are searched in parallel. This process is [[Recursion|recursive]].

Since the number of processors is not infinite the process of "spawning" work normally consists in putting it on some kind of "work to be done stack" where processors are free to grab work in FIFO fashion when there is no work to do. In YBW you would not "spawn" or place work on the stack until the first sibling is searched.

In their 1983 paper ''Improved Speedup Bounds for Parallel Alpha-Beta Search'' <ref>[[Raphael Finkel]], [[John Philip Fishburn]] ('''1983'''). ''Improved Speedup Bounds for Parallel Alpha-Beta Search''. [[IEEE#TPAMI|IEEE Transactions on Pattern Analysis and Machine Intelligence]], Vol. 5, No. 1, pp. 89 - 92</ref> , [[Raphael Finkel]] and [[John Philip Fishburn]] already gave the theoretical confirmation to the common sense wisdom that parallel resources should first be thrown into searching the first child. Assuming the tree is already in an approximation to best-first order, this establishes a good alpha value that can then be used to parallel search the later children. The algorithm in the 1982 Artificial Intelligence paper <ref>[[Raphael Finkel]], [[John Philip Fishburn]] ('''1982'''). ''Parallelism in Alpha-Beta Search''. [https://en.wikipedia.org/wiki/Artificial_Intelligence_%28journal%29 Artificial Intelligence], Vol. 19, No. 1</ref> , which Fishburn called the "dumb algorithm" in his 1981 thesis presentation <ref>[[John Philip Fishburn]] ('''1981'''). ''Analysis of Speedup in Distributed Algorithms''. Ph.D. Thesis, [http://www.cs.wisc.edu/techreports/1981/TR431.pdf pdf]</ref> gives p^0.5 speedup with p processors, while the 1983 PAMI algorithm (the "smart algorithm") gives p^0.8 speedup for lookahead trees with the [[Branching Factor|branching factor]] of chess.

==Dynamic Tree Splitting (DTS)==
''Main page: [[Dynamic Tree Splitting]]''

This algorithm, invented by the [[Cray Blitz]] team (including [[Robert Hyatt]] <ref>[[Robert Hyatt]] ('''1994'''). ''[http://www.craftychess.com/hyatt/search.html The DTS high-performance parallel tree search algorithm]''</ref> ), is the most complex. Though this gives the best known scalability for any SMP algorithm, there are very few programs using it because of its difficulty of implementation.

=Other Approaches=
Many different approaches have been tried that do not directly split the search tree. These algorithms have not enjoyed popular success due to the fact that they are not scalable. Typical examples include one processor that evaluates positions fed to it by a searching processor, or a tactical search that confirms or refutes a positional search.

* [[APHID]]
* [[GridChess#OptimisticPondering|Optimistic Pondering]]
* [[Shu Yokoyama#PGPP|P-GPP]]

=Taxonomy=
Overview and taxonomy of parallel algorithms based on [[Alpha-Beta|alpha-beta]], given by [[Mark Brockington]], [[ICGA Journal#19_3|ICCA Journal, Vol. 19: No. 3]] in 1996 <ref>[[Mark Brockington]] ('''1996'''). ''A Taxonomy of Parallel Game-Tree Search Algorithms''. [[ICGA Journal#19_3|ICCA Journal, Vol. 19: No. 3]]</ref>
{| class="wikitable"
|-
! First<br/>Described
! Algorithm
! Author(s)
! Processor Hierarchy /<br/> Control Distribution
! Parallelism Possible<br/>At These Nodes
! Synchronisation Done<br/>At These Nodes
|-
! 1978
| Parallel Aspiration Search
| [[Gérard M. Baudet]]
| Static/Centralized
| [[Root]] ([[Window|αβ - Window]])
| Root
|-
! 1979
| Mandatory Work First
| [[Selim Akl]] et al.
| Static/Centralized
| [[Node Types#PV|Type-1]]+[[Node Types#ALL|3]]+
Leftmost child of 3
| Bad [[Node Types#CUT|Type-2]]
|-
! 1980
| Tree Splitting
| [[Raphael Finkel]],<br/>[[John Philip Fishburn]]
| Static/Centralized
| Top k-ply
| [[Root]]
|-
! 1981
| [[Parallel Search#PrincipalVariationSplitting|PVS]]
| [[Tony Marsland]],<br/>[[Murray Campbell]]
| Static/Centralized
| [[Node Types#PV|Type-1]]
| Type-1
|-
! 1983
| Key Node
| [[Gary Lindstrom]]
| Static/Centralized
| [[Node Types#PV|Type-1]]+[[Node Types#ALL|3]]+<br/>Leftmost child of 3
| Bad [[Node Types#CUT|Type-2]]
|-
! 1986
| UIDPABS <ref>UIDPABS = Unsynchronized Iteratively Deepening Parallel Alpha-Beta Search</ref>
| [[Monroe Newborn]]
| Static/Centralized
| [[Root]]
| None
|-
! rowspan="4" | 1987
| DPVS
| [[Jonathan Schaeffer]]
| Dynamic/Centralized
| [[Node Types#PV|Type-1]]+[[Node Types#ALL|3]]+[[Node Types#CUT|2]]
| [[Node Types#PV|Type 1]]+[[Node Types#ALL|3]]+Bad [[Node Types#CUT|2]]
|-
| EPVS
| [[Robert Hyatt]],<br/>[[Bruce W. Suter]],<br/>[[Harry Nelson]]
| Dynamic/Centralized
| [[Node Types#PV|Type-1]]+[[Node Types#ALL|3]]
| [[Node Types#PV|Type-1]]+[[Node Types#ALL|3]]
|-
| [[Waycool]]
| [[Ed Felten]],<br/>[[Steve Otto]]
| Dynamic/Distributed
| All, except [[Node Types#CUT|Type-2]]<br/>with no [[Transposition Table|TT-Entry]]
| Nodes with TT <br/>& no [[Beta-Cutoff|cutoff]]
|-
| [[Young Brothers Wait Concept|YBWC]]
| [[Rainer Feldmann]]
| Dynamic/Distributed
| [[Node Types#PV|Type-1]]+[[Node Types#ALL|3]]+Bad [[Node Types#CUT|2]]
| [[Node Types#PV|Type-1]]+Bad [[Node Types#CUT|2]]
|-
! rowspan="2" | 1988
| [[Dynamic Tree Splitting]]
| [[Robert Hyatt]]
| Dynamic/Distributed
| [[Node Types#PV|Type-1]]+[[Node Types#ALL|3]]+Bad [[Node Types#CUT|2]]
| [[Node Types#PV|Type-1]]+Bad [[Node Types#CUT|2]]
|-
| Bound-and-Branch
| [[Chris Ferguson]], <br/>[[Richard Korf]]
| Dynamic/Distributed
| [[Node Types#PV|Type-1]]+[[Node Types#ALL|3]]+Bad [[Node Types#CUT|2]]
| [[Node Types#PV|Type-1]]+Bad [[Node Types#CUT|2]]
|-
! 1990
| Delayed Branch <br/>Tree Expansion
| [[Feng-hsiung Hsu]]
| Static/Centralized
| [[Node Types#PV|Type-1]]+[[Node Types#ALL|3]]
| Bad [[Node Types#CUT|Type-2]]
|-
! rowspan="2" | 1993
| Frontier Splitting
| [[Paul Lu]]
| Dynamic/Distributed
| All
| [[Root]]
|-
| αβ*
| [[Vincent David]]
| Dynamic/Distributed
| [[Node Types#PV|Type-1]]+[[Node Types#ALL|3]]
| [[Node Types#PV|Type-1]]+[[Node Types#ALL|3]]+Bad [[Node Types#CUT|2]]
|-
! rowspan="2" | 1994
| CABP <ref>CABP = Concurrent Alpha-Beta Pruning</ref>
| [[Van-Dat Cung]]
| Static/Centralized
| [[Node Types#PV|Type-1]]+[[Node Types#ALL|3]]
| Bad [[Node Types#CUT|Type-2]]
|-
| [[Jamboree]]
| [[Bradley Kuszmaul]]
| Dynamic/Distributed
| [[Node Types#PV|Type-1]]+[[Node Types#ALL|3]]+Bad [[Node Types#CUT|2]]
| [[Node Types#PV|Type-1]]+Bad [[Node Types#CUT|2]]
|-
! rowspan="2" | 1995
| [[ABDADA]]
| [[Jean-Christophe Weill]]
| Dynamic/Distributed
| [[Node Types#PV|Type-1]]+[[Node Types#ALL|3]]+Bad [[Node Types#CUT|2]]
| [[Node Types#PV|Type-1]]+Bad [[Node Types#CUT|2]]
|-
| Dynamic Multiple PV-Split
| [[Tony Marsland]], <br/>[[Yaoqing Gao]]
| Dynamic/Distributed
| Nodes within PV set
| Nodes within PV set
|-
! 1996
| [[APHID]]
| [[Mark Brockington]],<br/>[[Jonathan Schaeffer]]
| Static/Centralized
| Top k-ply
| None
|}

=Other Considerations=
==Memory Design==
* [[NUMA]]
* [[SMP]]

==Semaphores==
During an parallel search, certain areas of memory must be protected to make sure processors do not write simultaneously and corrupt the data. Some type of [https://en.wikipedia.org/wiki/Semaphore_%28programming%29 semaphore] system must be used. Semaphores access a piece of [https://en.wikipedia.org/wiki/Shared_memory shared memory], typically an integer. When a processor wants to access protected memory, it reads the integer. If it is zero, meaning no other process is accessing the memory, then the processor attempts to make the integer nonzero. This whole process must be done atomically, meaning that the read, compare, and write are all done at the same time. Without this atomicity another processor could read the integer at the same time and both would see that they can freely access the memory.

In chess programs that use parallel alpha-beta, usually [https://en.wikipedia.org/wiki/Spinlock spinlocks] are used. Because the semaphores are held for such short periods of time, processors want to waste as little time as possible after the semaphore is released before acquiring access. To do this, if the semaphore is held when a processor reaches it, the processor continuously reads the semaphore. This technique can waste a lot of processing time in applications with high contention, meaning that many processes try to access the same semaphore simultaneously. In chess programs, however, we want as much processing power as possible.

Spinlocks are sometimes implemented in [[Assembly|assembly language]] because the operating system does not have an [https://en.wikipedia.org/wiki/Application_programming_interface API] for them.
<span id="ThreadsVsProcesses"></span>
==Threads vs. Processes==
There are two ways of utilizing the extra processing power of multiple CPUs, [[Thread|threads]] and [[Process|processes]]. The difference between them is that threads share all memory in the program, but there are multiple threads of execution. In processes, all memory is local to each processor except memory that is explicitly shared. This means that in a threaded program, functions must pass around an extra argument specifying which thread is active, thus which board structure to use. When using processes, a single global board can be used that will be duplicated for each process.

Threads are more common, because they are easier to debug as well as implement, provided the program does not already have lots of global variables. Processes are favored by some because the need to explicitly share memory makes subtle bugs easier to avoid. Also, in processes, the extra argument to most functions is not needed.

Some programs that use threads:
* [[Crafty]] <ref>It should also be noted that [[Crafty]] uses threads on [[Windows]], and used processes on [[Unix]]</ref> <ref>[http://www.talkchess.com/forum/viewtopic.php?t=22799 threads vs processes again] by [[Robert Hyatt]], [[CCC]], February 27, 2006</ref>
* [[Zappa]]
* [[Glaurung]]
* Pretty much every other program...

Some programs that use processes:
* [[Rybka]]
* [[Diep]]
* [[Deep Sjeng]]
* [[ZCT]]

=Didactic Programs=
* [[APIL chess]] by [[Ulf Lorenz]]
* [[Viper]] by [[Tord Romstad]]

=See also=
* [[Tord Romstad#Video|Parallelism and Selectivity in Game Tree Search | Video]], Talk by [[Tord Romstad]]
* [[Cilk]]
* [[Depth#DiminishingReturns|Diminishing Returns]]
* [[GPU]]
* [[Iterative Search]]
* [[Parallel Prefix Algorithms]]
* [[SIMD and SWAR Techniques]]
* [[SMP Engines]]

=Publications=
==1950 ...==
* [https://en.wikipedia.org/wiki/Stanley_Gill Stanley Gill] ('''1958'''). ''[http://comjnl.oxfordjournals.org/content/1/1/2.abstract Parallel Programming]''. [http://comjnl.oxfordjournals.org/content/1/1.toc The Computer Journal, Vol. 1, No. 1]
==1970 ...==
* [[Gérard M. Baudet]] ('''1978'''). ''The Design and Analysis of Algorithms for Asynchronous Multiprocessors''. Ph.D. thesis, [[Carnegie Mellon University]], advisor [[Mathematician#Kung|Hsiang-Tsung Kung]]
==1980 ...==
* [[Tony Marsland]], [[Murray Campbell]], A. L. Rivera ('''1980'''). ''Parallel Search of Game Trees.'' Technical Report TR 80-7, Computing Science Department, [[University of Alberta]], [https://webdocs.cs.ualberta.ca/~tony/TechnicalReports/TR80-7.pdf pdf]
* [[Raphael Finkel]], [[Marvin Solomon]] ('''1980'''). ''The Arachne Kernel.'' Version 1.2 Technical Report 380, [https://en.wikipedia.org/wiki/University_of_Wisconsin-Madison University of Wisconsin-Madison], [http://ftp.cs.wisc.edu/pub/techreports/1980/TR380.pdf pdf]
* [[Raphael Finkel]], [[John Philip Fishburn]] ('''1980'''). ''Parallel Alpha-Beta Search on Arachne.'' [[IEEE]] International Conference on Parallel Processing, pp. 235-243.
* [[Gérard M. Baudet]], [[Mathematician#Brent|Richard P. Brent]], [[Mathematician#Kung|Hsiang-Tsung Kung]] ('''1980'''). ''[http://wwwmaths.anu.edu.au/%7Ebrent/pub/pub058.html Parallel Execution of a Sequence of tasks on a Asynchronous Multiprocessor]''. Australian Computer Journal 12(3): 105-112, [http://wwwmaths.anu.edu.au/%7Ebrent/pd/rpb058i.pdf pdf]
* [[Selim Akl]], [http://umanitoba.ca/admin/president/bio.html David T. Barnard], [http://research.cs.queensu.ca/TechReports/authorsD.html#Doran,%20R.J. R.J. Doran], ('''1980'''). ''Design, analysis and implementation of a parallel alpha-beta algorithm'', Department of Computing and Information Science, Queen's University, Kingston, Ontario.
* [[Selim Akl]], [http://umanitoba.ca/admin/president/bio.html David T. Barnard], [http://research.cs.queensu.ca/TechReports/authorsD.html#Doran,%20R.J. R.J. Doran] ('''1980'''). ''Simulation and Analysis in Deriving Time and Storage Requirements for a Parallel Alpha-Beta Pruning Algorithm''. [[IEEE]] International Conference on Parallel Processing, pp. 231-234.
* [[Selim Akl]], [http://umanitoba.ca/admin/president/bio.html David T. Barnard], [http://research.cs.queensu.ca/TechReports/authorsD.html#Doran,%20R.J. R.J. Doran] ('''1980'''). ''Searching game trees in parallel'', Proceedings of the Third Biennial Conference of the Canadian Society for Computational Studies of Intelligence, Victoria, B.C.
'''1981'''
* [[John Philip Fishburn]] ('''1981'''). ''Analysis of Speedup in Distributed Algorithms''. Ph.D. Thesis, [http://www.cs.wisc.edu/techreports/1981/TR431.pdf pdf]
* [[Selim Akl]], [http://research.cs.queensu.ca/TechReports/authorsD.html#Doran,%20R.J. R.J. Doran] ('''1981'''). ''A comparison of parallel implementations of the alpha-beta and Scout tree search algorithms using the game of checkers'', Department of Computing and Information Science, Queen's University, Kingston, Ontario.
* [[Tony Marsland]], [[Murray Campbell]] ('''1981'''). ''Parallel Search of Strongly Ordered Game Trees''. Technical Report TR 81-9, Department of Computing Science , [[University of Alberta]], [https://webdocs.cs.ualberta.ca/~tony/TechnicalReports/TR81-9.pdf pdf]
'''1982'''
* [[Tony Marsland]], [[Murray Campbell]] ('''1982'''). ''Parallel Search of Strongly Ordered Game Trees.'' [[ACM#Surveys|ACM Computing Surveys]], Vol. 14, No. 4, pp. 533-551. [http://www.cs.ualberta.ca/%7Etony/OldPapers/strong.pdf pdf]
* [[Tony Marsland]], [[Murray Campbell]] ('''1982'''). ''A Study of Parallel Tree Search Algorithms''. Technical Report TR 82-4, Computing Science Department, [[University of Alberta]], [https://webdocs.cs.ualberta.ca/~tony/TechnicalReports/TR82-4.pdf pdf]
* [[Raphael Finkel]], [[John Philip Fishburn]] ('''1982'''). ''Parallelism in Alpha-Beta Search''.[https://en.wikipedia.org/wiki/Artificial_Intelligence_%28journal%29 Artificial Intelligence], Vol. 19, No. 1
* [[Monroe Newborn]], ('''1982'''). ''OSTRICH/P - a parallel search chess program, SOCS-82.3,'' [[McGill University]], School of Computer Science, Montreal.
* [[Selim Akl]], [http://umanitoba.ca/admin/president/bio.html David T. Barnard], [http://research.cs.queensu.ca/TechReports/authorsD.html#Doran,%20R.J. R.J. Doran] ('''1982'''). ''Design, Analysis, and Implementation of a Parallel Tree Search Algorithm''. [[IEEE#TPAMI|IEEE Transactions on Pattern Analysis and Machine Intelligence]], Vol. 4, No. 2, pp. 192-203. ISSN 0162-8828
'''1983'''
* [[Raphael Finkel]], [[John Philip Fishburn]] ('''1983'''). ''Improved Speedup Bounds for Parallel Alpha-Beta Search''. [[IEEE#TPAMI|IEEE Transactions on Pattern Analysis and Machine Intelligence]], Vol. 5, No. 1, pp. 89 - 92
* [[Clyde Kruskal]] ('''1983'''). ''[http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1676138 Searching, Merging, and Sorting in Parallel Computation]''. [[IEEE#TOC|IEEE Transactions on Computers]]
* [[Gary Lindstrom]] ('''1983'''). ''The Key Node Method: A Highly-Parallel Alpha-Beta Algorithm''. Technical Report UUCCS 83-101, [https://en.wikipedia.org/wiki/University_of_Utah University of Utah], [http://content.lib.utah.edu/utils/getfile/collection/uspace/id/3706/filename/image pdf]
'''1984'''
* [[Lionel Moser]] ('''1984'''). ''An Experiment in Distributed Game Tree Searching'', M.Sc. thesis, [[University of Waterloo]] <ref>[[Jonathan Schaeffer]] ('''1985'''). ''[[Lionel Moser]]: An Experiment in Distributed Game Tree Searching.'' [[ICGA Journal#8_2|ICCA Journal, Vol. 8, No. 2]] (Review)</ref> <ref>[http://www.cs.uwaterloo.ca/~alopez-o/divulge/chimp.html An Introduction to Computer Chess] by [http://www.cs.uwaterloo.ca/~alopez-o/ Alejandro López-Ortiz], 1993</ref>
==1985 ...==
* [[Tony Marsland]], [[Fred Popowich]] ('''1985'''). ''Parallel Game-Tree Search.'' [[IEEE#TPAMI|IEEE Transactions on Pattern Analysis and Machine Intelligence]], Vol. 7, No. 4, pp. 442-452. [http://webdocs.cs.ualberta.ca/~tony/OldPapers/parallel.pdf 1984 pdf] (Draft)
* [[Baruch Awerbuch]] ('''1985'''). ''[http://www.sciencedirect.com/science/article/pii/0020019085900833 A New Distributed Depth-First Search Algorithm]''. [https://en.wikipedia.org/wiki/Information_Processing_Letters Information Processing Letters], Vol. 20, No. 3
* [[Monroe Newborn]] ('''1985'''). ''A Parallel Search Chess Program''. Proceedings of the ACM Annual Conference, pp. 272-277. Denver, Co.
* [[Clyde Kruskal]], [https://en.wikipedia.org/wiki/Alan_Weiss_%28mathematician%29 Alan Weiss] ('''1985'''). ''Allocating Independent Subtasks on Parallel Processors''. [https://en.wikipedia.org/wiki/IEEE_Transactions_on_Software_Engineering IEEE Transactions on Software Engineering], Vol. 11
* [http://www.informatik.uni-trier.de/~ley/pers/hd/l/Leifker:Daniel_B=.html Daniel B. Leifker], [[Laveen Kanal|Laveen N. Kanal]] ('''1985'''). ''[http://dl.acm.org/citation.cfm?id=1623687 A Hybrid SSS*/Alpha-Beta Algorithm for Parallel Search of Game Trees]''. [http://www.informatik.uni-trier.de/~ley/db/conf/ijcai/ijcai85.html#LeifkerK85 IJCAI'85] » [[SSS* and Dual*]]
'''1986'''
* [[Tony Marsland]], [[Marius Olafsson]], [[Jonathan Schaeffer]] ('''1986'''). ''Multiprocessor Tree-Search Experiments''. [[Advances in Computer Chess 4]]
* [[Henri Bal]], [[Robbert van Renesse]] ('''1986'''). ''Parallel Alpha-Beta Search''. 4th NGI-SION Symposium Stimulerende Informatica. Jaarbeurs Utrecht, The Netherlands
* [[Henri Bal]], [[Robbert van Renesse]] ('''1986'''). ''A Summary of Parallel Alpha-Beta Search Results''. [[ICGA Journal#9_3|ICCA Journal, Vol 9, No. 3]]
* [[Jonathan Schaeffer]] ('''1986'''). ''Improved Parallel Alpha-Beta Searching''. Proceedings ACM/IEEE Fall Joint Computer Conference, pp. 519-527.
* [[Rainer Feldmann]], [[Peter Mysliwietz]], [[Oliver Vornberger]] ('''1986'''). ''A Local Area Network Used as a Parallel Architecture''. Technical Report 31, [[University of Paderborn]]
'''1987'''
* [http://www.onesource.com/free/Usui-Hiromoto/People/Profile/51361305-8 Hiromoto Usui], [http://www.informatik.uni-trier.de/~ley/pers/hd/y/Yamashita:Masafumi.html Masafumi Yamashita], [http://www.informatik.uni-trier.de/~ley/pers/hd/i/Imai:Masaharu.html Masaharu Imai], [[Toshihide Ibaraki]] ('''1987'''). ''Parallel Searches of Game Tree''. Systems and Computer in Japan, Vol. 18, No. 8, pp. 97-109.
'''1988'''
* [[Jonathan Schaeffer]] ('''1988'''). ''Distributed Game-Tree Searching''. Journal of Parallel and Distributed Computing, Vol. 6, No. 2, pp. 90-114.
* [https://en.wikipedia.org/wiki/Chris_Ferguson Chris Ferguson], [[Richard Korf]] ('''1988'''). ''Distributed Tree Search and its Application to Alpha-Beta Pruning.'' Proceedings of AAAI-88, Vol. I, pp. 128-132. Saint Paul, MN, [http://www.aaai.org/Papers/AAAI/1988/AAAI88-023.pdf pdf]
* [[Monroe Newborn]] ('''1988'''). ''Unsynchronized Iterative Deepening Parallel Alpha-Beta Search''. IEEE Transactions on Pattern Analysis and Machine Intelligence, PAMI, Vol. 10, No. 5, pp. 687-694. ISSN 0162-8828.
* [[Ed Felten]], [[Steve Otto]] ('''1988'''). ''[https://authors.library.caltech.edu/71250/ Chess on a Hypercube]''. The Third Conference on Hypercube Concurrent Computers and Applications, Vol. II-Applications
* [[Robert Hyatt]] ('''1988'''). ''A High-Performance Parallel Algorithm to Search Depth-First Game Trees''. Ph.D. Thesis, Department of Computer Science, [[University of Alabama at Birmingham]]
* [[Maarten van der Meulen]] ('''1988'''). ''Parallel Conspiracy-Number Search''. M.Sc. thesis, Faculty of Mathematics and Computer Science, [https://en.wikipedia.org/wiki/Vrije_Universiteit Vrije Universteit, Amsterdam]
* [[Matthew Huntbach]], [[F. Warren Burton]] ('''1988'''). ''[http://www.sciencedirect.com/science/article/pii/0020025588900540 Alpha-beta search on virtual tree machines]''. [http://www.journals.elsevier.com/information-sciences/ Information Sciences], Vol. 44, No. 1
'''1989'''
* [[Lynn Sutherland]] ('''1989'''). ''Load Balancing Search Problems on General-Purpose Multi-Computers''. [[WCCC 1989#Workshop|Workshop on New Directions in Game-Tree Search]]
* [[Rainer Feldmann]], [[Burkhard Monien]], [[Peter Mysliwietz]], [[Oliver Vornberger]] ('''1989'''). ''Distributed Game-Tree Search''. [[ICGA Journal#12_2|ICCA Journal, Vol. 12, No. 2]]
* [[Henri Bal]] ('''1989'''). ''[http://dare.ubvu.vu.nl/handle/1871/12760?mode=full&submit_simple=Show+full+item+record The shared data-object model as a paradigm for programming distributed systems]''. Ph.D. thesis, [https://en.wikipedia.org/wiki/Vrije_Universiteit Vrije Universiteit]
* [[Robert Hyatt]], [[Bruce W. Suter]], [[Harry Nelson]] ('''1989'''). ''A Parallel Alpha-Beta Tree Searching Algorithm''. Parallel Computing, Vol. 10, No. 3, pp. 299-308. ISSN 0167-8191.
* [[Igor Steinberg]], [[Marvin Solomon]] ('''1989'''). ''Searching Game Trees in Parallel''. Technical report 877, [ftp://ftp.cs.wisc.edu/pub/techreports/1989/TR877.pdf pdf]
* [[Richard Karp]], [[Yanjun Zhang]] ('''1989'''). ''[http://dl.acm.org/citation.cfm?id=72979&dl=ACM&coll=DL&CFID=67253533&CFTOKEN=20355103 On parallel evaluation of game trees]''. [http://www.informatik.uni-trier.de/%7Eley/db/conf/spaa/spaa89.html SPAA '89]
* [[Feng-hsiung Hsu]] ('''1989'''). ''Large Scale Parallelization of Alpha-beta Search: An Algorithmic and Architectural Study with Computer Chess''. Ph.D. thesis, Technical report CMU-CS-90-108, [[Carnegie Mellon University]], advisor [[Mathematician#Kung|Hsiang-Tsung Kung]]
==1990 ...==
* [[Rainer Feldmann]], [[Peter Mysliwietz]], [[Burkhard Monien]] ('''1991''') ''A Fully Distributed Chess Program''. [[Advances in Computer Chess 6]], [http://www.top-5000.nl/ps/A%20fully%20distribuited%20chess%20program.pdf pdf]
'''1992'''
* [[Jaleh Rezaie]], [[Raphael Finkel]], ('''1992'''). ''A comparison of some parallel game-tree search algorithms'', [ftp://ftp.cs.uky.edu/cs/techreports/214-92.ps.gz zipped postscript]
* [[Rainer Feldmann]], [[Peter Mysliwietz]], [[Burkhard Monien]] ('''1992'''). ''Experiments with a Fully Distributed Chess Program''. [[3rd Computer Olympiad#Workshop|Heuristic Programming in AI 3]]
* [[Rainer Feldmann]], [[Peter Mysliwietz]], [[Burkhard Monien]] ('''1992'''). ''Distributed Game Tree Search on a Massively Parallel System''. Data Structures and Efficient Algorithms, B. Monien, Th. Ottmann (eds.), Springer, Lecture Notes in Computer Science, 594, 1992, 270-288
'''1993'''
* [[Rainer Feldmann]] ('''1993'''). ''Game Tree Search on Massively Parallel Systems''. Ph.D. Thesis, [http://www2.cs.uni-paderborn.de/fachbereich/AG/monien/PUBLICATIONS/POSTSCRIPTS/feldmann_phd.pdf pdf]
* [[Vincent David]] ('''1993'''). ''[http://cat.inist.fr/?aModele=afficheN&cpsidt=161774 Algorithmique parallèle sur les arbres de décision et raisonnement en temps contraint. Etude et application au Minimax]'' = Parallel algorithm for heuristic tree searching and real-time reasoning. Study and application to the Minimax, Ph.D. Thesis, [https://en.wikipedia.org/wiki/%C3%89cole_nationale_sup%C3%A9rieure_de_l%27a%C3%A9ronautique_et_de_l%27espace École nationale supérieure de l'aéronautique et de l'espace], [https://en.wikipedia.org/wiki/Toulouse Toulouse], [https://en.wikipedia.org/wiki/France France]
* [[Paul Lu]] ('''1993'''). ''[http://webdocs.cs.ualberta.ca/~paullu/MScThesis/thesis.html Parallel Search of Narrow Game Trees]''. M.Sc. Thesis, [[University of Alberta]]
* [[Van-Dat Cung]] ('''1993'''). ''Parallelizations of Game-Tree Search''. [http://dblp.uni-trier.de/db/conf/parco/parco1993.html#Cung93 PARCO 1993], [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.48.6959&rep=rep1&type=pdf pdf] hosted by [https://en.wikipedia.org/wiki/CiteSeer CiteSeerX]
'''1994'''
* [[Robert Hyatt]] ('''1994'''). ''[http://www.craftychess.com/hyatt/search.html The DTS high-performance parallel tree search algorithm]''.
* [[Bradley Kuszmaul|Bradley C. Kuszmaul]] ('''1994'''). ''Synchronized MIMD Computing''. Ph. D. Thesis, [[Massachusetts Institute of Technology]], [http://supertech.csail.mit.edu/papers/thesis-kuszmaul.pdf pdf]
* [[Chris Joerg|Christopher F. Joerg]], [[Bradley Kuszmaul|Bradley C. Kuszmaul]] ('''1994'''). ''Massively Parallel Chess'', [http://supertech.csail.mit.edu/papers/dimacs94.pdf pdf]
* [[Van-Dat Cung]] ('''1994'''). ''Contribution à l'Algorithmique Non Numérique Parallèle : Exploration d'Espaces de Recherche''. Ph.D. thesis, [[University of Paris|University of Paris VI]]
* [[Paolo Ciancarini]] ('''1994'''). ''Distributed Searches: a Basis for Comparison.'' [[ICGA Journal#17_4|ICCA Journal, Vol. 17, No. 4]], [ftp://ftp.cs.unibo.it/pub/cianca/iccaj2.ps.gz zipped postscript]
* [[Mark Brockington]] ('''1994'''). ''An Implementation of the Young Brothers Wait Concept''. Internal report, [[University of Alberta]]
* [[Mark Brockington]] ('''1994'''). ''Improvements to Parallel Alpha-Beta Algorithms''. Technical report, Department of Computing Science, [[University of Alberta]]
==1995 ...==
* [[Bradley Kuszmaul|Bradley C. Kuszmaul]] ('''1995'''). ''The StarTech Massively Parallel Chess Program''. [http://supertech.csail.mit.edu/papers/startech.pdf pdf]
* [[Henri Bal]] and [[Victor Allis]] ('''1995'''). ''Parallel Retrograde Analysis on a Distributed System''. Supercomputing ’95, San Diego, CA.
* [[Jean-Christophe Weill]] ('''1995'''). ''Programmes d'Échecs de Championnat: Architecture Logicielle Synthèse de Fonctions d'Évaluations, Parallélisme de Recherche''. Ph.D. Thesis. Université Paris 8, Saint-Denis, [http://www.recherche.enac.fr/%7Eweill/publications/phdJCW.ps.gz zipped ps] (French)
* [[Holger Hopp]], [[Peter Sanders]] ('''1995'''). ''Parallel Game Tree Search on SIMD Machines''. [http://www.informatik.uni-trier.de/~ley/db/conf/irregular/irregular95.html#HoppS95 IRREGULAR 1995], from [http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.16.6343 CiteSeerX]
* [[Tony Marsland]] and [[Yaoqing Gao]] ('''1995'''). ''Speculative Parallelism Improves Search?'' Technical Report 95-05, Department of Computing Science, [[University of Alberta]], [http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.54.2187 CiteSeerX]
'''1996'''
* [[Jean-Christophe Weill]] ('''1996'''). ''The ABDADA Distributed Minimax Search Agorithm''. Proceedings of the 1996 ACM Computer Science Conference, pp. 131-138. ACM, New York, N.Y, reprinted [[ICGA Journal#19_1|ICCA Journal, Vol. 19, No. 1]], [http://www.recherche.enac.fr/%7Eweill/publications/acm.ps.gz zipped postscript]
* [[Ulf Lorenz]], [[Valentin Rottmann]] ('''1996''') ''Parallel Controlled Conspiracy-Number Search'' - [[Advances in Computer Chess 8]]
* [[Yaoqing Gao]], [[Tony Marsland]] ('''1996'''). ''Multithreaded Pruned Tree Search in Distributed Systems''. Journal of Computing and Information, 2(1), 482-492, [http://www.cs.ualberta.ca/%7Etony/RecentPapers/icci.pdf pdf]
* [[Mark Brockington]], [[Jonathan Schaeffer]] ('''1996'''). ''The APHID Parallel αβ Search Algorithm''. Technical Report 96-07, Department of Computing Science, [[University of Alberta]], Edmonton, Alberta, Canada. as [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.23.8215&rep=rep1&type=pdf pdf] from [http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.23.8215 CiteSeerX]
* [[Mark Brockington]] ('''1996'''). ''A Taxonomy of Parallel Game-Tree Search Algorithms''. [[ICGA Journal#19-3|ICCA Journal, Vol. 19, No. 3]]
* [[Bernhard Balkenhol]] ('''1996'''). ''Problems in Sequential and Parallel Game Tree Search''. [https://en.wikipedia.org/wiki/Bielefeld_University Bielefeld University], [http://www.mathematik.uni-bielefeld.de/sfb343/preprints/pre97001.ps.gz zipped ps]
* [http://www.informatik.uni-trier.de/~ley/pers/hd/l/Li:Ming.html Ming Li], [[John Tromp]], [[Mathematician#PVitany|Paul M. B. Vitányi]] ('''1996'''). ''How to Share Concurrent Wait-Free Variables''. [[ACM#Journal|Journal of the ACM]], Vol. 43, No. 4
'''1997'''
* [[Robert Hyatt]] ('''1997'''). ''[http://www.craftychess.com/hyatt/search.html The Dynamic Tree-Splitting Parallel Search Algorithm]'', [[ICGA Journal#20_1|ICCA Journal, Vol. 20, No. 1]]
* [[Andrew Tridgell]] ('''1997'''). ''KnightCap — a parallel chess program on the AP1000+''. [ftp://us6.samba.org/pub/tridge/knightcap_pcw97.ps.gz zipped ps] » [[KnightCap]]
* [[Mark Brockington]], [[Jonathan Schaeffer]] ('''1997'''). ''APHID Game-Tree Search''. [[Advances in Computer Chess 8]]
* [[David Sturgill]] and [[Alberto Maria Segre]] ('''1997'''). ''[http://www.springerlink.com/content/j11186905500t384/ Nagging: A Distributed, Adversarial Search-Pruning Technique Applied to First-Order Inference]''. [https://en.wikipedia.org/wiki/Journal_of_Automated_Reasoning Journal of Automated Reasoning], Vol. 19, No. 3 <ref>[https://en.wikipedia.org/wiki/Nagging Nagging from Wikipedia]</ref>
'''1998'''
* [[Mark Brockington]] ('''1998'''). ''Asynchronous Parallel Game-Tree Search''. Ph.D. Thesis, [[University of Alberta]], [http://games.cs.ualberta.ca/articles/mgb_thesis.ps.gz zipped postscript]
* [[Rainer Feldmann]], [[Burkhard Monien]] ('''1998'''). ''[http://www2.cs.uni-paderborn.de/fachbereich/AG/monien/PUBLICATIONS/ABSTRACTS/FM_T3E.html Selective Game Tree Search on a Cray T3E]''. [http://www2.cs.uni-paderborn.de/fachbereich/AG/monien/PUBLICATIONS/POSTSCRIPTS/FM_T3E.ps.Z ps]
* [[Craig S. Bruce]] ('''1998'''). ''[http://uwspace.uwaterloo.ca/handle/10012/300 Performance Optimization for Distributed-Shared-Data Systems]''. Ph.D. thesis, [[University of Waterloo]]
'''1999'''
* [[Don Dailey]], [[Charles Leiserson|Charles E. Leiserson]] ('''1999'''). ''Using Cilk to Write Multiprocessor Chess Programs'', [http://supertech.csail.mit.edu/papers/icca99.pdf pdf]
* [[Kevin Steele]] ('''1999'''). ''[https://students.cs.byu.edu/~snell/Classes/CS584/projectsF99/steele/report.html Parallel Alpha-Beta Pruning of Game Decision Trees: A Chess Implementation]''. CS 584 Fall 1999 Semester Project Report, [https://en.wikipedia.org/wiki/Brigham_Young_University Brigham Young University]
* [[Mark Brockington]], [[Jonathan Schaeffer]] ('''1999'''). ''APHID: Asynchronous Parallel Game-Tree Search''. Department of Computing Science, [[University of Alberta]], Edmonton, Alberta, Canada. as [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.33.9870&rep=rep1&type=pdf pdf] from [http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.33.9870 CiteSeerX]
* [[John Romein]], [[Aske Plaat]], [[Henri Bal]], [[Jonathan Schaeffer]] ('''1999'''). ''Transposition Table Driven Work Scheduling in Distributed Search''. [[AAAI|AAAI-99]], [https://www.aaai.org/Papers/AAAI/1999/AAAI99-103.pdf pdf] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=57343&start=5 Re: scorpio can run on 8192 cores] by [[Daniel Shawul]], [[CCC]], August 29, 2015</ref> <ref>[https://en.wikipedia.org/wiki/Transposition-driven_scheduling Transposition-driven scheduling - Wikipedia]</ref>
==2000 ...==
* [[John Romein]], [[Henri Bal]], [[Mathematician#DGrune|Dick Grune]] ('''2000'''). ''The Multigame Reference Manual''. [https://en.wikipedia.org/wiki/Vrije_Universiteit Vrije Universiteit], [http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=B2397A260C8166B1B31EC4779585EA5F?doi=10.1.1.32.1664&rep=rep1&type=pdf pdf]
'''2001'''
* [[John Romein]] ('''2001'''). ''Multigame - An Environment for Distributed Game-Tree Search''. Ph.D. thesis, [https://en.wikipedia.org/wiki/Vrije_Universiteit Vrije Universiteit], supervisor [[Henri Bal]], [http://dare.ubvu.vu.nl/bitstream/1871/11305/1/5429.pdf pdf]
* [[Yaron Shoham]], [[Sivan Toledo]] ('''2001'''). ''Parallel randomized best-first minimax search''. School of Computer Science, [https://en.wikipedia.org/wiki/Tel_Aviv_University Tel-Aviv University], [http://www.tau.ac.il/%7Estoledo/Pubs/rbf-ai-revised.pdf pdf]
* [[Valavan Manohararajah]] ('''2001'''). ''Parallel Alpha-Beta Search on Shared Memory Multiprocessors''. Masters Thesis, [http://www.top-5000.nl/ps/Parallel%20Alpha-Beta%20Search%20on%20Shared%20Memory%20Multiprocessors.pdf pdf]
* [http://www.zib.de/schintke/ Florian Schintke], [http://pc2.uni-paderborn.de/people/jens-simon/ Jens Simon], [[Alexander Reinefeld]] ('''2001'''). ''A Cache Simulator for Shared Memory Systems''. International Conference on Computational Science ICCS 2001, San Francisco, CA, Springer LNCS 2074, vol. 2, pp. 569-578. [http://www.zib.de/reinefeld/Publications/ldasim-lncs.ps.gz zipped ps]
'''2002'''
* [[Akihiro Kishimoto]], [[Jonathan Schaeffer]]. ('''2002'''). ''Distributed Game-Tree Search Using Transposition Table Driven Work Scheduling'', In Proc. of 31st International Conference on Parallel Processing (ICPP'02), pages 323-330, IEEE Computer Society Press. [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.132.8604&rep=rep1&type=pdf pdf] via [http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.132.8604 CiteSeerX]
* [[Akihiro Kishimoto]], [[Jonathan Schaeffer]]. ('''2002'''). ''Transposition Table Driven Work Scheduling in Distributed Game-Tree Search'' (Best Paper Prize), In Proc. of Fifteenth Canadian Conference on Artificial Intelligence (AI'2002), volume 2338 of Lecture Notes in Artificial Intelligence (LNAI), pages 56-68, [http://www.springerlink.com/content/47b3crn04egmmx8l/ Springer]
* [[John Romein]], [[Henri Bal]], [[Jonathan Schaeffer]], [[Aske Plaat]] ('''2002'''). ''A Performance Analysis of Transposition-Table-Driven Scheduling in Distributed Search''. IEEE Transactions on Parallel and Distributed Systems, Vol. 13, No. 5, pp. 447–459. [http://www.cs.vu.nl/~bal/Papers/tds.pdf pdf] » [[Transposition Table]] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=47700 Transposition driven scheduling] by [[Daniel Shawul]], [[CCC]], April 04, 2013</ref>
* [[Alberto Maria Segre]], [[Sean Forman]], [[Giovanni Resta]], [[Andrew Wildenberg]] ('''2002'''). ''Nagging: A Scalable Fault-Tolerant Paradigm for Distributed Search''. [https://en.wikipedia.org/wiki/Artificial_Intelligence_%28journal%29 Artificial Intelligence] 140, [http://jmvidal.cse.sc.edu/library/segre02a.pdf pdf], [http://compepi.cs.uiowa.edu/uploads/Profiles/Segre/nag.pdf pdf]
'''2003'''
* [[Brian Greskamp]] ('''2003'''). ''Parallelizing a Simple Chess Program''. [http://iacoma.cs.uiuc.edu/~greskamp/pdfs/412.pdf pdf]
'''2004'''
* [[David Rasmussen]] ('''2004'''). ''Parallel Chess Searching and Bitboards''. Masters Thesis, [http://www2.imm.dtu.dk/pubdb/views/edoc_download.php/3267/ps/imm3267.ps postscript]
==2005 ...==
* [[Jan Renze Steenhuisen]] ('''2005'''). ''Transposition-Driven Scheduling in Parallel Two-Player State-Space Search''. Masters Thesis, [http://www.pds.ewi.tudelft.nl/%7Eepema/MSc-theses/MSc-thesis-Steenhuisen.pdf pdf]
'''2006'''
* [http://ptolemy.berkeley.edu/~eal/ Edward A. Lee] ('''2006'''). ''[http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-1.html The Problem with Threads]''. Technical Report No. UCB/EECS-2006-1, [[University of California, Berkeley]], [http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-1.pdf pdf]
'''2007'''
* [[Vladan Vučković]] ('''2007'''). ''The Method of the Chess Search Algorithms - Parallelization using Two-Processor distributed System'', [http://facta.junis.ni.ac.rs/mai/mai222/f22-2-175-188.pdf pdf]
* [[Tristan Cazenave]], [[Nicolas Jouandeau]] ('''2007'''). ''On the Parallelization of UCT''. [[CGW 2007]], [http://www.lamsade.dauphine.fr/~cazenave/papers/parallelUCT.pdf pdf] » [[UCT]]
* [[Keijirou Yanagi]], [[Kazutomo Shibahara]], [[Yasuhiro Tajima]], [[Yoshiyuki Kotani]] ('''2007'''). ''Multiple Parallel Search in Shogi''. [[Conferences#GPW|12th Game Programming Workshop]]
'''2008'''
* [[Guillaume Chaslot]], [[Mark Winands]], [[Jaap van den Herik]] ('''2008'''). ''[http://link.springer.com/chapter/10.1007/978-3-540-87608-3_6 Parallel Monte-Carlo Tree Search]''. [[CG 2008]], [https://dke.maastrichtuniversity.nl/m.winands/documents/multithreadedMCTS2.pdf pdf]
* [[Tristan Cazenave]], [[Nicolas Jouandeau]] ('''2008'''). ''[http://link.springer.com/chapter/10.1007/978-3-540-87608-3_7 A Parallel Monte-Carlo Tree Search Algorithm]''. [[CG 2008]], [http://www.lamsade.dauphine.fr/%7Ecazenave/papers/parallelMCTS.pdf pdf]
* [[Sylvain Gelly]], [[Jean-Baptiste Hoock]], [[Arpad Rimmel]], [[Olivier Teytaud]], [http://fr.linkedin.com/pub/yann-kalemkarian/7/7aa/716 Yann Kalemkarian] ('''2008'''). ''The Parallelization of Monte-Carlo Planning - Parallelization of MC-Planning''. ICINCO-ICSO 2008: 244-249, [http://hal.archives-ouvertes.fr/docs/00/28/78/67/PDF/icin08.pdf pdf], [http://www.lri.fr/~teytaud/UCTpara.pdf slides as pdf]
* [[Kai Himstedt]], [[Ulf Lorenz]], [http://www.informatik.uni-hamburg.de/TIS/index.php Dietmar P. F. Möller] ('''2008'''). ''A Twofold Distributed Game-Tree Search Approach Using Interconnected Clusters''. Euro-Par 2008: 587-598, [http://www.springerlink.com/content/2471845u5w6j1211/ abstract] from [http://www.springerlink.com/home/main.mpx springerlink]
* [[Tristan Cazenave]], [[Nicolas Jouandeau]] ('''2008'''). ''A Parallel Monte-Carlo Tree Search Algorithm''. [http://www.lamsade.dauphine.fr/~cazenave/papers/parallelMCTS.pdf pdf]
* [[James Swafford]] ('''2008'''). ''A Survey of Parallel Search Algorithms over Alpha-Beta Search Trees using Symmetric Multiprocessor Machines''. Masters Project, [https://en.wikipedia.org/wiki/East_Carolina_University East Carolina University], advisor [http://www.cs.ecu.edu/rws/ Ronnie Smith]
'''2009'''
* [[Markus Enzenberger]], [[Martin Müller]] ('''2009'''). ''A lock-free multithreaded Monte-Carlo tree search algorithm'', [[Advances in Computer Games 12]], [http://webdocs.cs.ualberta.ca/~mmueller/ps/enzenberger-mueller-acg12.pdf pdf]
* [[Alexander Reinefeld]] ('''2009'''). ''Parallel Heuristic Search''. In: [http://titan.princeton.edu/ C.A. Floudas], [http://www.ise.ufl.edu/pardalos/ P.M. Pardalos] (eds.), [http://www.springer.com/mathematics/book/978-0-387-74758-3 Encyclopedia of Optimization 2nd ed]. pp 2908-2912
* [[Tristan Cazenave]], [[Nicolas Jouandeau]] ('''2009'''). ''Parallel Nested Monte-Carlo Search''. NIDISC 2009, [http://www.lamsade.dauphine.fr/~cazenave/papers/parallelNested.pdf pdf]
* T.M. Balajee, Adithya Udupa, Anil Kumar, D. Namratha ('''2009'''). ''[http://software.intel.com/en-us/articles/aggrandizement-of-board-games-performance-on-multi-core-systems-taking-gnu-chess-as-a-prototype/ Aggrandizement of Board Games’ Performance on Multi-core Systems: Taking GNU-Chess as a prototype]''. [https://en.wikipedia.org/wiki/B.M.S._College_of_Engineering BMS College of Engineering], Faculty mentor: Professor [http://de.slideshare.net/ashokkumars75 Ashok Kumar], [http://software.intel.com/en-us Intel® Developer Zone] » [[GNU Chess]]
==2010 ...==
* [[Amine Bourki]], [[Guillaume Chaslot]], [[Matthieu Coulm]], [[Vincent Danjean]], [[Hassen Doghmen]], [[Thomas Hérault]], [[Jean-Baptiste Hoock]], [[Arpad Rimmel]], [[Fabien Teytaud]], [[Olivier Teytaud]], [[Paul Vayssière]], [[Ziqin Yu]] ('''2010'''). ''[http://hal.inria.fr/inria-00512854/en/ Scalability and Parallelization of Monte-Carlo Tree Search]''. [[CG 2010]], [http://hal.inria.fr/docs/00/51/28/54/PDF/newcluster.pdf pdf]
* [[Tsan-sheng Hsu]] ('''2010'''). ''Parallel Alpha-Beta Based Game Tree Search'', slides as [http://www.iis.sinica.edu.tw/~tshsu/tcg2010/slides/slide13.pdf pdf]
* [[Dan Wu]], [[Pan Chen]], [[Kui Dai]], [[Jinli Rao]], [[Xuecheng Zou]] ('''2010'''). ''[http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5571732 Implementation of Parallel Game Tree Search on a SIMD System]''. [https://en.wikipedia.org/wiki/Huazhong_University_of_Science_and_Technology Huazhong University of Science & Technology], [https://en.wikipedia.org/wiki/Wuhan Wuhan], [https://en.wikipedia.org/wiki/People%27s_Republic_of_China China], [http://ieeexplore.ieee.org/xpl/tocresult.jsp?isnumber=5570817 ICIE 2010], Vol. 1
* [[Tomoyuki Kaneko]] ('''2010'''). ''Parallel Depth First Proof Number Search''. [http://www.informatik.uni-trier.de/~ley/db/conf/aaai/aaai2010.html#Kaneko10 AAAI 2010] » [[Proof-Number Search]]
'''2011'''
* [[Jean Méhat]], [[Tristan Cazenave]] ('''2011'''). ''A Parallel General Game Player''. [http://www.kuenstliche-intelligenz.de/ KI Journal], Vol. 25, No. 1, [http://www.lamsade.dauphine.fr/~cazenave/papers/rootparallelggp.pdf pdf]
* [[Kazuki Yoshizoe]], [[Akihiro Kishimoto]], [[Tomoyuki Kaneko]], [[Haruhiro Yoshimoto]], [[Yutaka Ishikawa]] ('''2011'''). ''Scalable Distributed Monte Carlo Tree Search''. [http://www.informatik.uni-trier.de/~ley/db/conf/socs/socs2011.html#YoshizoeKKYI11 SoCS2011], [http://www.is.titech.ac.jp/~kishi/pdf_file/socs2011pmcts.pdf pdf]
* [[Ľubomír Lackovič]] ('''2011'''). ''[http://hgpu.org/?p=5772 Parallel Game Tree Search Using GPU]''. Institute of Informatics and Software Engineering, [https://en.wikipedia.org/wiki/Faculty_of_Informatics_and_Information_Technologies Faculty of Informatics and Information Technologies], [https://en.wikipedia.org/wiki/Slovak_University_of_Technology_in_Bratislava Slovak University of Technology in Bratislava], [http://acmbulletin.fiit.stuba.sk/vol3num2/lackovic.pdf pdf] » [[GPU]]
* [[Khondker Shajadul Hasan]] ('''2011'''). ''A Distributed Chess Playing Software System Model Using Dynamic CPU Availability Prediction''. [http://www.world-academy-of-science.org/worldcomp11/ws SERP 2011], [http://world-comp.org/p2011/SER3956.pdf pdf]
* [http://www.cs.rice.edu/%7Ejohnmc/ John Mellor-Crummey] ('''2011'''). ''Shared-memory Parallel Programming with Cilk''. [https://en.wikipedia.org/wiki/Rice_University Rice University], [http://www.clear.rice.edu/comp422/lecture-notes/comp422-2011-Lecture4-Cilk.pdf slides as pdf] » [[Cilk]]
* [[Lars Schaefers]], [[Marco Platzner]], [[Ulf Lorenz]] ('''2011'''). ''UCT-Treesplit - Parallel MCTS on Distributed Memory''. MCTS Workshop, Freiburg, Germany, [http://www.cs.uni-paderborn.de/fileadmin/Informatik/AG-Platzner/People/Schaefers/TreesplitICAPS.pdf pdf] » [[UCT]]
* [[Tobias Graf]], [[Ulf Lorenz]], [[Marco Platzner]], [[Lars Schaefers]] ('''2011'''). ''Parallel Monte-Carlo Tree Search for HPC Systems''. [http://www.informatik.uni-trier.de/~ley/db/conf/europar/europar2011-2.html Euro-Par 2011], [http://www.cs.uni-paderborn.de/fileadmin/Informatik/AG-Platzner/People/Schaefers/uctTreesplit.pdf pdf]
* [[Damjan Strnad]], [[Nikola Guid]] ('''2011'''). ''[http://cit.fer.hr/index.php/CIT/article/view/2029 Parallel Alpha-Beta Algorithm on the GPU]''. [http://cit.fer.hr/index.php/CIT CIT. Journal of Computing and Information Technology], Vol. 19, No. 4 » [[GPU]], [[Othello|Reversi]]
'''2012'''
* [[Chih-Hung Chen]], [[Shun-Shii Lin]], [[Min-Huei Huang]] ('''2012'''). ''Volunteer Computing System Applied to Computer Games''. [[TCGA 2012|TCGA 2012 Workshop]], [http://www.tcga.tw/tcgapaper/2012/P2.pdf pdf]
* [[Liang Li]], [[Hong Liu]], [[Peiyu Liu]], [[Taoying Liu]], [[Wei Li]], [[Hao Wang]] ('''2012'''). ''[http://ieeexplore.ieee.org/document/6337852/ A Node-based Parallel Game Tree Algorithm Using GPUs]''. CLUSTER 2012, [https://pdfs.semanticscholar.org/be21/d7b9b91957b700aab4ce002e6753b826ff54.pdf pdf] » [[GPU]]
'''2013'''
* [[Kunihito Hoki]], [[Tomoyuki Kaneko]], [[Akihiro Kishimoto]], [[Takeshi Ito]] ('''2013'''). ''Parallel Dovetailing and its Application to Depth-First Proof-Number Search''. [[ICGA Journal#36_1|ICGA Journal, Vol. 36, No. 1]] » [[Proof-Number Search]] <ref>[https://en.wikipedia.org/wiki/Dovetailing_%28computer_science%29 Dovetailing (computer science) from Wikipedia]</ref>
* [[Jakub Pawlewicz]], [[Ryan Hayward]] ('''2013'''). ''Scalable Parallel DFPN Search''. [[CG 2013]]
* [https://www.rrze.fau.de/wir-ueber-uns/organigramm/mitarbeiter/index.shtml/georg-hager.shtml Georg Hager] <ref>[https://blogs.fau.de/hager/ Georg Hager's Blog | Random thoughts on High Performance Computing]</ref>, [http://dblp.uni-trier.de/pers/hd/t/Treibig:Jan Jan Treibig], [http://dblp.uni-trier.de/pers/hd/w/Wellein:Gerhard Gerhard Wellein] ('''2013'''). ''The Practitioner's Cookbook for Good Parallel Performance on Multi- and Many-Core Systems''. [https://de.wikipedia.org/wiki/Regionales_Rechenzentrum_Erlangen RRZE], [http://sc13.supercomputing.org/ SC13], [https://blogs.fau.de/hager/files/2013/11/sc13_tutorial_134.pdf slides as pdf]
'''2014'''
* [https://plus.google.com/113202287320302059445/about Paul E. McKenney] ('''2014'''). ''[https://www.kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html Is Parallel Programming Hard, And, If So, What Can You Do About It?]''. [https://www.kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook-e1p.pdf pdf]
* [[Lars Schaefers]] ('''2014'''). ''Parallel Monte-Carlo Tree Search for HPC Systems and its Application to Computer Go''. Ph.D. thesis, [[University of Paderborn]], advisors [[Marco Platzner]], [[Ulf Lorenz]], [http://www.althofer.de/phd-thesis-schaefers.pdf pdf], [https://www.dropbox.com/s/x0lh7ky5lvj6c1y/PhdThesisSchaefers.pdf pdf]
* [[S. Ali Mirsoleimani]], [[Aske Plaat]], [[Jaap van den Herik]], [[Jos Vermaseren]] ('''2014'''). ''Performance analysis of a 240 thread tournament level MCTS Go program on the Intel Xeon Phi''. [http://arxiv.org/abs/1409.4297 CoRR abs/1409.4297] » [[Go]], [[Monte-Carlo Tree Search|MCTS]], [[x86-64]]
* [[Ting-Fu Liao]], [[I-Chen Wu]], [[Guan-Wun Chen]], [[Chung-Chin Shih]], [[Po-Ya Kang]], [[Bing-Tsung Chiang]], [[Ting-Chu Ho]], [[Ti-Rong Wu]] ('''2014'''). ''A Study of Software Framework for Parallel Monte Carlo Tree Search''. [[Conferences#GPW19|GPW-2014]]
==2015 ...==
* [[Jakub Pawlewicz]], [[Ryan Hayward]] ('''2015'''). ''Feature Strength and Parallelization of Sibling Conspiracy Number Search''. [[Advances in Computer Games 14]]
* [[Shu Yokoyama]], [[Tomoyuki Kaneko]], [[Tetsuro Tanaka]] ('''2015'''). ''Parameter-Free Tree Style Pipeline in Asynchronous Parallel Game-Tree Search''. [[Advances in Computer Games 14]]
* [[S. Ali Mirsoleimani]], [[Aske Plaat]], [[Jaap van den Herik]], [[Jos Vermaseren]] ('''2015'''). ''Scaling Monte Carlo Tree Search on Intel Xeon Phi''. [http://arxiv.org/abs/1507.04383 CoRR abs/1507.04383] » [[Hex]], [[Monte-Carlo Tree Search|MCTS]], [[x86-64]]
* [[S. Ali Mirsoleimani]], [[Aske Plaat]], [[Jaap van den Herik]], [[Jos Vermaseren]] ('''2015'''). ''Parallel Monte Carlo Tree Search from Multi-core to Many-core Processors''. [https://whova.com/portal/ieeet_201508/ TrustCom/BigDataSE/|ISPA 2015], [https://askeplaat.files.wordpress.com/2013/01/ispa2015.pdf pdf]
* [[Ting-Han Wei]], [[Chao-Chin Liang]], [[I-Chen Wu]], [[Lung-Pin Chen]] ('''2015'''). ''Software Development Framework for Job-Level Algorithms''. [[ICGA Journal#38_3|ICGA Journal, Vol. 38, No. 3]]
* [[Akira Ura]], [[Yoshimasa Tsuruoka]], [[Takashi Chikayama]] ('''2015'''). ''[https://www.jstage.jst.go.jp/article/ipsjjip/23/1/23_9/_article Dynamic Prediction of Minimal Trees in Large-Scale Parallel Game Tree Search]''. [https://www.jstage.jst.go.jp/browse/ipsjjip/ Journal of Information Processing], Vol. 23, No. 1
* [[Liang Li]], [[Hong Liu]], [[Hao Wang]], [[Taoying Liu]], [[Wei Li]] ('''2015'''). ''[http://ieeexplore.ieee.org/document/6868996/ A Parallel Algorithm for Game Tree Search Using GPGPU]''. [[IEEE#TPDS|IEEE Transactions on Parallel and Distributed Systems]], Vol. 26, No. 8 » [[GPU]]
* [[Jr-Chang Chen]], [[I-Chen Wu]], [[Wen-Jie Tseng]], [[Bo-Han Lin]], [[Chia-Hui Chang]] ('''2015'''). ''[https://ir.nctu.edu.tw/handle/11536/124541 Job-Level Alpha-Beta Search]''. [[IEEE#TOCIAIGAMES|IEEE Transactions on Computational Intelligence and AI in Games]], Vol. 7, No. 1
* [[Lars Schaefers]], [[Marco Platzner]] ('''2015'''). ''[http://ieeexplore.ieee.org/document/6876158/ Distributed Monte Carlo Tree Search: A Novel Technique and its Application to Computer Go]''. [[IEEE#TOCIAIGAMES|IEEE Transactions on Computational Intelligence and AI in Games]], Vol. 7, No. 4 <ref>[http://www.talkchess.com/forum/viewtopic.php?t=66125&start=18 Re: Minmax backup operator for MCTS] by [[Brahim Hamadicharef]], [[CCC]], December 30, 2017</ref>


=Forum Posts=
==1995 ...==
* [https://groups.google.com/d/msg/rec.games.chess.computer/OUBw5LIIkoc/5VBOqmfdIrsJ A parallel processing chess program for the 'Wintel' platform] by [[Ian Kennedy]], [[Computer Chess Forums|rgcc]], March 9, 1997 » [[Psycho]]
* [https://groups.google.com/d/msg/rec.games.chess.computer/Wl7A-v-gWYQ/QLuvAp0l4_gJ Parallel searching] by [[Andrew Tridgell]], [[Computer Chess Forums|rgcc]], March 22, 1997 » [[KnightCap]]
* [https://www.stmintz.com/ccc/index.php?id=15912 Parallel Crafty] by [[Robert Hyatt]], [[CCC]], March 19, 1998 » [[Crafty]]
* [https://groups.google.com/d/msg/rec.games.chess.computer/C6z6Nnh2Nbs/G3LOexi_PMUJ Current Crafty strength on SMP?] by Charlton Harrison, [[Computer Chess Forums|rgcc]], April 29, 1998
* [https://www.stmintz.com/ccc/index.php?id=58505 DIEP parallel in Paderborn - technical and detailed story] by [[Vincent Diepeveen]], [[CCC]], June 28, 1999 » [[Diep]], [[WCCC 1999]]
* [https://www.stmintz.com/ccc/index.php?id=63751 Parallel search] by [[Brian McKinley]], [[CCC]], August 06, 1999
* [https://www.stmintz.com/ccc/index.php?id=65490 Parallel search development on a single processor machine ?] by [[Rémi Coulom]], [[CCC]], August 21, 1999
* [https://www.stmintz.com/ccc/index.php?id=77013 Dann's multiple cpu program] by Pete Galati, [[CCC]], November 09, 1999 » [[Dann Corbit]]
==2000 ...==
* [https://www.stmintz.com/ccc/index.php?id=112849 tip for "simulating" an MP computer & performance of ABDADA] by [[Tom Kerrigan]], [[CCC]], May 28, 2000
* [https://groups.google.com/group/comp.lang.asm.x86/browse_frm/thread/ab55c5d57a3a1fd1 Re: Atomic write of 64 bits] by [[Frans Morsch]], [https://groups.google.com/group/comp.lang.asm.x86/topics comp.lang.asm.x86], September 25, 2000
* [https://www.stmintz.com/ccc/index.php?id=163888 Parallel algorithms in chess programming] by [[Dieter Bürssner|Dieter Buerssner]], [[CCC]], April 16, 2001 » [[ABDADA]]
* [https://www.stmintz.com/ccc/index.php?id=186273 Parallel search algorithms] by [[Scott Gasch]], [[CCC]], August 29, 2001
* [https://www.stmintz.com/ccc/index.php?id=189126 Chess over LAN revisited - APHID] by [[Gian-Carlo Pascutto]], [[CCC]], September 17, 2001 » [[APHID]]
* [https://www.stmintz.com/ccc/index.php?id=249157 what's this "SMP time-to-ply measurement" ? (NT)] by [[Jouni Uski]], [[CCC]], September 02, 2002
* [https://www.stmintz.com/ccc/index.php?id=251522 Re: Couple of chess programming questions - MDT and parallel] by [[Scott Farrell]], [[CCC]], September 10, 2002 » [[MTD(f)]]
* [https://www.stmintz.com/ccc/index.php?id=351419 The Tobacco fields of my youth -- Parallel algorithms] by [[Charles Roberson]], [[CCC]], February 26, 2004
==2005 ...==
* [http://www.talkchess.com/forum/viewtopic.php?t=14832 Iterative DTS] by [[Fritz Reul]], [[CCC]], July 02, 2007
* [http://www.talkchess.com/forum/viewtopic.php?t=15662 multithreading questions] by [[Martin Fierz]], [[CCC]], August 08, 2007
* [http://www.talkchess.com/forum/viewtopic.php?t=15809 re-inventing the SMP wheel] by [[Harm Geert Muller]], [[CCC]], August 15, 2007
* [http://www.talkchess.com/forum/viewtopic.php?t=16122 SMP thread goes here] by [[Robert Hyatt]], [[CCC]], August 29, 2007
* [http://www.open-aurec.com/wbforum/viewtopic.php?f=4&t=6767 A Few General Questions on Parallel Search] by [[Pradu Kannan]], [[Computer Chess Forums|Winboard Forum]], August 31, 2007
* [http://www.talkchess.com/forum/viewtopic.php?t=18611 interested in making single processor program multi] by [[Mike Adams]], [[CCC]], December 28, 2007
'''2008'''
* [http://www.talkchess.com/forum/viewtopic.php?t=19446 If making an SMP engine, do NOT use processes] by [[Zach Wegner]], [[CCC]], February 07, 2008
* [http://www.talkchess.com/forum/viewtopic.php?t=20451 Questions about getting ready for multicore programming] by [[Carey Bloodworth|Carey]], [[CCC]], April 01, 2008
* [http://www.talkchess.com/forum/viewtopic.php?t=21233 Minimizing Sharing of Data between Physical Processors] by [[Pradu Kannan]], [[CCC]], May 19, 2008
* [http://www.talkchess.com/forum/viewtopic.php?t=22398 threads vs processes] by [[Robert Hyatt]], [[CCC]], July 16, 2008
* [http://www.talkchess.com/forum/viewtopic.php?t=22799 threads vs processes again] by [[Robert Hyatt]], [[CCC]], August 05, 2008
* [http://www.talkchess.com/forum/viewtopic.php?t=24327 Authors of WinBoard SMP engines, take note!] by [[Harm Geert Muller]], [[CCC]], October 11, 2008 » [[Chess Engine Communication Protocol]]
* [http://www.talkchess.com/forum/viewtopic.php?t=24807 Cluster Rybka] by [[Robert Hyatt]], [[CCC]], November 10, 2008
* [http://www.talkchess.com/forum/viewtopic.php?t=24866 UCI protocol and SMP] by [[Aart Bik]], [[CCC]], November 13, 2008 » [[UCI]]
'''2009'''
* [http://www.talkchess.com/forum/viewtopic.php?t=25955 SMP rating influence] by [[Robert Hyatt]], [[CCC]], January 12, 2009
* [http://www.talkchess.com/forum/viewtopic.php?t=26057 SMP and helpfull master concept] by hcyrano, [[CCC]], January 16, 2009
* [http://www.talkchess.com/forum/viewtopic.php?t=26208 SMP hashing problem] by [[Robert Hyatt]], [[CCC]], January 24, 2009 » [[Shared Hash Table#Lockless|Lockless Hashing]]
* [http://www.talkchess.com/forum/viewtopic.php?t=26211 SMP search stability] by [[Jon Dart]], [[CCC]], January 24, 2009
* [http://www.talkchess.com/forum/viewtopic.php?t=26805 nps scaling] by [[Daniel Shawul]], [[CCC]], March 01, 2009
* [http://www.talkchess.com/forum/viewtopic.php?t=26945 Clustering etc. thread] by [[Vasik Rajlich]], [[CCC]] March 7, 2009
: [http://talkchess.com/forum/viewtopic.php?p=254434 Results from UCT parallelization] by [[Gian-Carlo Pascutto]], [[CCC]], March 11, 2009
* [http://www.talkchess.com/forum/viewtopic.php?t=29434 Questions on volatile keyword and memory barriers] by [[Pradu Kannan]], [[CCC]], August 16, 2009
==2010 ...==
* [http://www.talkchess.com/forum/viewtopic.php?t=33652 asynchronous search] by [[Daniel Shawul]], [[CCC]], April 6, 2010
* [http://www.talkchess.com/forum/viewtopic.php?t=33700 SMP basics] by [[Richard Allbert]], [[CCC]], April 09, 2010
* [http://www.talkchess.com/forum/viewtopic.php?t=34561 DTS Structure] by [[Edmund Moshammer]], [[CCC]], May 28, 2010 » [[Dynamic Tree Splitting]], [[Iterative Search]]
* [http://www.talkchess.com/forum/viewtopic.php?t=34633 DTS-ification of YBWC] by [[Marco Costalba]], [[CCC]], June 01, 2010
* [http://www.talkchess.com/forum/viewtopic.php?t=36082 SMP speed up] by [[Miguel A. Ballicora]], [[CCC]], September 14, 2010
* [http://www.talkchess.com/forum/viewtopic.php?t=36121 SMP questions] by [[Harm Geert Muller]], [[CCC]], September 19, 2010
'''2011'''
* [http://www.talkchess.com/forum/viewtopic.php?t=38411 On parallelization] by [[Onno Garms]], [[CCC]], March 13, 2011 » [[Onno]]
* [http://www.talkchess.com/forum/viewtopic.php?t=38655 AMD Phenom Hex core (SMP performance problem)] by [[Miguel A. Ballicora]], [[CCC]], April 04, 2011
* [http://www.talkchess.com/forum/viewtopic.php?t=38753 SMP for Android UCI engines] by [[Aart Bik]], [[CCC]], April 14, 2011 » [[Android]]
* [http://www.talkchess.com/forum/viewtopic.php?t=38808 Questions on SMP search] by [[Ben-Hur Carlos Vieira Langoni Junior]], [[CCC]], April 21, 2011
* [http://www.talkchess.com/forum/viewtopic.php?t=39247 Some spinlock code, just for you] by [[Steven Edwards]], [[CCC]], June 01, 2011
* [http://www.talkchess.com/forum/viewtopic.php?t=39256 Spinlocks galore] by [[Steven Edwards]], [[CCC]], June 02, 2011
* [http://www.talkchess.com/forum/viewtopic.php?t=40493 LIFO stack based parallel processing?] by [[Srdja Matovic]], [[CCC]], September 22, 2011
* [http://www.talkchess.com/forum/viewtopic.php?t=41036 Some questions on split points] by [[Edward Yu]], [[CCC]], November 09, 2011
* [http://www.talkchess.com/forum/viewtopic.php?t=41620 Question on parallel search] by [[Michel Van den Bergh]], [[CCC]], December 27, 2011
'''2012'''
* [http://www.talkchess.com/forum/viewtopic.php?t=42986 Parallelization questions, ABDADA or DTS?] by [[Benjamin Rosseaux]], [[CCC]], March 23, 2012 » [[ABDADA]], [[Dynamic Tree Splitting]]
* [http://cs.stackexchange.com/questions/998/distributed-alpha-beta-pruning algorithms - distributed alpha beta pruning] by wirate, [http://cs.stackexchange.com/ Computer Science Stack Exchange], April 2, 2012
* [http://www.talkchess.com/forum/viewtopic.php?t=43243 YBWC: Active Reparenting] by [[Marco Costalba]], [[CCC]], April 10, 2012 » [[Young Brothers Wait Concept]]
* [http://www.talkchess.com/forum/viewtopic.php?t=44813 Virtualization and multi-processor engines] by [[Russell Reagan]], [[CCC]], August 16, 2012
* [http://www.talkchess.com/forum/viewtopic.php?t=44876 How to measure Parallel Search Speedup?] by Marcel Fournier, [[CCC]], August 23, 2012
* [http://www.talkchess.com/forum/viewtopic.php?t=46124 SMP and questions] by [[Edsel Apostol]], [[CCC]], November 23, 2012
* [http://www.talkchess.com/forum/viewtopic.php?t=46597 Lazy SMP] by [[Julien Marcel]], [[CCC]], December 27, 2012 » [[Lazy SMP]]
'''2013'''
* [http://www.talkchess.com/forum/viewtopic.php?t=46858 Lazy SMP, part 2] by [[Dan Homan|Daniel Homan]], [[CCC]], January 12, 2013
* [http://www.talkchess.com/forum/viewtopic.php?t=47171 Parallel search: System-level programming details] by [[Álvaro Begué]], [[CCC]], February 09, 2013
* [http://www.talkchess.com/forum/viewtopic.php?t=47298 SMP search in Viper and idea about search in cluster system] by [[Chao Ma]], [[CCC]], February 22, 2013 » [[Viper]]
* [http://www.talkchess.com/forum/viewtopic.php?t=47430 Message passing parallel search on SMP system] by [[Daniel Shawul]], [[CCC]], March 07, 2013 <ref>[https://en.wikipedia.org/wiki/Message_Passing_Interface Message Passing Interface from Wikipedia]</ref>
* [http://www.talkchess.com/forum/viewtopic.php?t=47700 Transposition driven scheduling] by [[Daniel Shawul]], [[CCC]], April 04, 2013 <ref>[[John Romein]], [[Henri Bal]], [[Jonathan Schaeffer]], [[Aske Plaat]] ('''2002'''). ''A Performance Analysis of Transposition-Table-Driven Scheduling in Distributed Search''. IEEE Transactions on Parallel and Distributed Systems, Vol. 13, No. 5, pp. 447–459. [http://www.cs.vu.nl/~bal/Papers/tds.pdf pdf]</ref>
* [http://www.talkchess.com/forum/viewtopic.php?t=47762 Parallel search slowdown?] by [[Evert Glebbeek]], [[CCC]], April 12, 2013
* [http://www.talkchess.com/forum/viewtopic.php?t=47820 Implementation of multithreaded search in Jazz] by [[Evert Glebbeek]], [[CCC]], April 20, 2013 » [[Jazz]]
* [http://www.talkchess.com/forum/viewtopic.php?t=47930 parallel search speedup/overhead] by [[Robert Hyatt]], [[CCC]], May 06, 2013
* [http://www.talkchess.com/forum/viewtopic.php?t=48339 Peculiarity of Komodo 5.1MP] by [[Kai Laskos]], [[CCC]], June 19, 2013 » [[Komodo]]
* [http://www.talkchess.com/forum/viewtopic.php?t=48503 back to the Komodo SMP issue] by [[Robert Hyatt]], [[CCC]], July 01, 2013
* [http://www.talkchess.com/forum/viewtopic.php?t=48524 Measure of SMP scalability] by [[Edsel Apostol]], [[CCC]], July 03, 2013 » [[Hannibal]]
: [http://www.talkchess.com/forum/viewtopic.php?t=48591 Measure of SMP scalability (sub-thread)] by [[Ernest Bonnem]], [[CCC]], July 08, 2013
* [http://www.talkchess.com/forum/viewtopic.php?t=48536 Lazy SMP and Work Sharing] by [[Dan Homan]], [[CCC]], July 03, 2013 » [[EXchess#LazySMP|Lazy SMP]] in [[EXChess]]
* [http://www.talkchess.com/forum/viewtopic.php?t=48612 use sleeping threads] by [[Don Dailey]], [[CCC]], July 10, 2013 » [[Stockfish]]
* [http://www.talkchess.com/forum/viewtopic.php?t=48752 Recursive DTS-like search algorithm] by [[Peter Österlund]], [[CCC]], July 24, 2013 » [[Texel]], [[Recursion]]
* [http://www.open-chess.org/viewtopic.php?f=5&t=2378 DTS-like SMP] by [[Vadim Demichev|ThinkingALot]], [[Computer Chess Forums|OpenChess Forum]], July 25, 2013 » [[GullChess|Gull]]
* [http://www.talkchess.com/forum/viewtopic.php?t=48780 Time to depth measuring tool] by [[Peter Österlund]], [[CCC]], July 28, 2013 » [[Depth]]
* [http://www.talkchess.com/forum/viewtopic.php?t=49450 interesting SMP bug] by [[Robert Hyatt]], [[CCC]], September 24, 2013 » [[Crafty]]
* [http://www.talkchess.com/forum/viewtopic.php?t=49540 SMP and Thread Pool Design pattern] by [[Edsel Apostol]], [[CCC]], October 02, 2013
'''2014'''
* [http://www.talkchess.com/forum/viewtopic.php?t=51198 SMP and pondering] by [[John Merlino]], [[CCC]], February 08, 2014 » [[Pondering]], [[Myrddin]]
* [http://www.open-chess.org/viewtopic.php?f=5&t=2618 C++11 threads seem to get shafted for cycles] by [[Dann Corbit|User923005]], [[Computer Chess Forums|OpenChess Forum]], March 18, 2014 » [[Senpai]], [[Thread]], [[Cpp|C++]]
* [http://www.talkchess.com/forum/viewtopic.php?t=51655 Threads-Test] by [[Andreas Strangmüller]], [[CCC]], March 18, 2014 » [[Thread]], [[Stockfish]]
* [http://www.talkchess.com/forum/viewtopic.php?t=51755 Parallel Search with Transposition Table] by [[Daylen Yang]], [[CCC]], March 27, 2014 » [[Shared Hash Table]]
* [http://www.talkchess.com/forum/viewtopic.php?t=51824 c++11 std::atomic and memory_order_relaxed] by Kevin Hearn, [[CCC]], April 01, 2014 » [[Memory]], [[Cpp|C++]]
* [http://www.talkchess.com/forum/viewtopic.php?t=52219 Threads-Test - SF, Zappa, Komodo - 1 vs. 2, 4, 8, 16 Threads] by [[Andreas Strangmüller]], [[CCC]], May 04, 2014 » [[Stockfish]], [[Zappa]], [[Komodo]]
* [http://www.talkchess.com/forum/viewtopic.php?t=52226 transposition and multithreading question] by [[Marco Belli]], [[CCC]], May 04, 2014 » [[Transposition Table]]
* [http://www.talkchess.com/forum/viewtopic.php?p=570955 Threads factor: Komodo, Houdini, Stockfish and Zappa] by [[Andreas Strangmüller]], [[CCC]], May 17, 2014 » [[Komodo]], [[Houdini]], [[Stockfish]], [[Zappa]]
* [http://www.talkchess.com/forum/viewtopic.php?t=52503 Smp concepts] by [[Michael Hoffmann]], [[CCC]], June 01, 2014
* [http://www.talkchess.com/forum/viewtopic.php?t=52983 Real Speedup due to core doubling etc] by [[Carl Bicknell]], [[CCC]], July 15, 2014
* [http://www.talkchess.com/forum/viewtopic.php?t=53537 Implementing parallel search] by [[Matthew Lai]], [[CCC]], September 02, 2014
* [http://www.talkchess.com/forum/viewtopic.php?t=53739 Elo difference for 4-8-16-24-32 cores] by [[Bertil Eklund]], [[CCC]], September 17, 2014
* [http://www.talkchess.com/forum/viewtopic.php?t=53995 Threads test incl. Stockfish 5 and Komodo 8] by [[Andreas Strangmüller]], [[CCC]], October 09, 2014
* [http://www.talkchess.com/forum/viewtopic.php?t=54009 Threads test - Stockfish 5 against Komodo 8] by [[Andreas Strangmüller]], [[CCC]], October 10, 2014 » [[Thread]], [[Parallel Search]], [[Stockfish]], [[Komodo]]
* [http://www.talkchess.com/forum/viewtopic.php?t=54059 Threads test incl. Crafty 24.1] by [[Andreas Strangmüller]], [[CCC]], October 15, 2014 » [[Crafty]]
* [http://www.talkchess.com/forum/viewtopic.php?t=54133 Current data - threads-nps efficiency up to 32 threads] by [[Andreas Strangmüller]], [[CCC]], October 24, 2014
* [http://www.talkchess.com/forum/viewtopic.php?t=54386 Data structures for parallel search?] by [[Vladimir Medvedev]], [[CCC]], November 19, 2014
==2015 ...==
* [http://www.talkchess.com/forum/viewtopic.php?t=55047 SMP: on same branch instead splitting?] by Frank Ludwig, [[CCC]], January 23, 2015
* [http://www.talkchess.com/forum/viewtopic.php?t=55188 Lazy SMP in Cheng] by [[Martin Sedlak]], [[CCC]], February 02, 2015 » [[Cheng]]
* [http://www.talkchess.com/forum/viewtopic.php?t=55224 Some SMP measurements with Rookie v3] by [[Marcel van Kervinck]], [[CCC]], February 05, 2015 » [[Rookie]]
* [http://www.talkchess.com/forum/viewtopic.php?t=55352 Stockfish with 16 threads - big news?] by [[Louis Zulli]], [[CCC]], February 15, 2015 » [[Thread]]
: [http://www.talkchess.com/forum/viewtopic.php?t=55368 Explanation for non-expert?] by [[Louis Zulli]], [[CCC]], February 16, 2015 » [[Stockfish]]
: [http://www.talkchess.com/forum/viewtopic.php?t=55536 Best Stockfish NPS scaling yet] by [[Louis Zulli]], [[CCC]], March 02, 2015
* [http://www.talkchess.com/forum/viewtopic.php?t=55563 Parallel iterative search function] by [[Fabio Gobbato]], [[CCC]], March 05, 2015 » [[Iterative Search]]
* [http://www.talkchess.com/forum/viewtopic.php?t=55896 An MPI perft program] by [[Chao Ma]], [[CCC]], April 05, 2015 » [[Perft]] <ref>[https://en.wikipedia.org/wiki/Message_Passing_Interface Message Passing Interface from Wikipedia]</ref>
* [http://www.talkchess.com/forum/viewtopic.php?t=55930 Crude parallel search] by [[Carl Bicknell]], [[CCC]], April 07, 2015
* [http://www.talkchess.com/forum/viewtopic.php?t=55970 Trying to improve lazy smp] by [[Daniel José Queraltó]], [[CCC]], April 11, 2015
* [http://www.talkchess.com/forum/viewtopic.php?t=56019 Empirical results with Lazy SMP, YBWC, DTS] by [[Kai Laskos]], [[CCC]], April 16, 2015
* [http://www.open-chess.org/viewtopic.php?f=5&t=2830 DTS-Algorithm Split Block] by JacobusOpperman, [[Computer Chess Forums|OpenChess Forum]], May 19, 2015
* [http://www.talkchess.com/forum/viewtopic.php?t=56543 The effective speedup from 1 to 8 cpus for SF and Komodo] by [[Adam Hair]], [[CCC]], May 31, 2015 » [[Stockfish]], [[Komodo]]
* [http://www.talkchess.com/forum/viewtopic.php?t=56595 parallel speedup and assorted trivia] by [[Robert Hyatt]], [[CCC]], June 05, 2015 » [[Crafty]]
* [http://www.talkchess.com/forum/viewtopic.php?t=56764 There are compilers and there are compilers] by [[Robert Hyatt]], [[CCC]], June 24, 2015
* [http://www.talkchess.com/forum/viewtopic.php?t=56779 Parallel search once more] by [[Robert Hyatt]], [[CCC]], June 25, 2015
* [http://www.talkchess.com/forum/viewtopic.php?t=56877 SMP speedup discussion] by [[Robert Hyatt]], [[CCC]], July 05, 2015
* [http://www.talkchess.com/forum/viewtopic.php?t=56936 Possible improvement to ABDADA -- checking for cutoffs] by [[Tom Kerrigan]], [[CCC]], July 10, 2015 » [[ABDADA]]
* [http://www.talkchess.com/forum/viewtopic.php?t=56937 Actual speedups from YBWC and ABDADA on 8+ core machines?] by [[Tom Kerrigan]], [[CCC]], July 10, 2015 » [[ABDADA]], [[Young Brothers Wait Concept]]
* [http://www.talkchess.com/forum/viewtopic.php?t=57036 New SMP stuff (particularly Kai)] by [[Robert Hyatt]], [[CCC]], July 20, 2015
* [http://www.talkchess.com/forum/viewtopic.php?t=57039 SMP (new style)] by [[Ed Schroder|Ed Schröder]], [[CCC]], July 20, 2015
* [http://www.talkchess.com/forum/viewtopic.php?t=57343 scorpio can run on 8192 cores] by [[Daniel Shawul]], [[CCC]], August 22, 2015 » [[Scorpio]]
* [http://www.talkchess.com/forum/viewtopic.php?t=57572 lazy smp questions] by Lucas Braesch, [[CCC]], September 09, 2015 » [[Lazy SMP]]
* [http://www.talkchess.com/forum/viewtopic.php?t=58031 Lazy SMP Better than YBWC?] by [[Steve Maughan]], [[CCC]], October 23, 2015 » [[Young Brothers Wait Concept]]
* [http://www.talkchess.com/forum/viewtopic.php?t=58056 New Stockfish with Lazy_SMP, but what about the TC bug ?] by [[Ernest Bonnem]], [[CCC]], October 26, 2015 » [[Stockfish]], [[TCEC Season 8]]
* [http://www.talkchess.com/forum/viewtopic.php?t=58160 An interesting parallel search non-bug] by [[Robert Hyatt]], [[CCC]], November 05, 2015 » [[Crafty]]
* [http://www.talkchess.com/forum/viewtopic.php?t=58645 lazy smp questions] by [[Marco Belli]], [[CCC]], December 21, 2015 » [[Lazy SMP]]
'''2016'''
* [http://www.talkchess.com/forum/viewtopic.php?t=58830 NUMA 101] by [[Robert Hyatt]], [[CCC]], January 07, 2016 » [[NUMA]]
* [http://www.talkchess.com/forum/viewtopic.php?t=58882 Using more than 1 thread in C beginner question] by [[Uri Blass]], [[CCC]], January 11, 2016 » [[C]]
* [http://www.talkchess.com/forum/viewtopic.php?t=58887 Threads test incl. Stockfish 7] by [[Andreas Strangmüller]], [[CCC]], January 11, 2016 » [[Thread]], [[Stockfish]]
* [http://www.talkchess.com/forum/viewtopic.php?t=58946 Parallel Search to Fixed Depth] by [[Brian Richardson]], [[CCC]], January 17, 2016
* [http://www.talkchess.com/forum/viewtopic.php?t=58950 Threads test incl. Komodo 9.3] by [[Andreas Strangmüller]], [[CCC]], January 17, 2016 » [[Komodo]]
* [http://www.talkchess.com/forum/viewtopic.php?t=59389 Lazy SMP - how it works] by Kalyankumar Ramaseshan, [[CCC]], February 29, 2016 » [[Lazy SMP]]
* [http://talkchess.com/forum/viewtopic.php?t=59745 Crafty SMP measurement] by [[Robert Hyatt]], [[CCC]], April 04, 2016 » [[Crafty]]
* [http://www.talkchess.com/forum/viewtopic.php?t=60271 parallel search speed measurement] by [[Robert Hyatt]], [[CCC]], May 24, 2016
* [http://www.talkchess.com/forum/viewtopic.php?t=60537 Crazy SMP] by [[Harm Geert Muller]], [[CCC]], June 19, 2016
* [http://www.talkchess.com/forum/viewtopic.php?t=60875 NUMA in a YBWC implementation] by [[Edsel Apostol]], [[CCC]], July 20, 2016 » [[Young Brothers Wait Concept]]
* [http://www.talkchess.com/forum/viewtopic.php?t=60979 lazy smp using ms vs2015 c++11 std::async] by [[Edward Yu]], [[CCC]], July 29, 2016 » [[Lazy SMP]], [[Thread]] <ref>[http://en.cppreference.com/w/cpp/thread/async std::async - cppreference.com]</ref>
* [http://www.talkchess.com/forum/viewtopic.php?t=61131 Time to depth concerns] by [[Carl Bicknell]], [[CCC]], August 15, 2016
* [https://groups.google.com/d/msg/fishcooking/ezt6MrAuXqs/qIR2HEciEgAJ lets get the ball moving down the field on numa awareness] by [[Mohammed Li]], [[Computer Chess Forums|FishCooking]], August 30, 2016 » [[NUMA]], [[Stockfish]], [[asmFish]]
* [http://www.talkchess.com/forum/viewtopic.php?t=61349 Baffling multithreading scaling behavior] by [[Tom Kerrigan]], [[CCC]], September 06, 2016
: [http://www.talkchess.com/forum/viewtopic.php?t=61349&start=16 Re: Baffling multithreading scaling behavior] by [[Robert Hyatt]], [[CCC]], September 07, 2016
* [http://www.talkchess.com/forum/viewtopic.php?t=61472 What do you do with NUMA?] by [[Matthew Lai]], [[CCC]], September 19, 2016 » [[NUMA]]
* [http://www.talkchess.com/forum/viewtopic.php?t=61639 Scaling of Asmfish with large thread count] by [[Dann Corbit]], [[CCC]], October 07, 2016 » [[asmFish]]
* [http://www.talkchess.com/forum/viewtopic.php?t=62146 Stockfish 8 - Double time control vs. 2 threads] by [[Andreas Strangmüller]], [[CCC]], November 15, 2016 » [[Match Statistics#DoublingTC|Doubling TC]], [[Depth#DiminishingReturns|Diminishing Returns]], [[Playing Strength]], [[Stockfish]]
'''2017'''
* [http://www.talkchess.com/forum/viewtopic.php?t=63454 How to find SMP bugs ?] by Lucas Braesch, [[CCC]], March 15, 2017 » [[Debugging]], [[Lazy SMP]]
* [http://www.open-chess.org/viewtopic.php?f=5&t=3097 Ideas to improve SMP scaling] by lucasart, [[Computer Chess Forums|OpenChess Forum]], April 03, 2017 » [[Lazy SMP]]
* [http://www.talkchess.com/forum/viewtopic.php?t=63903 Symmetric multiprocessing (SMP) scaling - SF8 and K10.4] by [[Andreas Strangmüller]], [[CCC]], May 05, 2017 » [[Komodo]], [[Stockfish]]
* [http://www.talkchess.com/forum/viewtopic.php?t=64238 When should I consider parallel search ?] by [[Mahmoud Uthman]], [[CCC]], June 10, 2017
* [http://www.talkchess.com/forum/viewtopic.php?t=64824 Lazy SMP and "lazy cluster" experiments] by [[Peter Österlund]], [[CCC]], August 06, 2017 » [[Lazy SMP#LazyCluster|Lazy SMP - Lazy Cluster]], [[Texel]]
: [http://www.talkchess.com/forum/viewtopic.php?t=64824&start=43 Approximate ABDADA] by [[Peter Österlund]], [[CCC]], August 23, 2017 » [[ABDADA]]
* [http://www.talkchess.com/forum/viewtopic.php?t=65011 "How To" guide to parallel-izing an engine] by [[Tom Kerrigan]], [[CCC]], August 27, 2017 <ref>[http://www.tckerrigan.com/Chess/Parallel_Search/ Parallel Search] by [[Tom Kerrigan] </ref>
* [http://www.talkchess.com/forum/viewtopic.php?t=65134 Question about parallel search and race conditions] by [[Michael Sherwin]], [[CCC]], September 11, 2017 » [[Shared Hash Table]]
* [http://www.talkchess.com/forum/viewtopic.php?t=66044 Parallel search/LazySMP question] by [[Jon Dart]], [[CCC]], December 17, 2017 » [[Lazy SMP]]
* [http://www.talkchess.com/forum/viewtopic.php?t=66099 Time Managment translating to SMP] by [[Andrew Grant]], [[CCC]], December 23, 2017 » [[Time Management]]

=External Links=
==Parallel Search==
* [http://www.tckerrigan.com/Chess/Parallel_Search/ Parallel Search] by [[Tom Kerrigan]] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=65011 "How To" guide to parallel-izing an engine] by [[Tom Kerrigan]], [[CCC]], August 27, 2017</ref>
* [http://www.netlib.org/utk/lsi/pcwLSI/text/node350.html Parallel Alpha-Beta Pruning] from [http://www.netlib.org/utk/lsi/pcwLSI/text/BOOK.html Parallel Computing Works]
* [http://webdocs.cs.ualberta.ca/~games/aphid/index.html APHID Parallel Game-Tree Search Library]
* [http://www2.cs.uni-paderborn.de/cs/ag-monien/PERSONAL/FLULO/gametree.html AG-Monien - Research - Game Trees], [[Burkhard Monien|AG-Monien]], [[University of Paderborn]]
* [http://www.cs.cmu.edu/afs/cs/project/jair/pub/volume9/cook98a-html/eureka.html Adaptive Parallel Iterative Deepening Search] by [http://portal.acm.org/author_page.cfm?id=81100111814&coll=GUIDE&dl=GUIDE&trk=0&CFID=85545608&CFTOKEN=17034339 Diane J. Cook], [http://portal.acm.org/author_page.cfm?id=81100529798&coll=GUIDE&dl=GUIDE&trk=0&CFID=85545608&CFTOKEN=17034339 R. Craig Varnell]

==Parallel Computing==
* [https://en.wikipedia.org/wiki/Parallel_computing Parallel computing from Wikipedia]
* [https://en.wikipedia.org/wiki/Parallel_algorithm Parallel algorithm from Wikipedia]
* [https://en.wikipedia.org/wiki/Parallel_slowdown Parallel slowdown from Wikipedia]
* [https://en.wikipedia.org/wiki/Concurrent_computing Concurrent computing from Wikipedia]
* [https://en.wikipedia.org/wiki/Process_%28computing%29 Process from Wikipedia]
* [https://en.wikipedia.org/wiki/Thread_%28computer_science%29 Thread from Wikipedia]
* [https://en.wikipedia.org/wiki/Fiber_%28computer_science%29 Fiber (computer science) from Wikipedia]
* [https://en.wikipedia.org/wiki/Coroutine Coroutine from Wikipedia]
* [https://en.wikipedia.org/wiki/Multiprocessing Multiprocessing from Wikipedia]
* [https://en.wikipedia.org/wiki/Computer_multitasking Multitasking from Wikipedia]
* [https://en.wikipedia.org/wiki/Multithreading_%28computer_architecture%29 Multithreading from Wikipedia]
* [https://en.wikipedia.org/wiki/Speculative_multithreading Speculative multithreading from Wikipedia]
* [https://en.wikipedia.org/wiki/Scheduling_%28computing%29 Scheduling from Wikipedia]
* [https://en.wikipedia.org/wiki/Preemption_%28computing%29 Preemption from Wikipedia]
* [https://en.wikipedia.org/wiki/Context_switch Context switch from Wikipedia]
* [https://en.wikipedia.org/wiki/Cilk Cilk from Wikipedia] » [[Cilk]], [[CilkChess]]
* [http://supertech.csail.mit.edu/cilk/ The Cilk Project] from [[Massachusetts Institute of Technology|MIT]]
* [https://en.wikipedia.org/wiki/Intel_Cilk_Plus Intel Cilk Plus from Wikipedia] » [[Intel]]
* [https://en.wikipedia.org/wiki/XMTC XMTC from Wikipedia]

==Scalability==
* [https://en.wikipedia.org/wiki/Scalability Scalability from Wikipedia]
* [https://en.wikipedia.org/wiki/Scalable_locality Scalable locality from Wikipedia]
* [https://en.wikipedia.org/wiki/Scalable_parallelism Scalable parallelism from Wikipedia]
* [https://en.wikipedia.org/wiki/Speedup Speedup from Wikipedia]
* [https://en.wikipedia.org/wiki/Amdahl%27s_law Amdahl's law from Wikipedia]
* [https://en.wikipedia.org/wiki/Gustafson%27s_law Gustafson's law from Wikipedia]

==Shared Memory==
{{Shared Memory}}
==Cache==
{{Cache}}
==Concurrency and Synchronization==
{{Synchronization}}
==Misc==
* [https://en.wikipedia.org/wiki/Message_Passing_Interface Message Passing Interface from Wikipedia]
* [https://en.wikipedia.org/wiki/Channel_%28programming%29 Channel (programming) from Wikipedia]
* [https://en.wikipedia.org/wiki/Multiple-agent_system Multiple-agent system from Wikipedia]
* [https://en.wikipedia.org/wiki/Deterministic_algorithm Deterministic algorithm from Wikipedia]
* [http://software.intel.com/en-us/videos/intel-parallel-inspector-thread-checker/ Intel® Parallel Inspector Thread Checker]
* [http://software.intel.com/en-us/articles/intel-parallel-universe-magazine/ Intel Parallel Universe Magazine - Intel® Software Network]
* [http://research.microsoft.com/en-us/projects/chess/ CHESS - Microsoft Research] a tool for finding and reproducing [https://en.wikipedia.org/wiki/Unusual_software_bug Heisenbugs] in concurrent programs.
* [[Videos#LedZeppelin|Led Zeppelin]] - [https://en.wikipedia.org/wiki/Communication_Breakdown Communication Breakdown], [https://en.wikipedia.org/wiki/YouTube YouTube] Video, Lost Performances (1/5)
: {{#evu:https://www.youtube.com/watch?v=-fG4JCerIuE|alignment=left|valignment=top}}

=References=
<references />

'''[[Search|Up one level]]'''

Navigation menu