Slave (device)
   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 Plan_(drawing), plans of a building in late 16th-century English, and derived via French and Italian ultimately from Latin ''modulus'', a mea ...
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 Parallel ATA (PATA), originally , also known as 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 CD or DVD drives. The connection ...
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 magnet ...
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 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, audi ...
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 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 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 tape The Compact Cassette or Musicassette (MC), also commonly called the tape cassette, cassette tape, audio cassette, or simply tape or cassette, is an analog magnetic tape recording format for audio recording and playback. Invented by Lou Ottens ...
s or
compact disc The compact disc (CD) is a Digital media, 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 rele ...
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, ...
is done in parallel. * Railway
locomotive A locomotive or engine is a rail transport vehicle that provides the Power (physics), motive power for a train. If a locomotive is capable of carrying a payload, it is usually rather referred to as a multiple unit, Motor coach (rail), motor ...
s 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 A brake is a mechanical device that inhibits motion by absorbing energy from a moving system. It is used for slowing or stopping a moving vehicle, wheel, axle, or to prevent its motion, most often accomplished by means of friction. Background ...
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 to ...
. 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, Frederick ...
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 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, Frederick ...
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 Corpora ...
. 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 the ...
in
California California is a U.S. state, state in the Western United States, located along the West Coast of the United States, Pacific Coast. With nearly 39.2million residents across a total area of approximately , it is the List of states and territori ...
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 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 technology company focusing on search engine technology, online advertising, cloud computing, computer software, quantum computing, e-commerce, artificial intelligence, and consumer electronics. ...
'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 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 inte ...
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 The Linux kernel is a free and open-source, monolithic, modular, multitasking, Unix-like operating system kernel. It was originally authored in 1991 by Linus Torvalds for his i386-based PC, and it was soon adopted as the kernel for the GNU ope ...
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 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 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