Master–slave (technology). In engineering, master–slave is a relationship between two systems in which one controls the other. In some cases one master controls just one slave system, but in others there are multiple slave systems controlled by the same master. Sometimes the master is a different kind of system than the slave, but sometimes there are multiple similar systems and one of them is designated the master in order to centralize external (i.e. user) control of the collection.

Due to its connection to slavery, the terminology is a subject of controversy and has been replaced with alternative terms in some cases.

Examples 

In photography, secondary, or slave, flash units are connected to a master unit to provide synchronized lighting.

Parallel audio duplication often entails multiple recording devices (i.e. for cassette tape or compact disc) linked together so that operating the controls of a master device triggers the same commands on slave devices.

Railway locomotives operating in the same train (for example, to pull a load too heavy for a single locomotive) may be configured for master–slave operation with all but one of the locomotives controlled from the first. See Multiple-unit train control.

In a hydraulic system, a master cylinder is a control device that converts force into hydraulic pressure that drives movement in a slave cylinder at the other end of the hydraulic line. A common application is a vehicle brake system.

A master clock 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.

Computing 
Computer bus protocols often use a master-slave relationship. For instance, a USB host manages access to the USB bus shared by any number of USB devices. A serial peripheral interface (SPI) bus typically has a single master controlling multiple slaves. I2C and I3C may even have multiple masters on a bus. Modbus also uses a master device to initiate connection requests to slave devices.

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.

Non-examples 

The term master is used in many technology contexts that do not refer to a relationship of control. Master may be used to mean a copy that has more significance than other copies in which case the term is an absolute concept; not a relationship. Sometimes the term master-slave is used in contexts that do not imply a controlling relationship.

In database replication, the master database is the authoritative source. A replica database, sometimes called a slave, is synchronized to it but is not controlled by it.

A Parallel ATA (aka IDE) hard drive interface supports two hard drives on a cable, which are designated master and slave. The distinction is required by the interface even though neither drive has control or priority over the other.

History 

The master–slave terminology was first used in 1904. 

The 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.

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.

Controversy 

Media analytics company Global Language Monitor placed master/slave first in their annual list of politically charged language for 2004. The Black Lives Matter movement in the United States sparked renewed discussion, and terminology changes occurred in 2020. Some argued, however, that terminology changes were superficial performative activism.  None-the-less, various alternate and generally context sensitive terms have been proposed including:

 primary-secondary
 main-replica or subordinate
 initiator-target
 requester-responder
 controller-target or device
 host-worker or proxy
 leader-follower
 director-performer
 boss-worker
 primary-replica
 principal-agent
 controller-worker
 primary-subordinate

Notable events

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. Following complaints, the County of Los Angeles issued a statement saying that the decision was "nothing more than a request". 

In 2018, after a heated debate, developers of Python replaced the term. Python switched to main, parent, and server; and worker, child, and helper, depending on context. The Linux kernel adopted a similar policy to use more specific terms in new code and documentation.

In July 2018, Google's developer style guide was updated to include avoiding the term master in software documentation, especially in combination with slave. Instead, the guide recommends terms --when in combination -- such as primary/secondary and original/replica ; Many individual variants of master and slave are given. 

In 2020, GitHub renamed the default master git branch to main.

See also

References 

AT Attachment
Network protocols
Distributed computing architecture
African-American-related controversies
Connotation
Linguistic controversies
Politics and race in the United States
Race-related controversies
Metaphors referring to people
1900s neologisms