SMP

Home * Hardware * Memory * SMP



SMP, (Symmetric MultiProcessing) a multiprocessing memory design where all processors compete for access to the centralized shared memory bus connected to the main memory as used in early microcomputer multiprocessor systems with two, four or even eight processors. SMP includes systems with CPUs implemented in separate chips, systems with CPUs implemented in the same chip (multi-core) and combinations (e.g. a system with 2 separate quad core chips, with a total of 8 physical CPUs). With increasing number of cores and processors bejoind 8 to 12 CPUs, SMP with its uniform memory access becomes more and more a bottleneck in scalability - more recent systems such as x86-64 with multiple cores use the NUMA (Non-uniform memory access) architecture instead. Nevertheless, the term SMP search has become synonym for parallel search using a shared hash table, also manifested in the term Lazy SMP.

=See also=
 * ABDADA
 * Dynamic Tree Splitting
 * Lazy SMP
 * NUMA
 * Parallel Search
 * Young Brothers Wait Concept

=Publications=
 * James Swafford (2008). A Survey of Parallel Search Algorithms over Alpha-Beta Search Trees using Symmetric Multiprocessor Machines. Masters Project, East Carolina University, advisor Ronnie Smith

=Forum Posts=

1997 ...

 * A parallel processing chess program for the 'Wintel' platform by Ian Kennedy, rgcc, March 9, 1997 » Psycho
 * Parallel Crafty by Robert Hyatt, CCC, March 19, 1998 » Crafty
 * Current Crafty strength on SMP? by Charlton Harrison, rgcc, April 29, 1998

2000 ...

 * What is SMP by Hyattian Flu, rgcc, August, 12, 2001
 * To SMP or not to SMP what's the answer? by Jonas Bylund, CCC, April 10, 2003
 * SMP Engines by Peter Stayne, CCC, July 02, 2003
 * Crafty SMP questions by Matthew Hull, CCC, August 05, 2003 » Crafty
 * Linux SMP by Russell Reagan, CCC, August 31, 2003
 * is this a sign of broken smp by Michael Byrne, CCC, March 09, 2004 » Crafty
 * What's the difference between NUMA, SMP and MPI for chess? by Joachim Rang, CCC, April 15, 2004

2005 ...

 * Opteron NUMA/SMP question by Matthew Hull, CCC, February 09, 2005
 * Glaurung SMP: Beta testers with dual Macs or Linux boxes wanted by Tord Romstad, CCC, February 20, 2006 » Glaurung
 * Glaurung SMP: Now also for Windows! by Tord Romstad, CCC, February 23, 2006
 * Re: What is SMP? (NT) by Tord Romstad, CCC, February 23, 2006


 * re-inventing the SMP wheel by Harm Geert Muller, CCC, August 15, 2007
 * SMP thread goes here by Robert Hyatt, CCC, August 29, 2007
 * If making an SMP engine, do NOT use processes by Zach Wegner, CCC, February 07, 2008
 * Authors of WinBoard SMP engines, take note! by Harm Geert Muller, CCC, October 11, 2008 » Chess Engine Communication Protocol
 * UCI protocol and SMP by Aart Bik, CCC, November 13, 2008 » UCI
 * Appeal to SMP-engines programmers using UCI by H.G.Muller, CCC, January 09, 2009
 * SMP rating influence by Robert Hyatt, CCC, January 12, 2009
 * SMP and helpfull master concept by hcyrano, CCC, January 16, 2009
 * SMP hashing problem by Robert Hyatt, CCC, January 24, 2009 » Lockless Hashing
 * SMP search stability by Jon Dart, CCC, January 24, 2009

2010

 * SMP basics by Richard Allbert, CCC, April 09, 2010
 * SMP speed up by Miguel A. Ballicora, CCC, September 14, 2010
 * SMP questions by Harm Geert Muller, CCC, September 19, 2010
 * AMD Phenom Hex core (SMP performance problem) by Miguel A. Ballicora, CCC, April 04, 2011
 * SMP for Android UCI engines by Aart Bik, CCC, April 14, 2011 » Android
 * Questions on SMP search by Ben-Hur Carlos Vieira Langoni Junior, CCC, April 21, 2011
 * SMP question by Stef Luijten, CCC, June 08, 2011
 * Anyone try MS VS2010 C++ parallel pattern libray to do SMP ? by Edward Yu, CCC, June 12, 2011
 * First steps with SMP by Robert Purves, CCC, November 30, 2011
 * SMP and questions by Edsel Apostol, CCC, November 23, 2012
 * SMP experts advice needed by Lucas Braesch, CCC, December 27, 2012
 * Lazy SMP by Julien Marcel, CCC, December 27, 2012
 * Lazy SMP, part 2 by Daniel Homan, CCC, January 12, 2013
 * Lazy SMP, part 3 by Daniel Homan, CCC, March 09, 2013
 * Shared hash table smp result by Daniel Shawul, CCC, March 21, 2013
 * Measure of SMP scalability by Edsel Apostol, CCC, July 03, 2013
 * Lazy SMP and Work Sharing by Daniel Homan, CCC, July 03, 2013 » LazySMP in EXChess
 * Interesting SMP bug by Robert Hyatt, CCC, September 24, 2013
 * SMP and Thread Pool Design pattern by Edsel Apostol, CCC, October 02, 2013 » Hannibal
 * Smp concepts by Michael Hoffmann, CCC, June 01, 2014

2015
2016 2017
 * SMP: on same branch instead splitting? by Frank Ludwig, CCC, January 23, 2015 » Lazy SMP
 * Some SMP measurements with Rookie v3 by Marcel van Kervinck, CCC, February 05, 2015
 * SMP questions by Patrice Duhamel, CCC, March 25, 2015
 * Latest SMP update by Robert Hyatt, CCC, July 09, 2015 » Crafty
 * Actual speedups from YBWC and ABDADA on 8+ core machines? by Tom Kerrigan, CCC, July 10, 2015 » Young Brothers Wait Concept, ABDADA
 * New SMP stuff (particularly Kai) by Robert Hyatt, CCC, July 20, 2015
 * SMP (new style) by Ed Schroder, CCC, July 20, 2015
 * Measuring SMP "effciency" by Louis Zulli, CCC, July 26, 2015
 * Crafty SMP measurement by Robert Hyatt, CCC, April 04, 2016 » Crafty
 * Crazy SMP by Harm Geert Muller, CCC, June 19, 2016
 * Symmetric multiprocessing (SMP) scaling - SF8 and K10.4 by Andreas Strangmüller, CCC, May 05, 2017 » Komodo, Stockfish
 * Symmetric multiprocessing (SMP) scaling - K10.4 Contempt=0 by Andreas Strangmüller, CCC, May 11, 2017 » Komodo, Contempt Factor
 * Symmetric multiprocessing (SMP) scaling - SF8 Contempt=10 by Andreas Strangmüller, CCC, May 13, 2017 » SMP, Stockfish, Contempt Factor
 * Time Managment translating to SMP by Andrew Grant, CCC, December 23, 2017 » Parallel Search, Time Management

=External Links=
 * Symmetric multiprocessing from Wikipedia
 * Symmetric multiprocessor system from Wikipedia


 * Uniform memory access from Wikipedia
 * Symmetric Multiprocessing - OSDev Wiki
 * Chapter 13. Symmetric Multi Processing in Peter Jay Salzman, Ori Pomerantz (2001). The Linux Kernel Module Programming Guide. » Linux
 * The difference between multi-core and multi-processing by Stefanus Du Toit, Intel Software, April 17, 2008

=References=

Up one Level