CSEP 524, Spring 2015: Homework 2
Due: Tuesday, April 14 by 5:00 pm.
Please use the dropbox linked from the CSEP 524 web page to submit your homework online. Any common format like text, pdf, doc/docx is fine.
- Read LogP: Towards a Relasitic Model of Parallel Computation, by David Culler, Richard Karp, David Patterson, Abhijit Sahay, Klaus Eric Schauser, Eunice Santos, Ramesh Subramonian, and Thorsten von Eicken.
Write a short review and summary of the paper (between a half and a full page, using a reasonable font size). In your review, describe whether or not you think LogP
is a good model to target when designing parallel programs. Why or why not? Please also propose one or more discussion questions.
- Pick a language and look into its memory consistency model (note that not all languages have one - please pick one that does). The following references are good starting
points if you pick Java or C++11 (note that prior to the C++11 standard, C++ didn't have a defined memory consistency model):
Then, do one of the following:
- Writing option: Write up a few paragraphs describing the model, and anything that surprised you about it.
- Coding option: Code up an example where the result is not guaranteed to match what pure sequential consistency would give you.
You should explain in the code comments why your example is not guaranteed to behave sequentially consistent. Then code up a "fixed" example. Include
some sample outputs of both versions.