Master–slave (technology)
   HOME

TheInfoList



OR:

In
engineering Engineering is the practice of using natural science, mathematics, and the engineering design process to Problem solving#Engineering, solve problems within technology, increase efficiency and productivity, and improve Systems engineering, s ...
, 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 Slavery is the ownership of a person as property, especially in regards to their labour. Slavery typically involves compulsory work, with the slave's location of work and residence dictated by the party that holds them in bondage. Enslavemen ...
, 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 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, re ...
with linkdevices (i.e. for
cassette tape The Compact Cassette, also commonly called a cassette tape, audio cassette, or simply tape or cassette, is an analog audio, analog magnetic tape recording format for Sound recording and reproduction, audio recording and playback. Invented by L ...
or
compact disc The compact disc (CD) is a Digital media, digital optical disc data storage format co-developed by Philips and Sony to store and play digital audio recordings. It employs the Compact Disc Digital Audio (CD-DA) standard and was capable of hol ...
) linked together so that operating the controls of a master device triggers the same commands on slave devices. Railway
locomotive A locomotive is a rail transport, rail vehicle that provides the motive power for a train. Traditionally, locomotives pulled trains from the front. However, Push–pull train, push–pull operation has become common, and in the pursuit for ...
s 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 Hydraulics () is a technology and applied science using engineering, chemistry, and other sciences involving the mechanical properties and use of liquids. At a very basic level, hydraulics is the liquid counterpart of pneumatics, which concer ...
system, a master cylinder is a control device that converts
force In physics, a force is an influence that can cause an Physical object, object to change its velocity unless counterbalanced by other forces. In mechanics, force makes ideas like 'pushing' or 'pulling' mathematically precise. Because the Magnitu ...
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 A brake is a machine, mechanical device that inhibits motion by absorbing energy from a moving system. It is used for Acceleration, slowing or stopping a moving vehicle, wheel, axle, or to prevent its motion, most often accomplished by means of ...
system. A master clock 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, au ...
s 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 In computer architecture, a bus (historically also called a data highway or databus) is a communication system that transfers data between components inside a computer or between computers. It encompasses both hardware (e.g., wires, optical ...
protocols often use a master-slave relationship. For instance, a
USB Universal Serial Bus (USB) is an industry standard, developed by USB Implementers Forum (USB-IF), for digital data transmission and power delivery between many types of electronics. It specifies the architecture, in particular the physical ...
host manages access to the USB bus shared by any number of USB devices. A
serial peripheral interface Serial Peripheral Interface (SPI) is a de facto standard (with many variants) for synchronous serial communication, used primarily in embedded systems for short-distance wired communication between integrated circuits. SPI follows a masterâ ...
(SPI) bus typically has a single master controlling multiple slaves. I2C and I3C may even have multiple masters on a bus.
Modbus Modbus (or MODBUS) is a client/server data communications protocol in the application layer. It was originally designed for use with programmable logic controllers (PLCs), but has become a ''de facto'' standardization, standard communication pr ...
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. In database replication, the master database is the authoritative source. The slave or replica database is controlled by the master database which repeats its update commands (for example by way of event log) to the slave. The slave therefore retains an exact copy of transaction processed by the source database (up to the most recently transmitted log) This scheme is not as strict as electronic devices sharing a clock, however the slave database only does what the master tells it, unless the slave is promoted due to failure of the master. Some databases implement so called "
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 ...
", where a mix of writeable master nodes and readable nodes are used. These databases are used in scenarios where performance is an acceptable tradeoff for
ACID An acid is a molecule or ion capable of either donating a proton (i.e. Hydron, hydrogen cation, H+), known as a Brønsted–Lowry acid–base theory, Brønsted–Lowry acid, or forming a covalent bond with an electron pair, known as a Lewis ...
properties, for example non mission critical data, like suggesting similar purchases.


Non-examples

The term ''master'' is used in some 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 source code management master may refer to the trunk branch. In
disk imaging A disk image is a snapshot of a storage device's content typically stored in a file on another storage device. Traditionally, a disk image was relatively large because it was a bit-by-bit copy of every storage location of a device (i.e. every ...
the gold master is the version which will be released to manufacturing for duplication. A
Parallel ATA Parallel ATA (PATA), originally , also known as Integrated Drive Electronics (IDE), is a standard interface designed for IBM PC-compatible computers. It was first developed by Western Digital and Compaq in 1986 for compatible hard drives and C ...
(aka IDE)
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 hard disk drive platter, pla ...
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 The Domain Name System (DNS) is a hierarchical and distributed name service that provides a naming system for computers, services, and other resources on the Internet or other Internet Protocol (IP) networks. It associates various information ...
. 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 s ...
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 A hydraulic brake is an arrangement of braking mechanism which uses brake fluid, typically containing glycol ethers or diethylene glycol, to transfer pressure from the controlling mechanism to the braking mechanism. History During 1904, Frederic ...
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 brake A hydraulic brake is an arrangement of braking mechanism which uses brake fluid, typically containing glycol ethers or diethylene glycol, to transfer pressure from the controlling mechanism to the braking mechanism. History During 1904, Frederic ...
s for the automotive industry were patented in 1917 by
Malcolm Loughead Malcolm Lockheed ( né Malcolm Loughead; – ) was an American aviation engineer who formed the Alco Hydro-Aeroplane Company along with his brother, Allan Loughead, also known as Allan Lockheed. This company went on to become the Lockheed Cor ...
. 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 K ...
, 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 Black Lives Matter (BLM) is a Decentralization, decentralized political and social movement that aims to highlight racism, discrimination and Racial inequality in the United States, racial inequality experienced by black people, and to pro ...
movement in the United States sparked renewed discussion, and terminology changes occurred in 2020. Some argued, however, that terminology changes were superficial
performative activism Performative activism is activism done to increase one's social capital rather than because of one's devotion to a cause. This form of engagement often emphasizes visibility over tangible results, focusing on symbolic gestures that align with tre ...
. Various alternate and generally context sensitive terms have been proposed including: * host-client * 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 * dom-sub


Notable events

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 LA County, is the List of United States counties and county equivalents, most populous county in the United States, with 9,663,345 residents estimated in 202 ...
in
California California () is a U.S. state, state in the Western United States that lies on the West Coast of the United States, Pacific Coast. It borders Oregon to the north, Nevada and Arizona to the east, and shares Mexico–United States border, an ...
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 The Linux kernel is a Free and open-source software, free and open source Unix-like kernel (operating system), kernel that is used in many computer systems worldwide. The kernel was created by Linus Torvalds in 1991 and was soon adopted as the k ...
adopted a similar policy to use more specific terms in new code and documentation. In July 2018,
Google Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
's developer
style guide A style guide is a set of standards for the writing, formatting, and design of documents. A book-length style guide is often called a style manual or a manual of style. A short style guide, typically ranging from several to several dozen page ...
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 Git () is a distributed version control system that tracks versions of files. It is often used to control source code by programmers who are developing software collaboratively. Design goals of Git include speed, data integrity, and suppor ...
branch to ''main''.


See also

* * * * *


References

{{Reflist 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