aboutsummaryrefslogtreecommitdiff
path: root/sem5
diff options
context:
space:
mode:
Diffstat (limited to 'sem5')
-rw-r--r--sem5/net/mm12/noter.md71
-rw-r--r--sem5/sig/mm9/opg1del1.py2
2 files changed, 72 insertions, 1 deletions
diff --git a/sem5/net/mm12/noter.md b/sem5/net/mm12/noter.md
new file mode 100644
index 0000000..c60d913
--- /dev/null
+++ b/sem5/net/mm12/noter.md
@@ -0,0 +1,71 @@
+```
+2020-10-15:s5/net/mm12/noter #6be5
+```
+# Sidste gang
+## Konklusion af opgaver fra sidste gang
+
+Fejl i TCP afhænger meget af hvilke pakker der bliver tabt.
+
+## TCP wireless
+
+TCP performance is very affected by wireless errors.
+Solutions:
+
+ - Can use some special ACK which uses bitfields for acking multiple packets.
+ Also called *SACK*, i think.
+
+ - Can Also terminate TCP in the middle and switch over to another protocol.
+ Then move back to TCP at the other end of wireless.
+
+ - Modify layer 2 to work better with TCP.
+ - Can for example check if dupack and then drop it.
+
+FEJL PÅ SLIDES: slide 31 "down-stream" skal være "up-stream".
+
+# Fault tolerance
+
+Dette er noter fra mm12.
+
+How to handle faults in a network of services?
+
+1. Define a list of possible errors, with likelihood.
+ Here errors can be prioritised based on likelihood and impact.
+
+ Also called *Fault analysis*.
+
+## Types of failures
+
+ - Crash
+ - Timing
+ - Assertive
+ - Arbitrary/Byzantine
+
+## Metrics
+
+**Availability** is the fraction of time the system is available.
+For very reliable systems this should be $1-10^5$.
+
+If there is **replication** the availability becomes $1-(1-A)^N$, where N is the
+number of servers.
+
+## Replication
+
+> If availability is to low, just throw more servers at it. /s
+
+Have multiple servers.
+How to split traffic between servers:
+
+ - Just give a list of servers
+
+ Means clients must do failover themselves.
+ Sometimes this is not desirable.
+
+ - Have servers on the same ip address.
+ So the client is unaware.
+
+ This makes a constraint on the network, which must to load balancing.
+ This could be done with a load balancer or with ARP.
+
+ - Have name servers which update depending on server availability.
+
+TODO: Cluster framework.
diff --git a/sem5/sig/mm9/opg1del1.py b/sem5/sig/mm9/opg1del1.py
index d5b50d4..21456ec 100644
--- a/sem5/sig/mm9/opg1del1.py
+++ b/sem5/sig/mm9/opg1del1.py
@@ -1,4 +1,4 @@
-# 2020-04-07:s5/sig/mm9/opg/2 #7d4a
+# 2020-10-07:s5/sig/mm9/opg/2 #039b
import numpy as np
import matplotlib.pyplot as plt