Master/Slave
Seitenversionsstatus
Dies ist eine gesichtete Version dieser Seite
Master/Slave (englisch fürHerr/Sklave) ist in derInformationstechnik eine Form der hierarchischen Verwaltung von Zugriffen auf gemeinsame Ressourcen meist in Form eines gemeinsamen Datenkanals bei zahlreichen Problemstellungen derRegelung undSteuerung.
Aufgrund der Terminologie aus Zeiten derSklaverei werden ausantirassistischen Erwägungen heraus in vielen Bereichen alternative Ausdrücke wieController/Peripheral verwendet.[1]
Grundproblem
[Bearbeiten |Quelltext bearbeiten]Für die Datenübertragung steht nur ein gemeinsamer Übertragungskanal zur Verfügung (z. B. als Funkstrecke oder in Form einesDatenbusses). Wenn mehrere Teilnehmer gleichzeitig senden würden, könnte keine Übertragung mehr stattfinden, da dann auf dem Bus bei den empfangenden Teilnehmern nur noch verstümmelte Daten ankämen. Es muss also eine Möglichkeit geschaffen werden, dass sich die Teilnehmer im gegenseitigen Einvernehmen den Datenkanal zeitlich teilen. Eine Möglichkeit ist, das Master/Slave-Prinzip anzuwenden.
Arbeitsprinzip
[Bearbeiten |Quelltext bearbeiten]Ein Teilnehmer ist derMaster, alle anderen sind dieSlaves. Der Master hat als einziger das Recht, unaufgefordert auf die gemeinsame Ressource, den Bus, zuzugreifen. Der Slave kann von sich aus nicht auf die gemeinsame Ressource zugreifen; er muss warten, bis er vom Master gefragt wird (Polling) oder über eine an der gemeinsamen Ressource vorbei gehenden Verbindung dem Master anzeigen, dass er gefragt werden will.
Vor- und Nachteile
[Bearbeiten |Quelltext bearbeiten]Hauptvorteil ist, dass der Master die Zugriffsverhältnisse beherrscht: um ihn wird das System aufgebaut, was die Planung einfach macht.
Master-Slave-Architekturen können auch mit demToken Bus kombiniert werden, wobei dann nur die Master den Token weitergeben.
Ein großer Nachteil ist, dass keine direkte Kommunikation zwischen Slaves möglich ist. Mithin ist das Abfragen (Polling) der Slaves durch den Master ineffizient.
Einsatz
[Bearbeiten |Quelltext bearbeiten]Eingesetzt wird das Master-Slave-Verfahren zum Beispiel:
- beiMaster-Slave-Steckdosen auf Strom
- bei einemBussystem, z. B.ATA/ATAPI, bei denFeldbussen (Profibus,BITBUS,AS-I etc.) als Zugriffsverfahren, siehe ausführlich:Bus Mastering
- bei einemComputernetzwerk
- bei logischer Schaltnetzwerken wie zweiflankengesteuertenFlipflops
- in derFotografie beimentfesselten Blitzen mitBlitzlichtgeräten
- bei derBluetooth-Technologie, s.Piconet
- in der Kommunikationstechnik (siehePing-Pong-Verfahren)
- beiBewegungsmeldern
- in der Veranstaltungstechnik (z. B. beiMovingheads)
- zwischenDatenbanken, wo ein Master alle Daten eines Slaves ändern kann[2]
Master-Slave bei ATA/ATAPI-Geräten
[Bearbeiten |Quelltext bearbeiten]Im Umfeld der ATA/ATAPI-Schnittstelle werden die beiden von einer ATA/ATAPI-Schnittstelle ansteuerbaren Geräte traditionell alsMaster drive undSlave drive bezeichnet. Dies steht im Gegensatz zu der oben beschriebenen allgemeinen Bedeutung, da beide angeschlossenen Geräte (z. B. Festplatten) in diesem Sinne alsSlaves zu verstehen sind, während alsMaster der Host (normalerweise ist das der PC) fungiert.Nach offizieller Sprachregelung werden jene beiden GeräteDevice 0 bzw.Device 1 genannt. Details hierzu unterATA/ATAPI.
Master-Slave bei Steckdosenleisten
[Bearbeiten |Quelltext bearbeiten]Steckdosenleisten nach dem Master-Slave-Prinzip (sogenannteMaster-Slave-Steckdosenleisten) verfügen über eine Master-Steckdose und (in der Regel mehrere parallelgeschaltete) Slave-Steckdosen. Fließt ein bestimmter Mindeststrom in der Master-Steckdose, wird dies durch die eingebaute Elektronik erkannt, welche darauf auch die Slave-Steckdosen einschaltet. Schaltet man den Master-Verbraucher aus, werden auch die Slaves stromlos. In der Regel verfügt eine solche Steckdosenleiste auch über einen Knopf zur Einstellung der Ansprechempfindlichkeit und eine Signal-LED. Der Hauptvorteil ist, dass nur ein Gerät (Master) ein- bzw. ausgeschaltet werden muss, wenn mehrere elektrisch betriebene Geräte gleichzeitig betrieben werden sollen. Besonders beim Einsatz an einem Computerarbeitsplatz (PC = Master) dient eine solche Master-Slave-Automatik nicht nur der Bequemlichkeit, sondern sie verhindert außerdem, dass das Ausschalten von Peripheriegeräten wie Monitore, Drucker oder aktive Lautsprecher etc. vergessen wird. Nachteil ist ein geringer, permanenter Eigenenergieverbrauch der Steckdosenleiste, auch bei ausgeschalteten Geräten.
Kritik an der Terminologie
[Bearbeiten |Quelltext bearbeiten]Die Terminologie ist seit dem frühen 21. Jahrhundert oft vermieden bzw. durch eine andere ersetzt worden, da die Begriffe „master“ und „slave“ an die Praxis derSklaverei erinnern.
Eine Alternative für Datenbanken ist „primary“ und „replica“, welche in den Dokumentationen vonIBM,[3]Microsoft,[4] Engine Yard,[5]Amazon Web Services,[6]ACM,[7]Python,[8][9]Django,[10][11]Drupal,[12]CouchDB,[13]Redis[14] undMediaWiki (welche immer noch „master“ nutzt) verwendet wird.[15][16]
Im Dezember 2017 entschied dasInternet Systems Consortium die Wörterprimary/secondary als Ersatz für die master/slave-Terminologie in ihrer DNS-SoftwareBIND zuzulassen.[17]
2003 forderte derBezirk Los Angeles inKalifornien Hersteller, Lieferanten und Auftragnehmer auf, die Verwendung von „master“ und „slave“ in ihren Produkten einzustellen; der Bezirk stelle diese Anfrage „basierend auf der kulturellen Vielfalt und Sensibilität von Los Angeles County“.[18][19] Nach Beschwerden über diese Anfrage gab der Bezirk Los Angeles ein Statement ab, in der dieser erklärte, dass die Entscheidung „nichts anderes als ein Antrag“ sei.[20] Nach dieser Kontroverse wählteGlobal Language Monitor, welches die Verwendung derenglischen Sprache analysiert, die Begriffe „master/slave“ als daspolitisch inkorrekteste Wort von 2004.[21]
Die „Black Lives Matter“-Bewegung entfachte die Diskussion im Jahr 2020 erneut.[22][23]
DieModbus Organisation ersetzte im Sommer 2020 das Begriffspaar „Master/Slave“ durch „Client/Server“.[24]
Einzelnachweise
[Bearbeiten |Quelltext bearbeiten]- ↑Sinclair Im: There’s an industry that talks daily about ‘masters’ and ‘slaves.’ It needs to stop. In: The Washington Post (Online-Portal). 12. Juni 2020, abgerufen am 23. September 2020.
- ↑Master-to-Slave replication. IBM, abgerufen am 10. Mai 2012 (englisch).
- ↑IBM Knowledge Center. In: www.ibm.com. Abgerufen am 8. Mai 2018 (amerikanisches Englisch).
- ↑Configure Database Replicas for Management Points. In: technet.microsoft.com. Abgerufen am 8. Mai 2018 (englisch).
- ↑Set Up Database Replication. In: Engine Yard Developer Center. Abgerufen am 8. Mai 2018 (amerikanisches Englisch).
- ↑Working with Read Replicas of MariaDB, MySQL, and PostgreSQL DB Instances - Amazon Relational Database Service. In: docs.aws.amazon.com. Abgerufen am 8. Mai 2018 (englisch).
- ↑Sergey Savinov, Khuzaima Daudjee:Dynamic database replica provisioning through virtualization. In:Proceeding. ACM, 30. Oktober 2010,S. 41–46,doi:10.1145/1871929.1871937 (acm.org).
- ↑ Python joins movement to dump 'offensive' master, slave terms. Abgerufen am 12. September 2018 (englisch).
- ↑Github: Python-Entwickler wollen Begriffe Master und Slave ersetzen - Golem.de. 14. September 2018 (golem.de [abgerufen am 7. Oktober 2018]).
- ↑Fixes #22667. Replaced leader/follower terminology with primary/replica by fcurella · Pull Request #2694 · django/django. Abgerufen im 1. Januar 1
- ↑Multiple databases. In: Django Project. Abgerufen am 8. Mai 2018 (englisch).
- ↑ Replace "master/slave" terminology with "primary/replica" In:Drupal.org, 28. Mai 2014. Abgerufen am 17. April 2018 (englisch).
- ↑ CouchDB - Replace "master" and "slave" terminology (englisch).
- ↑ Redis - Replace "master" and "slave" terms in Redis (englisch).
- ↑Rename DB_SLAVE constant to DB_REPLICA · wikimedia/mediawiki@950cf60. Abgerufen im 1. Januar 1 (englisch).
- ↑https://lists.wikimedia.org/pipermail/wikitech-l/2016-September/086450.html
- ↑ISC explanation via Twitter. Abgerufen im 1. Januar 1 (englisch).
- ↑CNN.com - 'Master' and 'slave' computer labels unacceptable, officials say - Nov. 26, 2003. Abgerufen am 7. Oktober 2018.
- ↑FACT CHECK: Master/Slave. In:Snopes.com. (snopes.com [abgerufen am 7. Oktober 2018]).
- ↑CNN.com - 'Master' and 'slave' computer labels unacceptable, officials say - Nov. 26, 2003. Abgerufen am 7. Oktober 2018.
- ↑'Master/slave' named most politically incorrect term. In: Seattle PI (Hrsg.):seattlepi.com. 3. Dezember 2004 (englisch,seattlepi.com [abgerufen am 7. Oktober 2018]):“The computer term "master/slave," which was banned as racially offensive by a Los Angeles County purchasing department, was named the most politically incorrect term of the year.[...] Among other terms on the top 10 list of politically charged words and phrases, issued by the word usage group Global Language Monitor, were "non-same sex marriage" to describe heterosexual unions, "waitron" for waiter or waitress and "higher being" for God, a term some people found too religious.”
- ↑Sebastian Grüner: Black Lives Matter: Linux-Kernel könnte "inklusive Sprache" bekommen. Golem.de, 6. Juli 2020, abgerufen am 6. Juli 2020 (deutsch).
- ↑Stephen Shankland: Tech terms face scrutiny amid anti-racism efforts. CNET, 10. Juni 2020, abgerufen am 6. Juli 2020 (englisch).
- ↑Modbus Organization Inc.: Modbus Organization Replaces Master-Slave with Client-Server. 9. Juli 2020, abgerufen am 21. Oktober 2020 (englisch).