Reaves.dev

v0.1.0

built using

Phoenix v1.7.12

Test 2 Study Guide

Stephen M. Reaves

::

2024-04-06

Study guide for the second test

PDF

Test 2 study guide

NOTE: Some of these answers were produced collaboratively amongst students in the class. I do not claim authorship of every answer.

Summary

Lamport’s Logical Clock

Part A

E1E6E7E9E10    E1E10 E1 \rightarrow E6 \rightarrow E7 \rightarrow E9 \rightarrow E10 \implies E1 \rightarrow E10

Part B

E1E2E1E8    E2E8 E1 \rightarrow E2 \land E1 \rightarrow E8 \implies E2 \parallel E8

Part C

E8E3E3E4E11E4    E8E11 E8 \rightarrow E3 \land E3 \rightarrow E4 \land E11 \rightarrow E4 \implies E8 \parallel E11

Part D

E2E4E11E4    E2E11 E2 \rightarrow E4 \land E11 \rightarrow E4 \implies E2 \parallel E11

Lamport’s ME Lock

RPC Latency Limits

Question 1

Part A

T1 + C2 + T2 + C4

Part B

Yes, T1 + C2 + T2, there this is justified if (T1 + C2 + T2) <= (C1 + C4)

This represents the client sleeping/spinning during the RPC call rather than switching to another process and being justified if the latency is less than or equal to the time it takes the two context switches at the client.

Question 2

Part A

Calls from the client acknowledge the previous response from the server. If the server receives an acknowledgment that it has already received, the call must be a duplicate.

Part B

If the server doesn’t buffer the response and the response packet is lost, then you have to re-execute the procedure, which can be more latency intensive than buffering.

Part C

The server will maintain a buffered response until it has a new request from the original client.

Question 2

Downloading the client stub into the kernel requires that the client stub code be trusted, as it will be running inside the protection domain of the kernel.

Active networks

Question 1

Part A

Size of soft cache is limited and as new network flows hit the node, type fields for old flows get evicted.

Part B

This will be an uncommon occurrence, as most flows are composed of many packets in short succession, during which the cache will container the code required for the flow, but several concurrent flows can overwhelm the cache’s capacity.

Question 2

Dropping packets should result in a retransmission which will reload the type into the PREV’s cache.

Question 3

SPRING OS

Question 1

Part A

Part B

Specify which clients have the write access in the DB’s Access Control List (ACL). Before a client makes an invocation it will encounter a “Front Object” of the DB domain which will consult the ACL and enforce the policy.

Part C

He/she can create a new client for the file server. The IDL for the file server would already been written, and client side stub code for the file server would already have been generated. We can use the client side stub code to access and invoke the file server object.

Existing web server would continue to function, while we can test the new custom communication by creating a new client for the file server and invoking it. A new subcontract for communication between this new client and file server would be created.

Enterprise Java Beans

Question 1

Part A

The entity beans allow for concurrency within the client call and the servlets allow for concurrency between clients.

Part B

THe business logic is exposed to the clients of the app.

Question 2

This hides business logic, allows concurrency between clients and is reasonably performant.

DSM

Question 1

Part A

As part of the multiple writer page consistency the DSM maintains page diffs for each lock. P1, P2, and P3 are using different locks, so there will be 3 diffs for page X corresponding to each lock. If in the future, some process access X using one of these locks, then updated page X will be determined by applying the diffs of that lock on the updated copy returned by the owner of X.

Part B

Question 2

GMS

Question 1

Question 2

The stripe group and MMap are also replicated globally so it would need to be adjusted and added to N

Question 3

DFS

Question 1

Part A

his approach fails to meet conditions bullet 3. If we keep the metadata manager static then if that file becomes popular that metadata manager will be swamped with requests (creating a hotspot)

Potpourri?

JAVA RMI???