Do exercise the following exercises in the book (10 points each)
3.2
P1 is blocked, but either P2 or P3 could proceed
If P2 proceeds and is allocated two units of R3, it can finish and return all its resources
Now P1 is unblocked as well as P3
Assume P3 goes next, then P1
Graph is completely reducible
Either 5.5 or 5.7
5.5
Yes: for Birman, it is already broadcasted
Schiper: NO - would have to insert "n-1" pairs into V_Pi to
record broadcast state
5.7
Save every minute or other agreed upon time.
OR one process broadcast when to do the next global state. works if
delay is bounded
6.1
Assume we did not
need L1, then basically you are saying that you can enter a CS without
consulting any other process. As soon as you want to enter the critical
section and if there are no other requests in the queue, you can enter the
CS. If two processes want to enter the critical sections approximately
simultaneously (i.e. before the request message is received), they can do
so violating mutual exclusion
(saying because of communications failure only -2)
Is
it possible to have L1 true but not L2 since other processes will reply
even if they have a request that has a lower timestamp
11.7
Definition 1: Unstable
if input load is greater than processor capacity to serve
Definition 2: If it is possible to perform fruitless actions indefinitely
NOTE: does not matter that the amount of work looking for a receiver is
greater than the work done!
(non-probabilistic
argument - exactly equal loads) Assume that all processors are equally
loaded and that all try to find a receiver machine and cannot.
Also assume that each machine is probed equally often
Therefore each job will take 1 + 5*(.003 + .003) = 1.03 seconds.
Thus any load offered at rate greater than 1.03 second per processor will
be unstable.
(probabistic
argument). assume P is the probability of being overloaded.
Then with probability P will request a receiver who with probability P
will refuse.
Thus each new task will acquire the following extra load.
P(1-P)*.006 +
P*P(1-P)*.012+P*P*P*(1-P)*.018+P*P*P*P*(1-P)*.024+P*P*P*P*P*.030
(NOTE the first case is a special case where P = 1).
Add 1 to this expression to get the actual processing rate. Any offered load
at rate greater than this will cause instability.
12.5 and 12.6
12.5:
ROUND
1) Z goes to Ez0, sends ROLLBACK(Z,0) to X and ROLLBACK(Z,1) to Y
Y sends ROLLBACK(Y,1) to Z and ROLLBACK(Y,0) to Z
X sends ROLLBACK(X,0) to Y and ROLLBACK(X,0) to Z
Round 2) Y rollsback to ey0 (as per rollback from Z)
Now Y sends ROLLBACK(Y,0) to X, all else the same
Round 3) X rollsback to ex0 (and if further processes would tell sent 0 to
them, possibly causing more rollbacks (extend current
idea)
12.6:
move checkpoint y1 after sending ey3
Now Rollback(Y,3) sent to X. Rollback(Y,2) sent to Z - other rollbacks are
the same
Since checkpoint information shows that there are no orphans messages, we
are done.
13.4
One of the problems in private key encryption is how to send a user's private key to the Authentication Server. Describe how you could use a public key encryption algorithm to solve this problem. (10 points)
1) User sends message encoded with AS public key the following message (A,Ia,KA). TO authenticate that this is A, AS sends to A encrypted with A's public key (Ia,Ib). A sends back Ib encrypted with public key of AS
2) user A sends to AS (A,Eprivatekey of A(A,KA,I) AS decrypts
In class, we had said that in encryption we sometimes pass back information which the receiver already knows and it therefore had 0 information content (for example, in message 15.20, page 424, the field containing "A" is already known to the receiver which is "A"). That is not true. There is at least one bit of information contained in that presumably unnecessary piece of information. What is it? What would be the consequence of not including this piece of information. (10 points)
The "one" bit of information is that this