aboutsummaryrefslogtreecommitdiff
path: root/chapter/4/dist-langs.md
diff options
context:
space:
mode:
authorConnor Zanin <cnnrznn@gmail.com>2016-12-11 22:32:24 -0500
committerConnor Zanin <cnnrznn@gmail.com>2016-12-11 22:32:24 -0500
commit44c0b2611d4ab0dc6b8ab8d93854ff0b982f3e85 (patch)
tree47c9f2d2787936560a5a8dceb6fdac1307e3e092 /chapter/4/dist-langs.md
parent5d64d3aa62c8e08457c71e1d60cd60433d1234c3 (diff)
.
Diffstat (limited to 'chapter/4/dist-langs.md')
-rw-r--r--chapter/4/dist-langs.md7
1 files changed, 6 insertions, 1 deletions
diff --git a/chapter/4/dist-langs.md b/chapter/4/dist-langs.md
index d4fbed6..481a12c 100644
--- a/chapter/4/dist-langs.md
+++ b/chapter/4/dist-langs.md
@@ -102,7 +102,12 @@ To accomplish this, Mirage uses a protocol for requesting read or write access t
Depending on the permissions of the current "owner" of a page, the page may be invalidated on other nodes.
The behavior of the protocol is outlined by the table below.
-
+| State of Owner | State of Requester | Clock Check? | Invalidation? |
+|----------------|--------------------|--------------|-------------------------------------------------------------|
+| Reader | Reader | No | No |
+| Reader | Writer | Yes | Yes, Requester is possibly sent current version of the page |
+| Writer | Reader | Yes | No, Owner is demoted to Reader |
+| Writer | Writer | Yes | Yes |
Crucially, the semantics of this protocol are that at any time there may only be either (1) a single writer or (2) one or more readers of a page.
When a single writer exists, no other copies of the page are present.