Overview: Final Lecture ● preliminaries: admin matters and CDS news ● reflections on the Bakery software ● CDS in research: does RSCS practice what it preaches? ■ implementing the sparse grid combination formula (lect 29, p13): a look at the source code ■ FSP modelling and analysis of the X10 runtime system (Josh Milthorpe, CDS 2012) ● Q&A for requested questions from 2012 paper (Q2(b), Q5(a,b)): solutions will go here ● final exam hints ■ important topics ■ comparison with 2013 exam ■ suggested study and question answering strategies COMP2310 Lecture 31: Exam Review 2014 ◭◭ ◭ • ◮ ◮◮ × 1 Preliminaries Admin matters: ● please remember to fill in your SELTS surveys (at least Course Evaluation) for CDS! ● practice lab exam practical session this week (1st hour only) ● assignment 2 solution will come up on wattle 17:00 Wed Oct 29 ● final exam Study Event, pm Nov 11 CDS News: ● unprecedented concurrency: The Future We Deserve programmable matter (self-assembling system), driverless cars, personal power plants, wearable computers COMP2310 Lecture 31: Exam Review 2014 ◭◭ ◭ • ◮ ◮◮ × 2 Reflections on the Bakery Software System ● libraries/gui/analyzer (940 lines Java, 864 lines of C) ● solutions (280+230 lines) + 4 alternate solutions (1007 lines) ● testing / processing: 385 lines of shell script, including termProcs ● 2 reported bugs! ● condition synchronization via Posix select: breaking new ground for CDS! ■ general technique: action request buffers; a more elegant one? COMP2310 Lecture 31: Exam Review 2014 ◭◭ ◭ • ◮ ◮◮ × 3 Important Topics from CDS ● topics already adequately enough covered in assignments: ■ details of sockets and pipes ● assignment 1 is more central to CDS than assignment 2 ■ the modelling approach: how FSP models concurrency ■ (correct) translation of model to implementation; safety and liveness ■ semantics of synchronization primitives ■ monitors; good programming practices for concurrency ● topics not adequately enough covered in assignments/MSE: ■ how FSP can model concurrent programs and be used to analyze their behavior ■ message passing, particularly synchronous in conjunction with select; alternate paradigms ■ Posix IPC: concepts, some programming ■ distributed systems: many concepts span several topics: ◆ e.g. distributed state, multicasts, (a)synchronous communication, reliability ◆ many have important relationship to contemporary practice ◆ networks are a central aspect of distributed systems! COMP2310 Lecture 31: Exam Review 2014 ◭◭ ◭ • ◮ ◮◮ × 4 Study / Exam Hints ● do not spend too much time cramming stuff on the A4 page of notes ● study to understand the main principles and algorithms ● use the reading time read, plan and prioritize! ● make your meaning clear: use proper indentation and spell check ● be succinct. No need to repeat (parts of) question (see MSE sample answers) ● answer precisely what the question asks; don’t waste time writing other stuff! ● if asked to give 2 examples/advantages etc, give the best that you can think of! ● if asked to write in pseudo-code, syntactic correctness not essential ■ can use indentation instead of {. . .} – but make it clear! ● comparison to 2013 exam: mostly similar, but some questions are real coding questions (but template files provided); FSP, Java and C ● check the lab exam notes ● ensure you are fluent with the environment; try some practice questions in the CS Labs COMP2310 Lecture 31: Exam Review 2014 ◭◭ ◭ • ◮ ◮◮ × 5 Finally: “Do what only you can do!” Good Luck! COMP2310 Lecture 31: Exam Review 2014 ◭◭ ◭ • ◮ ◮◮ × 6