From 159d998c9d6b29505a6d6a8be473b6a1c1db9fcc Mon Sep 17 00:00:00 2001 From: zarron <zarron@student.ethz.ch> Date: Tue, 20 Apr 2021 10:00:31 +0200 Subject: [PATCH] added lecture 7 notes --- README.md | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index cdeaffe..8c92e2c 100644 --- a/README.md +++ b/README.md @@ -60,4 +60,29 @@ Copy the graph $`\Delta+1`$ times and connect all vertexes that where copied fro 1. Assign a random number to all vertexes. 2. If a vertex's number is strictly larger than the ones of its neighbors, remove all neighbors. -3. Repeat from 1. until no reduction has to be made anymore. \ No newline at end of file +3. Repeat from 1. until no reduction has to be made anymore. + +# 6. Lecture +to be written + +# 7. Lecture + +The goal is to develop algorithms that allow read and write access to a shared resource. + +## Basic Algorithms + +In the centralized solution, the object is stored on a single node ath the root of a spanning tree. This root handles all accesses. + +The home-based solution works as above, but with a separate home for each object. (I guess) + +## Arrow Algorithm + +An object lies always at the root of a spanning tree. If another object wants to access it, it traverses the tree up to the root, and inverts the parent/child relations on its way up. If the former root is found, the object is rooted back to the node that issued the request with any routing protocol. + +## Caching + +Like in arrow, but read requests do not move the object, they only copy it and the root remains the same. When an object is read, the edges which the find message traverses are marked with a cache bit, and as soon as the object is written again, those bits are cleared. + +## Ivy And Friends + +Ivy works similar to the arrow algorithm, but every time a __find by u__ message traverses an edge, its parent is directly set to u. This lets new edges become part of the tree, and connects everybody as close as possible to the new root. \ No newline at end of file -- GitLab