Problem Set 2
Assigned: Tuesday, September 1
Due: Tuesday, September 8 (noon)
20 Points

Please submit your answers in PDF format via email to kafura@cs.vt.edu.


1. Capriccio
(a) (2 points) Capriccio is a cooperative thread management system. What does this mean?
(b) (3 points) Does it make sense to implement Capriccio on a systems providing Scheduler Activations? If not, explain why. If so, explain what advantages are gained.


2. Capriccio stack management
Shown below is a Capriccio call graph annotated with stack frame sizes.
(a) (3 points) Show where checkpoints would be placed by Capriccio in the call graph below when MaxPath=1KB.
(b) (2 points) Using the checkpoints from part (a), how much internal wasted stack space is there for the execution sequence: Main->A->C->D->A->C->E?
(c) (3 points) Show where the checkpoint would be placed by Capriccio in the call graph below when MaxPath=1.2KB.
(d) (2 points) Using the checkpoints from part (c), how much internal wasted stack space is there for the execution sequence: Main->A->C->D->A->C->E?

Call Graph


3. (5 points).State three insightful questions for discussion in class about SEDA, TAME, and/or CSP based on your reading of the papers available on our web site.