Look up master or slave in Wiktionary, the free dictionary.
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.[1][2][3]
Master–slave terminology was first used in 1904.[4] Since the early 21st century, the terms have become a subject of controversy from their association with
slavery and some organizations have opted to replace them with alternative terms, such as controller/peripheral or main/helper.[5][6][7]
In electronics, master–slave relationships are used to describe some of the following scenarios:
Parallel ATA (aka IDE)
hard drive electronics support two hard drives on a cable, which were designated master and slave. Neither drive has control or priority over the other, although only one drive can transfer data at a time. On earlier systems, master/slave must be configured on each drive; later drives supported "cable select", selecting a role based on the drive's position on the PATA bus cable.
A
master clock that provides
time signals used to synchronize one or more
slave clocks as part of a
clock network; a slave clock receives and displays the time from a master; though it may be able to keep time itself if the master is not working.
In
AXI, master and slave have differing roles, with the master initiating transactions and the slave responding to those transactions.
A
Serial Peripheral Interface bus typically has a single master controlling multiple slaves. Many people recommend using more modern terms (main/sub, controller/peripheral, etc.) and discontinuing the use of master/slave terms.[8][9][10][11]
An edge-triggered flip-flop can be created by arranging two
gated latches in a
master–slave configuration. It is so 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 is often done with several
cassette tapes 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.
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 but one of the locomotives in a train controlled from 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.
In the creation of audio recordings, a
master copy is created as a finalization of the audio mix, to save it to be used as a source for future copies.
A
primary standard in metrology have been referred to as a master (e.g. master kilogram).
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. In 2020,
Paul Vixie 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.[12]
In 2003, after receiving a discrimination complaint from a county employee, the
County of Los Angeles in
California asked that manufacturers, suppliers and contractors stop using master and slave terminology on products.[15][16] Following complaints, the County of Los Angeles issued a statement saying that the decision was "nothing more than a request".[15] Media analytics company
Global Language Monitor placed the terms first in their annual list of politically charged language for 2004.[17]
In 2018, after a heated debate, developers of the
Python programming language replaced the term.[7] The
Black Lives Matter movement in the United States sparked renewed discussion and terminology changes in 2020.[18] Some have argued that the change is superficial, likening it to
performative activism. [19][6]Google's developer documentation
style guide recommends avoiding the term master in software documentation, especially in combination with slave.[20][when?] In 2020, GitHub replaced the default mastergit branch with main.[18]
Other terminology
Various replacement terms for master or slave have been proposed and implemented. For master, replacement names include controller, default, director, host, initiator, leader, manager, primary, principal, and root. For slave, replacement names include agent, client, device, performer, peripheral, replica, responder, satellite, secondary, subordinate, worker, and follower.[18][6][21][22][23][24][25]
Python switched to main, parent, and server; and worker, child, and helper, depending on context.[7][26] The
Linux kernel has adopted a similar policy to use more specific terms in new code or documentation.[22][27] Other projects and standards have used alternative terms since their inception.
^'Master/slave' named most politically incorrect term, Seattle PI, December 2, 2004, "We found 'master/slave' to be the most egregious example of political correctness in 2004," said Paul JJ Payack, president of The Global Language Monitor.