Master/slave (technology)

Master/slave is a model of asymmetric communication or control where one device or process controls one or more other devices or processes and serves as their communication hub. 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] Historically, the master/slave terminology has existed for many decades, and is currently deeply entrenched into the internet, as well as printed books, magazines, manuals, datasheets, and more.

Examples

  • In electronics, master/slave relationships are common terms to describe various aspects of flip-flops, computer buses, and communication protocols.
    • In parallel ATA hard drive arrangements, the terms master and slave are used but neither drive has control over the other. The terms however indicate which device has priority in using the shared communication interface.
    • A master clock that provides time signals used to synchronize one or more slave clocks as part of a clock network.
    • 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.
  • 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.
  • 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 photography, secondary or slave flash units may be synchronized to the master unit to provide light from additional directions.

Terminology concerns

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

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".[4][5] Following outcries about the request, the County of Los Angeles issued a statement saying that the decision was "nothing more than a request".[4] Following the controversy, Global Language Monitor found the term "master/slave" to be the most egregious example of political incorrectness in 2004, and named it the most politically incorrect term of that year; "This is but one more example of the insertion of politics into every facet of modern life, down to the level of the control processes of computer technology."[6]

"Main" and "secondary" has been proposed, enabling reusable interpretation of the remaining acronym labels for connecting. Another alternative for databases is "primary" and "replica", which is used in the documentation from IBM,[7] Microsoft,[8] Engine Yard,[9] Amazon Web Services/Amazon Relational Database Service,[10] and ACM[11] as well as in Python,[12] Django,[13][14] Drupal,[15] CouchDB,[16] Redis[17] and MediaWiki (several of which still uses "master").[18][19] Such issues are often met with aprehension because of the technical difficulty of changing a known identifier, and purely political motivation for doing so. For many use cases pointed out that such changes in terminology are cumbersome and unnecessary, because the master-slave dichotomy has been incorrectly conflated with mastering.[20]

The configuration management tool Salt uses the terms "master" and "minion".[21]

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.[22]

See also

References

  1. "What is master/slave? - Definition from WhatIs.com".
  2. Description of the Microsoft Computer Browser Service from Microsoft KnowledgeBase
  3. Information on Browser Operation from Microsoft KnowledgeBase
  4. "'Master' and 'slave' computer labels unacceptable, officials say". CNN. November 26, 2003.
  5. Master/Slave, Snopes
  6. '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.
  7. "IBM Knowledge Center". www.ibm.com. Retrieved 2018-05-08.
  8. "Configure Database Replicas for Management Points". technet.microsoft.com. Retrieved 2018-05-08.
  9. "Set Up Database Replication". Engine Yard Developer Center. Retrieved 2018-05-08.
  10. "Working with Read Replicas of MariaDB, MySQL, and PostgreSQL DB Instances - Amazon Relational Database Service". docs.aws.amazon.com. Retrieved 2018-05-08.
  11. Savinov, Sergey; Daudjee, Khuzaima (2010-10-30). Dynamic database replica provisioning through virtualization. ACM. pp. 41–46. doi:10.1145/1871929.1871937. ISBN 9781450303804.
  12. "Python joins movement to dump 'offensive' master, slave terms". Retrieved 2018-09-12.
  13. "Fixes #22667. Replaced leader/follower terminology with primary/replica by fcurella · Pull Request #2694 · django/django".
  14. "Multiple databases". Django Project. Retrieved 2018-05-08.
  15. "Replace "master/slave" terminology with "primary/replica"". Drupal.org. 2014-05-28. Retrieved 2018-04-17.
  16. "CouchDB - Replace "master" and "slave" terminology".
  17. "Redis - Replace "master" and "slave" terms in Redis".
  18. "Rename DB_SLAVE constant to DB_REPLICA · wikimedia/mediawiki@950cf60".
  19. https://lists.wikimedia.org/pipermail/wikitech-l/2016-September/086450.html
  20. "Re: Rename offensive terminology (master) - Konstantin Ryabitsev". lore.kernel.org. Archived from the original on June 25, 2020. Git doesn't use "master-slave" terminology -- the "master" comes from the concept of having a "master" from which copies (branches) are made: Mastering (audio). The concept predates the music business and goes back to middle ages when a guild master would create a "master work" or "master piece" that the apprentices could use for study or for imitation.
  21. "Configuring the Salt Minion". SaltStack Inc. Retrieved 2019-04-19.
  22. "ISC explanation via Twitter".
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.