Kommunikation in verteilten Anwendungen
kvanC, iCompetence, FHNW, Dozent: Simon Marcin, Unterrichtssprache: Englisch
kvanC, iCompetence, FHNW, Dozent: Simon Marcin, Unterrichtssprache: Englisch
Set of flashcards Details
Flashcards | 62 |
---|---|
Language | Deutsch |
Category | Computer Science |
Level | University |
Created / Updated | 13.01.2022 / 25.05.2024 |
Weblink |
https://card2brain.ch/box/20220113_web_engineering
|
Embed |
<iframe src="https://card2brain.ch/box/20220113_web_engineering/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Create or copy sets of flashcards
With an upgrade you can create or copy an unlimited number of sets and use many more additional features.
Log in to see all the cards.
IP: Connection types
- Unicast
- Broadcast
- Multicast
- Anycast
TCP: Layer?
Layer 4 (transport)
TCP: Characteristics
A byte stream
in order and reliably
connection-oriented
Implements flow control and error control.
Faulty packets get discarded and are handled the same as lost packets.
Does not use full band width.
TCP: Header size? Overhead size?
Header: 32 bit
Ovehead: at least 20 bytes
IP: Connection on a host: define five-tuple
- Source IP
- Destination IP
- Source Port
- Destination Port
- Protocol e.g. TCP
TCP: 3-way handshake: SEQ
SEQ: Sequence number
Every transmitted byte of a connection is numbered.
TCP: 3-way handshake: ACK
The byte which is expected to be received next.
TCP: 3-way handshake: FIN
Finish flag: Connection in this direction can be closed
TCP: 3-way handshake: Explain it (SYN, ACK, FIN).
Client: SYN: “Do you wanna talk?”
Server: SYN/ACK:
“I acknowledge you wanting to talk to me. Do you want to talk to me too?” AND “Received all byes up to 100. I’m ready to receive 101 (payed forward).”
Client: ACK: “I received all bytes up to 300. I’m ready to receive 301 (payed forward).”
TCP: 3-way termination: Explain it (SYN, ACK, FIN).
Client: FIN: “I want to close the connection.”
Server: ACK, FIN: “I hear ya (101). I want to close the connection too.”
Client: ACK: “Alright, I hear ya (301)”.
TCP: Congestion Control
- Slow start
- Congestion Avoidance Additive Increase
- Congestion Detection Multiplicate Decrease
TCP: Define socket.
Interface (“glue”) between an app process and network.
Enables two applications to send/receive data between each other.
UDP: Layer?
Layer 4 (Transport)
UDP: Characteristics?
Fast delivery
Connection-less
8 bytes overhead (no handshake, no conn.)
No congestion or flow-control
Faulty packets cannot be detected on UDP level only on app level). → data sent too fast is lost.
UDP: Header size? Overhead size?
Header: 32 bit
Overhead: 8 Bytes
IPC bedeutet?
Inter-Process Communication
IPC für was?
Methoden, um unter Prozessen zu kommunizieren:
– Daten austauschen
– Synchronisation und Notification zwischen Prozessen und/ oder Thread
IPC Methoden aufzählen
– Files
– Signals
– Mutex
– Pipes
– Queues
– Sockets (kommt im Kapitel TCP/IP sockets
Concurrency
- Tasks laufen zur selben Zeit auf einer CPU nach ihrer Priorität.
- Verschiedene Aufgaben (Threads oder Prozesse) werden vom Betriebssystem unterbrochen.
- Der Zeitpunkt von Task Switches kann nicht kontrolliert werden.
Parallelism
Tasks laufen zur selben Zeit auf verschiedenen CPUs (Kernen)
Definition Prozess
Instanz von einem derzeit ausgeführten Programm, das Daten enthält. Ein Prozess enthält mindestens ein oder mehrere Threads, jeder Thread mit seinem Stack und Register.
Definition Thread
Kleinstmögliche Processing-Einheit, die vom Betriebssystem erstellt wird.
Ein Thread existiert immer in einem Prozess.
Definition Single Process/Thread
Die Ausführungsreihenfolge ist bei einem single process/thread noch vorhersagbar.
Definition Multi-Threaded
Ein Prozess besitzt mehrere Threads. Die Daten sind shared. Die Threads haben jeweils ihren eigenen Stack.
Erstellung Prozess vs. Erstellung Thread?
Ein neuer Prozess zu erstellen ist eine langsame und «heavyweight» Operation auf dem Betriebssystem. Mit shared Data zu arbeiten ist daher komplexer.
Im Vergleich zum Erstellen neuer Prozesse ist das Erstellen von neuen Threads eine „lightweight“ und schnelle Operation im Betriebssystem.
Race Condition Definition und Kontext
Eine Race-Condition entsteht dann, wenn zwei oder mehrere Threads / Prozesse auf dieselbe shared Ressource zugreifen; diese zur gleichen Zeit verändern.
IPC Methode: Files
Gleichzeitiges Lesen/Schreiben nicht möglich, es wird eine Art Synchronisierung benötigt.
Sofern das Filesystem shared ist, kann diese Methode auch für inter-node Kommunikation verwendet werden.
IPC Methode: Signals
Kleine Nachricht, die einen Prozess benachrichtigt, dass etwas passiert ist.
IPC Methode: Was passiert bei einem Signal?
Wenn ein Signal zu einem Prozess geschickt wird, stoppt das OS den normalen Programm-Flow und führt zuerst die Signalmethode aus und führt dann das Programm normal weiter.
IPC Methode: Mutex
Mutex = mutual exclusion = gegenseitiger Ausschluss, Schloss.
Hat 2 Zustände; locked oder unlocked (Boolean)
Wird verwendet, um eine shared Resource zu kontrollieren/synchronisieren.
-
- 1 / 62
-