Chapter 8 Multiple Processor Systems. 8.1 Multiprocessors 8.2 Multicomputers 8.3 Distributed systems



Ähnliche Dokumente
Moderne Betriebssysteme. Kapitel 8. Kapitel 8. Folie: 1. Multiprozessorsysteme. Autor: Andrew S. Tanenbaum

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Kurzanleitung um Transponder mit einem scemtec TT Reader und der Software UniDemo zu lesen

Live Streaming => Netzwerk ( Streaming Server )

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

Softwarelösungen: Versuch 4

ARCHITEKTUR VON INFORMATIONSSYSTEMEN

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

Umbenennen eines NetWorker 7.x Servers (UNIX/ Linux)

Workflow, Business Process Management, 4.Teil

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Vorlesung 11: Netze. Sommersemester Peter B. Ladkin

Diese Anleitung erläutert die Einrichtung des Active Directory Modus im DNS-343.

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Tuning des Weblogic /Oracle Fusion Middleware 11g. Jan-Peter Timmermann Principal Consultant PITSS

OSEK-OS. Oliver Botschkowski. PG AutoLab Seminarwochenende Oktober AutoLab

MailUtilities: Remote Deployment - Einführung

Löschen eines erkannten aber noch nicht konfigurierten Laufwerks

Benutzerkonto unter Windows 2000

Wie können Sie eine Client Lizenz wieder freigeben?

Das neue Volume-Flag S (Scannen erforderlich)

Der Begriff Cloud. Eine Spurensuche. Patric Hafner geops

Konfiguration Firewall (Zyxel Zywall 10) (von Gruppe Schraubenmeier)

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Die Marvel, ein gedrosselter Supercomputer

10.6 Programmier-Exits für Workitems

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen

4D Server v12 64-bit Version BETA VERSION

Verfügbarkeit von Applikationen und Failover Szenarien. Winfried Wojtenek.

Domänenmodell: Fadenkommunikation und -synchronisation

Dynamic Ressource Management

Aufbau eines IT-Servicekataloges am Fallbeispiel einer Schweizer Bank

EEX Kundeninformation

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010

Konzept zur Push Notification/GCM für das LP System (vormals BDS System)

Einrichtung von VPN für Mac Clients bei Nortel VPN Router

Installation der SAS Foundation Software auf Windows

Speicher in der Cloud

Exchange Routing. Heino Ruddat Senior Solution Architect Invenate GmbH. Agenda. Unterschiede zu Exchange 5.5 Architektur

A Kompilieren des Kernels B Lineare Listen in Linux C Glossar Interessante WWW-Adressen Literaturverzeichnis...

ecall sms & fax-portal

UM ALLE DATEN ZU KOPIEREN. ZUNÄCHST die Daten des alten Telefons auf einen Computer kopieren

IMAP und POP. Internet Protokolle WS 12/13 Niklas Teich Seite 1

Monitore. Klicken bearbeiten

ICMP Internet Control Message Protocol. Michael Ziegler

Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme. Vorlesung 4: Memory. Wintersemester 2001/2002. Peter B.

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Grundlagen verteilter Systeme

OPERATIONEN AUF EINER DATENBANK

Man liest sich: POP3/IMAP

300 MBIT WIRELESS ACCESS POINT ROUTER

Lizenzen auschecken. Was ist zu tun?

WINDOWS 8 WINDOWS SERVER 2012

SolarWinds Engineer s Toolset

Websites mit Dreamweaver MX und SSH ins Internet bringen

Softwareanforderungen für Microsoft Dynamics CRM Server 2015

Evil Tech presents: Windows Home Server

Leichte-Sprache-Bilder

Dämon-Prozesse ( deamon )

Tutorial -

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

Windows Server 2008 (R2): Anwendungsplattform

Readme-USB DIGSI V 4.82

TK-Schnittstelleneinrichtung. Redundante Softswitches


OFS: Ein allgemeines Offline-Dateisystem auf Basis von FUSE

Leistungsanalyse unter Linux

Um DynDNS zu konfigurieren, muss ausschließlich folgendes Menü konfiguriert werden:

1CONFIGURATION MANAGEMENT

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Autorisierung von ArcGIS 10.3 for Server ohne Internetverbindung

Betriebssystem Windows - SSH Secure Shell Client

IEEE 802.1x Authentifizierung. IEEE 802.1x Authentifizierung IACBOX.COM. Version Deutsch

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Protected User-Level DMA in SCI Shared Memory Umgebungen

Installation mit Lizenz-Server verbinden

CRIBMASTER TECH DOC. Störbehebung bei Ausführung des Connectivity Checkers

