Master–slave (technology)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Sbmeirow (talk | contribs) at 00:01, 26 June 2020 (→‎Examples: doesn't have a wiki article). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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

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. ^ a b "'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".