Master/slave (technology)
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 other words "The master/slave configuration is basically used for load sharing purposes when 2 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.
Examples
- 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.
Appropriateness of usage
In 2003, the County of Los Angeles in California asked that manufacturers, suppliers and contractors to stop using "master" and "slave" terminology on its products.[5][6] The controversial decision is taken by the county "based on the cultural diversity and sensitivity of Los Angeles County". Following outcries about the decision, the County of Los Angeles issued a statement saying that the decision was "nothing more than a request". Due to the controversy, the term was selected as the most politically incorrect word in 2004 by Global Language Monitor.[7]
In May 2014, github user fcurella submitted a pull request[8] to the github repository for the Python framework django, initially changing it to leader/follower and finally to primary/replica.[9] This triggered an active discussion of the appropriateness of the master/slave terminology as well as the appropriateness of the change.
In June 2014, Drupal 8 did the same as django did, citing that the word "replica" is already in use by IBM, Microsoft, Engine Yard, Amazon Web Services, and ACM.[10]
See also
- Advanced Technology Attachment (ATA), uses master/slave configuration
- Flexible single master operation
- Bus mastering
- Master clock
- Multi-master replication
- SPMD
- SCSI initiator and target
References
- ↑ master/slave - a searchNetworking definition
- ↑ 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.
- ↑ '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
- ↑ replaced occurrences of master/slave terminology with leader/follower
- ↑ Replaced leader/follower terminology with primary/replica
- ↑ https://www.drupal.org/node/2275877#comment-8879237