KIP Druckerstatus Benutzerhandbuch KIP Druckerstatus Installations- und Benutzerhandbuch

ITT WEB-Service DEMO. Kurzbedienungsanleitung

Prozessarchitektur einer Oracle-Instanz

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Formular»Fragenkatalog BIM-Server«

Contents. Interaction Flow / Process Flow. Structure Maps. Reference Zone. Wireframes / Mock-Up

Software Defined Networking. und seine Anwendbarkeit für die Steuerung von Videodaten im Internet

Verwendung des Terminalservers der MUG

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Lizenzierung von Windows Server 2012

Parallelrechner (1) Anwendungen: Simulation von komplexen physikalischen oder biochemischen Vorgängen Entwurfsunterstützung virtuelle Realität

Modul 6 Virtuelle Private Netze (VPNs) und Tunneling

Virtual Private Network

ICS-Addin. Benutzerhandbuch. Version: 1.0

Produktbeschreibung zum docuform Mercury Cluster & Reprint Modul

Algorithms & Datastructures Midterm Test 1

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

Autorisierung von ArcGIS 10.3 for Server mit Internetverbindung

Der/die KursleiterIn kann sowohl die Einträge als auch die geposteten Kommentare in allen drei Blog- Typen bearbeiten, kommentieren und löschen.

Transkript:

Chapter 8 Multiple Processor Systems 8.1 Multiprocessors 8.2 Multicomputers 8.3 Distributed systems

Multiprocessor Systems Continuous need for faster computers shared memory model message passing multiprocessor wide area distributed system

Multiprocessors Definition: A computer system in which two or more CPUs share full access to a common RAM

Multiprocessor Hardware (1) Bus-based multiprocessors 4

Multiprocessor Hardware (2) UMA Multiprocessor using a crossbar switch

Multiprocessor Hardware (3) UMA multiprocessors using multistage switching networks can be built from 2x2 switches (a) 2x2 switch (b) Message format

Multiprocessor Hardware (4) Omega Switching Network

Multiprocessor Hardware (5) NUMA Multiprocessor Characteristics 1. Single address space visible to all CPUs 2. Access to remote memory via commands - LOAD - STORE 3. Access to remote memory slower than to local

Multiprocessor Hardware (6) (a) 256-node directory based multiprocessor (b) Fields of 32-bit memory address (c) Directory at node 36

Multiprocessor OS Types (1) Bus Jede CPU hat ein eigenes BS

Multiprocessor OS Types (1) Unterteilung des HS in n (hier =4)Partitionen Jede CPU hat eigenen Speicher und Kopie des BS Optimierung: BS-Code liegt nur einmal im Speicher und wird von allen CPUs genutzt n CPUs arbeiten eigentlich nur wie n unabhängige Computer, aber: gemeinsamer Zugriff auf Datenträger und Ein-/Ausgabegeräte flexible Nutzung des gemeinsamen Speichers Effektive Kommunikation über den gemeinsamen Speicher, (Erzeuger schreibt Daten dierekt in den Puffer des Verbrauchers)

Multiprocessor OS Types (1) Primitiver Ansatz mit Nachteilen Jedes BS hat seine eigenen Tabellen es kann keinen Lastausgleich (load ballance) geben. D.h.: meldet sich ein Benutzer an einem Knoten an, starten alle seine weiteren Prozesse auf der selben CPU Speicher wird gemeinsam genutzt aber nicht dynamisch verteilt, deshalb kann leicht eintreten: Knoten n hat nichts zu tun und freien Speicher Knoten m braucht zusätzlichen Speicher und muss deshalb Seiten auslagern Puffer-Caches von Plattenspeicherblöcken werden von jedem Knoten unabhängig gehalten und können modifiziert werden Cacheinkonsistenz

Multiprocessor OS Types (Master Slave) Fazit: das Modell ist historisch überholt: stammt aus Anfangszeit der Multiprozessorsysteme war eine einfache Möglichkeit, BS schnell für Multiprozessoren anzupassen

Multiprocessor OS Types (Master Slave) Bus Master-Slave Multiprozessoren

Multiprocessor OS Types (Master Slave) BS und seine Tabellen gibt es nur einmal (nur auf einem Knoten) Alle Systemaufrufe werden zu CPU 1 umgeleitet Löst viele Probleme des alten Modells Lastausgleich (load ballance) für CPU-Auslastung ist möglich Speicherzuteilung kann dynamisch erfolgen Master wird leicht zum Flaschenhals (bei 10% Systemaufrufe ist der Master ab 10 CPUs ausgelasten) Nur für Systeme mit wenig Knoten geeignet

