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.
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. 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 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.
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, Microsoft, Engine Yard, Amazon Web Services/Amazon Relational Database Service, and ACM as well as in Python, Django, Drupal, CouchDB, Redis and MediaWiki (which still uses "master").
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". Following outcries about the request, the County of Los Angeles issued a statement saying that the decision was "nothing more than a request". 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.
- "What is master/slave? - Definition from WhatIs.com".
- Description of the Microsoft Computer Browser Service from Microsoft KnowledgeBase
- Information on Browser Operation from Microsoft KnowledgeBase
- Yu, H. (2002). "Rmpi: Parallel Statistical Computing in R". R News.
- "IBM Knowledge Center". www.ibm.com. Retrieved 2018-05-08.
- "Configure Database Replicas for Management Points". technet.microsoft.com. Retrieved 2018-05-08.
- "Set Up Database Replication". Engine Yard Developer Center. Retrieved 2018-05-08.
- "Working with Read Replicas of MariaDB, MySQL, and PostgreSQL DB Instances - Amazon Relational Database Service". docs.aws.amazon.com. Retrieved 2018-05-08.
- Savinov, Sergey; Daudjee, Khuzaima (2010-10-30). "Dynamic database replica provisioning through virtualization". ACM: 41–46. doi:10.1145/1871929.1871937. ISBN 9781450303804.
- "Python joins movement to dump 'offensive' master, slave terms". Retrieved 2018-09-12.
- "Fixes #22667. Replaced leader/follower terminology with primary/replica by fcurella · Pull Request #2694 · django/django".
- "Multiple databases". Django Project. Retrieved 2018-05-08.
- "Replace "master/slave" terminology with "primary/replica"". Drupal.org. 2014-05-28. Retrieved 2018-04-17.
- "CouchDB - Replace "master" and "slave" terminology".
- "Redis - Replace "master" and "slave" terms in Redis".
- "Rename DB_SLAVE constant to DB_REPLICA · wikimedia/mediawiki@950cf60".
- "ISC explanation via Twitter".
- 'Master' and 'slave' computer labels unacceptable, officials say, CNN, November 26, 2003
- Master/Slave, Snopes
- '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.