HOME

TheInfoList



OR:

Master/slave is a
model A model is an informative representation of an object, person or system. The term originally denoted the plans of a building in late 16th-century English, and derived via French and Italian ultimately from Latin ''modulus'', a measure. Models c ...
of asymmetric communication or control where one device or
process A process is a series or set of activities that interact to produce a result; it may occur once-only or be recurrent or periodic. Things called a process include: Business and management *Business process, activities that produce a specific se ...
(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 magne ...
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 that provides
time signal A time signal is a visible, audible, mechanical, or electronic signal used as a reference to determine the time of day. Church bells or voices announcing hours of prayer gave way to automatically operated chimes on public clocks; however, a ...
s used to synchronize one or more
slave clock In telecommunication and horology, a slave clock is a clock that depends on another clock, the master clock. Modern clocks are synchronized through the Internet or by radio time signals, to Coordinated Universal Time. UTC is based on a network ...
s as part of a clock network. ** 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 Replication in computing involves sharing information so as to ensure consistency between redundant resources, such as software or hardware components, to improve reliability, fault-tolerance, or accessibility. Terminology Replication in comp ...
, 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 Oc ...
recorders linked together. Operating the controls on the master triggers the same commands on the slaves so that
recording A record, recording or records may refer to: An item or collection of data Computing * Record (computer science), a data structure ** Record, or row (database), a set of fields in a database related to one entity ** Boot sector or boot record, r ...
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 Multiple-unit train control, sometimes abbreviated to multiple-unit or MU, is a method of simultaneously controlling all the traction equipment in a train from a single location—whether it is a multiple unit comprising a number of self-powered ...
. * In automotive engineering, the
master cylinder In automotive engineering, the master cylinder is a control device that converts force (commonly from a driver's foot) into hydraulic pressure. This device controls slave cylinders located at the other end of the hydraulic brake system. A ...
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 cylinder In automotive engineering, the master cylinder is a control device that converts force (commonly from a driver's foot) into hydraulic pressure. This device controls slave cylinders located at the other end of the hydraulic brake system. A ...
s" 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 Robert Albert Charles Esnault-Pelterie (8 November 1881 – 6 December 1957) was a French aircraft designer and spaceflight theorist. He is referred to as being one of the founders of modern rocketry and astronautics, along with the Russian Kons ...
, published in 1919.


Terminology concerns

In 2003 after receiving a discrimination complaint from a county employee, the
County of Los Angeles Los Angeles County, officially the County of Los Angeles, and sometimes abbreviated as L.A. County, is the most populous county in the United States and in the U.S. state of California, with 9,861,224 residents estimated as of 2022. It is th ...
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 its ...
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 Python is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation. Python is dynamically-typed and garbage-collected. It supports multiple programming p ...
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 br ...
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 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 Git () is a distributed version control system: tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data in ...
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 Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
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 Flexible Single Master Operations (FSMO, F is sometimes "floating"; pronounced Fiz-mo), or just single master operation or operations master, is a feature of Microsoft's Active Directory (AD). As of 2005, the term FSMO has been deprecated in favour ...
*
Bus mastering In computing, bus mastering is a feature supported by many bus architectures that enables a device connected to the bus to initiate direct memory access (DMA) transactions. It is also referred to as first-party DMA, in contrast with third-party ...
* Master clock *
Multi-master replication Multi-master replication is a method of database replication which allows data to be stored by a group of computers, and updated by any member of the group. All members are responsive to client data queries. The multi-master replication system i ...
*
SCSI initiator and target In computer data storage, a SCSI initiator is the endpoint that initiates a SCSI session, that is, sends a SCSI command. The initiator usually does not provide any Logical Unit Numbers (LUNs). On the other hand, a SCSI target is the endpoint that ...


References

{{Reflist Network protocols Distributed computing architecture