Multiprocessor OS Types (SMP) Bus Symmetrische Multiprocessoren

Multiprocessor OS Types (SMP) Beseitigt Asymmetrie von Master-Slave Modell Jede CPU kann in den BS-Kern eintreten Balanciert Prozesse und Speicher dynamsich aus (globale BS-Tabellen vorhanden) Konflikte: Zwei CPUs treten gleichzeitig in den BS-Kern ein und beanspruchen gleiche Resourcen (Speicherseite etc.) Setzen eines Mutex beim Eintritt in BS-Kern zur Sequentialisierung der BS-Funktionen löst Konflikt, aber: ist fast so schlecht wie das Master-Slave Modell, denn: bei 10% Systemaufrufe und mehr als zehn CPUs wächst die Zahl der inaktiven, wartenden CPUs

Multiprocessor OS Types (SMP) Vermeidung der Wartezeiten durch massive Anpassungen der BSe: Aufteilung der BS-Komponenten in unabhängige kritische Regionen wie Schedular, Dateisystem, Seitenfehlerbehandlung etc: Jede kritische Region ist durch ihren eigenen Mutex geschützt erlaubt höheren Parallelitätsgrad Aber: Resourcen können in mehreren kritischen Bereichen benötigt werden (z.b. Prozesstabelle vom Schedular, der Forck-Funktion und der Signalbehandlung) Jede Tabelle, die von mehreren BS-Funktionen benutzt wird, muss mit einem eigenen Mutex geschützt werden. Dieser muss von jeder Funktion richtig benutzt werden (Gefahr von Deadlocks)

Multiprocessor Synchronization (1) Aus Kapitel 2 im Einprozessorumfeld bekannt: Schutz des kritischen Bereichs durch Sperrung von Interrupts atomare TSL-Anweisungen Im Multiprozessorbetrieb ist TSL nicht ausreichend! Lösungen: Hardware: TSL so implementieren, dass er den Bus blockiert. Erfordert spezielle Busfunktionen, die nicht von jedem Bus erfüllt werden. TSL ist aktives Warten (Spinlock)

Multiprocessor Synchronization (1) Software -Petersons Protokoll (1981) Verwendung der Cache-Kohärenz Mechanismen (z.b. MESI-Protokoll mit Snoopy Logic): Ist Variable x mit TSL (als Mutex) von CPU 1 gelockt und CPU 2 liest die mit TSL x (=1) in den Cache, so wird CPU 2 informiert, wenn CPU 1 den Wert von x verändert (freigibt) nicht praktikabel, führt zu Casche-Flattern wegen Größe der Cache Lines Lesen ob der Mutex gerade frei ist nein: wieder aktiv warten durch einfaches Lesen ja: TSL ausführen Vorteil: TSL wird seltener ausgeführt und damit das Cache-Flattern vermieden sonst wie oben (CPU1 gibt frei und alle anderen Caches werden ungültig und werden neu gelesen)

Multiprocessor Synchronization (2) Einsatz von mehreren Sperren zur Vermeidung von Cache-Flattern

Multiprocessor Synchronization (3) Aktives Warten (Spinning) versus Prozessumschaltung (Switching) Soll ein Prozess aktiv auf einen Mutex warten oder sollte das BS zwischendurch einen anderen Prozess/Thread aktivieren? (Problem gibt es nicht bei Einprozessorsystemen - bekommt ein Thread einen Lock nicht, sollte das BS den Thread arbeiten lassen, der den Lock freigeben kann) Manchmal geht Umschalten nicht: Ist beispielsweise die Prozesstabelle gesperrt, kann der Schedular keinen anderen Prozess aktivieren Andernfalls gibt es die Wahl Teufel und Belzebub Aktives Warten benötigt unproduktive CPU Zyklen Umschalten benötigt CPU Zyklen für:

Multiprocessor Synchronization (3) Umschalten benötigt CPU Zyklen für: CPU sichert Zustand des aktuellen Threads BS fordert Sperre für Liste der Rechenbereiten Prozesse Schedular muss einen Thread auswählen dessen Zustand laden und starten Cache Blöcke der CPU sind wahrscheinlich ungültig und müssen teuer nachgeladen werden TLB der MMU ist ungültig und muss teuer nachgeladen werden. Irgendwann wird wieder zurückgeschaltet mit den gleichen Kosten Ist es nicht besser, aktiv zu warten? kommt drarauf an, wielange gewartet werden muss. war Gegenstand der Forschung bis 1991 Varianten, falls ein Mutex nicht zugeteilt werden kann: Thread wartet aktiv eine definierte Zeit, erst danach wird umgeschaltet BS protokolliert alle Wartezeiten und benutzt sie bei der Entscheidung

