1 / 17

What I Teach (Do what I say, not what I do)

What I Teach (Do what I say, not what I do). Andrew Lumsdaine Indiana University. B524: Parallelism in Programming Languages and Systems. Andrew Lumsdaine Computer Science Department Indiana University Bloomington, IN 47401. Course Text.

landon
Download Presentation

What I Teach (Do what I say, not what I do)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. What I Teach(Do what I say, not what I do) Andrew Lumsdaine Indiana University

  2. B524: Parallelism in Programming Languages and Systems Andrew Lumsdaine Computer Science Department Indiana University Bloomington, IN 47401

  3. Course Text • Andrews, “Foundations of Multithreaded, Parallel, and Distributed Programming”

  4. Supplemental Text • Schneider, “On Concurrent Programming”

  5. Supplemental Texts • Andrews, Concurrent Programming

  6. Course Outline • Introduction / overview • Program logic • Semantics of concurrency • Safety properties • Fine grained atomicity • Semaphores, locks, etc • Message passing • Case studies

  7. {P Λ B} S {Q} {Pi} Si {Qi} are interference free {P} < await (B) S;> {Q} {P1 Λ P2 Λ … Pn} Co S1 ; // S2 … // Sn; oc {Q1 Λ Q2 Λ … Qn} Semantics of Concurrent Execution • Await Rule • Co Rule

  8. Critical Section Problem sem mutex = 1; process CS[i = 1 to n] { while (true) { P(mutex); critical section; V(mutex); noncritical section; } }

  9. Correctness? sem mx = 1; process CS[i = 1 to n] { while (true) { P(mx); critical section; V(mx); noncritical section; } } Is {I} preserved by P(mx)?

  10. Correctness

  11. Correctness

  12. Correctness

  13. Correctness

  14. Correctness

More Related