Problem Set #4
Fall, 2009
Assigned: Tuesday, September 15
Due: Tuesday (noon), September 22
Total Points: 20
Please
submit
your answers in PDF format via email.
1. (5 points) Page 11 in the paper on "Modern Concurrency Abstractions
for C#" presents a fairness policy for the readers-writers
problem. This solution is defined in the class ReaderWriterFair. Explain in some reasonable detail how this solution achieves the desired fairness
2. (5 points) Each chord may have only one non-async method. Explain
the rationale for this restriction by clearly explaining what
fundamental difficulty would arise if a chord had two or more non-async
methods.
3. (6 points) Shown below is the simple client-server system. Develop a variation of the original server so that the
client is allowed to close the session after the client has sent a
request but before the client has received the corresponding reply. This models a
server that allows the client to cancel a pending request.
Client(open, close, request, reply) =
open.request.reply.request.reply.close.Client(open,
close, request, reply)
IdleServer(open, request, reply, close) =
open.BusyServer(open, request, reply, close)
BusyServer(open, request, reply, close) =
request.reply.BusyServer(open,
request, reply, close)
+ close.IdleServer(open, request, reply, close)
4. (4 points) State four insightful questions for discussion in class
about the Pi-calculus or transactional memory based on your reading of the papers available on our web
site.