Multiprocessor Scheduling (1) Timesharing note use of single data structure for scheduling

Multiprocessor Scheduling (2) Space sharing multiple threads at same time across multiple CPUs

Multiprocessor Scheduling (3) Problem with communication between two threads both belong to process A both running out of phase

Multiprocessor Scheduling (4) Solution: Gang Scheduling 1. Groups of related threads scheduled as a unit (a gang) 2. All members of gang run simultaneously on different timeshared CPUs 3. All gang members start and end time slices together

Multiprocessor Scheduling (5) Gang Scheduling

Multicomputers Definition: Tightly-coupled CPUs that do not share memory Also known as cluster computers clusters of workstations (COWs)

Multicomputer Hardware (1) Interconnection topologies (a) single switch (b) ring (c) grid (d) double torus (e) cube (f) hypercube

Multicomputer Hardware (2) Switching scheme store-and-forward packet switching

Multicomputer Hardware (3) Network interface boards in a multicomputer

Low-Level Communication Software (1) If several processes running on node need network access to send packets Map interface board to all process that need it If kernel needs access to network Use two network boards one to user space, one to kernel

Low-Level Communication Software (2) Node to Network Interface Communication Use send & receive rings coordinates main CPU with on-board CPU

User Level Communication Software Minimum services provided send and receive commands (a) Blocking send call These are blocking (synchronous) calls (b) Nonblocking send call

Remote Procedure Call (1) Steps in making a remote procedure call the stubs are shaded gray

Remote Procedure Call (2) Implementation Issues Cannot pass pointers call by reference becomes copy-restore (but might fail) Weakly typed languages client stub cannot determine size Not always possible to determine parameter types Cannot use global variables may get moved to remote machine

Distributed Shared Memory (1) Note layers where it can be implemented hardware operating system user-level software

Distributed Shared Memory (2) Replication (a) Pages distributed on 4 machines (b) CPU 0 reads page 10 (c) CPU 1 reads page 10

Distributed Shared Memory (3) False Sharing Must also achieve sequential consistency

Multicomputer Scheduling Load Balancing (1) Process Graph-theoretic deterministic algorithm

Load Balancing (2) Sender-initiated distributed heuristic algorithm overloaded sender

Load Balancing (3) Receiver-initiated distributed heuristic algorithm under loaded receiver

Distributed Systems (1) Comparison of three kinds of multiple CPU systems

Distributed Systems (2) Achieving uniformity with middleware

Network Hardware (1) Computer (a) (b) Ethernet (a) classic Ethernet (b) switched Ethernet

Network Hardware (2) The Internet

Network Services and Protocols (1) Network Services

Network Services and Protocols (2) Internet Protocol Transmission Control Protocol Interaction of protocols

Document-Based Middleware (1) The Web a big directed graph of documents

Document-Based Middleware (2) How the browser gets a page 1. Asks DNS for IP address 2. DNS replies with IP address 3. Browser makes connection 4. Sends request for specified page 5. Server sends file 6. TCP connection released 7. Browser displays text 8. Browser fetches, displays images

File System-Based Middleware (1) (a) (b) Transfer Models (a) upload/download model (b) remote access model

File System-Based Middleware (2) Naming Transparency (b) Clients have same view of file system (c) Alternatively, clients with different view

File System-Based Middleware (3) Semantics of File sharing (a) single processor gives sequential consistency (b) distributed system may return obsolete value

File System-Based Middleware (4) AFS Andrew File System workstations grouped into cells note position of venus and vice Client's view

Shared Object-Based Middleware (1) Main elements of CORBA based system Common Object Request Broker Architecture

Shared Object-Based Middleware (2) Scaling to large systems replicated objects flexibility Globe designed to scale to a billion users a trillion objects around the world

Shared Object-Based Middleware (3) Globe structured object

Shared Object-Based Middleware (4) A distributed shared object in Globe can have its state copied on multiple computers at once

Shared Object-Based Middleware (5) Internal structure of a Globe object

Coordination-Based Middleware (1) Linda independent processes communicate via abstract tuple space Tuple like a structure in C, record in Pascal 1. Operations: out, in, read, eval

Coordination-Based Middleware (2) Publish-Subscribe architecture

Coordination-Based Middleware (3) Jini - based on Linda model devices plugged into a network offer, use services Jini Methods 1. read 2. write 3. take 4. notify