Master/slave (technology)

From Wikipedia, the free encyclopedia
  (Redirected from Master-slave (computers))
Jump to navigation Jump to search

Master/slave is a model of communication where one device or process has unidirectional control over one or more other devices. In some systems a master is selected from a group of eligible devices, with the other devices acting in the role of slaves.[1][2][3]

In the context of motor control, the master/slave configuration is used for load sharing purposes when two identical motors connected to two different drives are coupled to a common load.[citation needed] One drive is defined as the master and is configured for running in the speed-control mode whereas the other defined as slave is configured for running in torque-control mode.


  • In database replication, the master database is regarded as the authoritative source, and the slave databases are synchronized to it.
  • Hydraulic and pneumatic systems may use a master cylinder to control one or several slave cylinders.
  • Peripherals connected to a bus in a computer system.
  • Railway locomotives operating in multiple (for example: to pull loads too heavy for a single locomotive) can be referred to as a master/slave configuration with the operation of all locomotives in the train slaved to the controls of the first locomotive. See Multiple-unit train control.
  • Duplication is often done with several cassette tape or compact disc recorders linked together. Operating the controls on the master triggers the same commands on the slaves, so that recording is done in parallel.
  • In parallel ATA hard drive arrangements, the terms master and slave are used but neither drive has control over the other. The terms also do not indicate precedence of one drive over the other in most situations. "Master" is merely another term for device 0 and "slave" indicates device 1.
  • Rmpi[4] package in R is a standard master/slaves programming model.
  • On the Macintosh platform, rebooting into Target Disk Mode allows one computer to operate as a dumb disk enclosure presenting its storage devices to another via SCSI, FireWire, or Thunderbolt, essentially a slave mode bridge.
  • A master clock that provides time signals used to synchronize one or more slave clocks as part of a clock network.

Terminology concerns[edit]

The terminology has often been replaced with something different because the terms "master" and "slave" evoke the practice of slavery.

One alternative for databases is "primary" and "replica", which is used in the documentation from IBM,[5] Microsoft,[6] Engine Yard,[7] Amazon Web Services/Amazon Relational Database Service,[8] and ACM[9] as well as in Python,[10] Django,[11][12] Drupal,[13] CouchDB,[14] Redis[15] and MediaWiki (which still uses "master").[16][17]

In December 2017, the Internet Systems Consortium decided to allow the words "primary" and "secondary" as a substitute for master/slave terminology in their DNS server software BIND. [18]

In 2003, the County of Los Angeles in California asked that manufacturers, suppliers and contractors stop using "master" and "slave" terminology on products; the county made this request "based on the cultural diversity and sensitivity of Los Angeles County".[19][20] Following outcries about the request, the County of Los Angeles issued a statement saying that the decision was "nothing more than a request".[19] Following the controversy, Global Language Monitor found the term "master/slave" to be the most egregious example of political correctness in 2004, and named it the most politically incorrect term of that year.[21]

See also[edit]


  1. ^ "What is master/slave? - Definition from".
  2. ^ Description of the Microsoft Computer Browser Service from Microsoft KnowledgeBase
  3. ^ Information on Browser Operation from Microsoft KnowledgeBase
  4. ^ Yu, H. (2002). "Rmpi: Parallel Statistical Computing in R". R News.
  5. ^ "IBM Knowledge Center". Retrieved 2018-05-08.
  6. ^ "Configure Database Replicas for Management Points". Retrieved 2018-05-08.
  7. ^ "Set Up Database Replication". Engine Yard Developer Center. Retrieved 2018-05-08.
  8. ^ "Working with Read Replicas of MariaDB, MySQL, and PostgreSQL DB Instances - Amazon Relational Database Service". Retrieved 2018-05-08.
  9. ^ Savinov, Sergey; Daudjee, Khuzaima (2010-10-30). "Dynamic database replica provisioning through virtualization". ACM: 41–46. doi:10.1145/1871929.1871937. ISBN 9781450303804.
  10. ^ "Python joins movement to dump 'offensive' master, slave terms". Retrieved 2018-09-12.
  11. ^ "Fixes #22667. Replaced leader/follower terminology with primary/replica by fcurella · Pull Request #2694 · django/django".
  12. ^ "Multiple databases". Django Project. Retrieved 2018-05-08.
  13. ^ "Replace "master/slave" terminology with "primary/replica"". 2014-05-28. Retrieved 2018-04-17.
  14. ^ "CouchDB - Replace "master" and "slave" terminology".
  15. ^ "Redis - Replace "master" and "slave" terms in Redis".
  16. ^ "Rename DB_SLAVE constant to DB_REPLICA · wikimedia/mediawiki@950cf60".
  17. ^
  18. ^ "ISC explanation via Twitter".
  19. ^ a b 'Master' and 'slave' computer labels unacceptable, officials say, CNN, November 26, 2003
  20. ^ Master/Slave, Snopes
  21. ^ 'Master/slave' named most politically incorrect term, Seattle PI, December 2, 2004, The computer term "master/slave," which was banned as racially offensive by a Los Angeles County purchasing department, was named the most politically incorrect term of the year.[...] Among other terms on the top 10 list of politically charged words and phrases, issued by the word usage group Global Language Monitor, were "non-same sex marriage" to describe heterosexual unions, "waitron" for waiter or waitress and "higher being" for God, a term some people found too religious.