Master/slave (technology)
   HOME

TheInfoList



OR:

Master/slave is a model of asymmetric communication or control where one device or process (the "master") controls one or more other devices or processes (the "slaves") 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. The ''master/slave'' terminology was first used in 1904. Since the early 21st century, the terms have become a subject of controversy from their association with
slavery Slavery and enslavement are both the state and the condition of being a slave—someone forbidden to quit one's service for an enslaver, and who is treated by the enslaver as property. Slavery typically involves slaves being made to perf ...
and some organizations have opted to replace them with alternative terms.


Examples

* In electronics, master/slave relationships are used to describe some of the following scenarios: ** In parallel ATA
hard drive A hard disk drive (HDD), hard disk, hard drive, or fixed disk is an electro-mechanical data storage device that stores and retrieves digital data using magnetic storage with one or more rigid rapidly rotating platters coated with mag ...
arrangements, the terms master and slave are used to describe drives on the same cable, but neither drive has control or priority over the other. ** A
master clock Master or masters may refer to: Ranks or titles * Ascended master, a term used in the Theosophical religious tradition to refer to spiritually enlightened beings who in past incarnations were ordinary humans *Grandmaster (chess), National Master ...
that provides time signals used to synchronize one or more slave clocks as part of a
clock network A clock network or clock system is a set of synchronized clocks designed to always show exactly the same time by communicating with each other. Clock networks usually consist of a central master clock kept in sync with an official time source, ...
. ** In AXI, master and slave have differing roles, with master initiating transactions and the slave responding to those transactions. ** A
Serial Peripheral Interface The Serial Peripheral Interface (SPI) is a synchronous serial communication interface specification used for short-distance communication, primarily in embedded systems. The interface was developed by Motorola in the mid-1980s and has become a ...
bus typically has a single master controlling multiple slaves. Many people recommend using more modern terms (controller, peripheral, etc.) and discontinuing the use of master/slave terms. ** Edge-triggered flip-flops can be created by arranging two latches (master latch and slave latch) in a master-slave configuration. It is named because the master latch controls the slave latch's value and forces the slave latch to hold its value, as the slave latch always copies its new value from the master latch. * In database replication, the master database is regarded as the authoritative source, and the slave (also called replica) databases are synchronized to it. * In photography, secondary or slave flash units may be synchronized to the master unit to provide light from additional directions. *
Duplication Duplication, duplicate, and duplicator may refer to: Biology and genetics * Gene duplication, a process which can result in free mutation * Chromosomal duplication, which can cause Bloom and Rett syndrome * Polyploidy, a phenomenon also known ...
is often done with several cassette tapes or
compact disc The compact disc (CD) is a digital optical disc data storage format that was co-developed by Philips and Sony to store and play digital audio recordings. In August 1982, the first compact disc was manufactured. It was then released in O ...
recorders linked together. Operating the controls on the master triggers the same commands on the slaves so that recording is done in parallel. * 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. * In automotive engineering, the master cylinder is a control device that converts force into hydraulic pressure in the brake system. This device controls slave cylinders located at the other end of the hydraulic system.


Early usages

The ''master/slave'' terminology was used in 1988 for RFC 1059 and in 1997 for RFC 2136, related to the
domain name system The Domain Name System (DNS) is a hierarchical and distributed naming system for computers, services, and other resources in the Internet or other Internet Protocol (IP) networks. It associates various information with domain names assigned t ...
. In 2020,
Paul Vixie Paul Vixie is an American computer scientist whose technical contributions include Domain Name System (DNS) protocol design and procedure, mechanisms to achieve operational robustness of DNS implementations, and significant contributions to open ...
commented on his choice of words:
I introduced the master/slave terminology in RFC 2136, because I needed names for the roles in an AXFR/IXFR transaction, and the zone transfer hierarchy could be more than one layer deep, such that a server might initiate some AXFR/IXFR's to the "primary master" but then respond to AXFR/IXFR's from other servers. In retrospect I should have chosen the terms, "transfer initiator" and "transfer responder". However, the hydraulic brake and clutch systems in my car had " master cylinders" and "slave cylinders", and so I did not think I was either inventing a new use for the words "master" and "slave", or that my use of them for this purpose would be controversial.
Said hydraulic brakes for the automotive industry were patented in 1917 by Malcolm Loughead. The term ''slave cylinder'' was used in other patent applications, including one by Robert Esnault-Pelterie, published in 1919.


Terminology concerns

In 2003 after receiving a discrimination complaint from a county employee, the County of Los Angeles in
California California is a state in the Western United States, located along the Pacific Coast. With nearly 39.2million residents across a total area of approximately , it is the most populous U.S. state and the 3rd largest by area. It is also the m ...
asked that manufacturers, suppliers and contractors stop using ''master'' and ''slave'' terminology on products. Following complaints, the County of Los Angeles issued a statement saying that the decision was "nothing more than a request". Media analytics company
Global Language Monitor The Global Language Monitor (GLM) is a company based in Austin, Texas that collectively documents, analyzes, and tracks trends in language usage worldwide, with a particular emphasis upon the English language. It is particularly known for it ...
placed the term first in their annual list of politically charged language for 2004. In 2018, after a heated debate, developers of the Python programming language replaced the term. The
Black Lives Matter Black Lives Matter (abbreviated BLM) is a decentralized political and social movement that seeks to highlight racism, discrimination, and racial inequality experienced by black people. Its primary concerns are incidents of police bruta ...
movement in the United States sparked renewed discussion and terminology changes in 2020. Some have argued that the change is superficial and that companies should make real change to support the black community.
Google Google LLC () is an American Multinational corporation, multinational technology company focusing on Search Engine, search engine technology, online advertising, cloud computing, software, computer software, quantum computing, e-commerce, ar ...
's developer documentation
style guide A style guide or manual of style is a set of standards for the writing, formatting, and design of documents. It is often called a style sheet, although that term also has multiple other meanings. The standards can be applied either for gene ...
recommends avoiding the term ''master'' in software documentation, especially in combination with ''slave''.


Other terminology

Various replacement terms for 'master' or 'slave' have been proposed and implemented. In 2020, GitHub replaced the default 'master' git branch with 'main', although this action was controversial because of the term's etymology—for example, a master copy of an audio recording. Other replacement names include 'default', 'primary', 'controller', 'root', 'initiator', 'leader', 'director'; and for 'slave', 'performer', 'worker', 'responder', 'device', 'replica', and 'secondary'. Python switched to 'main', 'parent', and 'server'; and 'worker', 'child', and 'helper', depending on context. The Linux kernel has adopted a similar policy to use more specific terms in new code or documentation. Many projects and standards have already used alternative terms since their inception.


See also

* Flexible single master operation * Bus mastering *
Master clock Master or masters may refer to: Ranks or titles * Ascended master, a term used in the Theosophical religious tradition to refer to spiritually enlightened beings who in past incarnations were ordinary humans *Grandmaster (chess), National Master ...
* Multi-master replication * SCSI initiator and target


References

{{Reflist Network protocols Distributed computing architecture