non deterministic parallelism considered useful
play

Non-deterministic parallelism considered useful Derek G. Murray - PowerPoint PPT Presentation

Non-deterministic parallelism considered useful Derek G. Murray Steven Hand University of Cambridge 1. Parallelization 2. Synchronization 3. Scheduling 4. Load balancing 5. Communication 6. Fault tolerance 7. Guaranteed termination 1.


  1. Non-deterministic parallelism considered useful Derek G. Murray Steven Hand University of Cambridge

  2. 1. Parallelization 2. Synchronization 3. Scheduling 4. Load balancing 5. Communication 6. Fault tolerance 7. Guaranteed termination

  3. 1. Parallelization 2. Synchronization 3. Scheduling 4. Load balancing while ¡ (x) ¡{ ¡ 5. Communication ¡ ¡ ¡ ¡… ¡ } ¡ 6. Fault tolerance 7. Guaranteed termination

  4. 1. Parallelization 2. Synchronization 3. Scheduling 4. Load balancing 5. Communication 6. Fault tolerance ⇔ Deterministic 7. Guaranteed termination

  5. Real programmers don’t use deterministic parallelism

  6. Real programmers use • Async. Networks • Timeouts • Real hardware • Signals • Performance • select() loops interference • Condition variables • User input • Mutable state All of these cause non-determinism!

  7. Example: branch-and-bound J K L M

  8. Deterministic data flow J K L M T

  9. Irregular parallelism J K L M

  10. Irregular parallelism J K L M T

  11. Non-deterministic select J K L M SELECT T

  12. Non-deterministic select J K L M T

  13. Non-deterministic select J K L M T

  14. Asynchronous signals work stealing/ shedding J K L M new bounds

  15. Asynchronous signals J K L M

  16. Asynchronous signals J K L M

  17. 1. Parallelization 2. Synchronization 3. Scheduling 4. Load balancing 5. Communication 6. Fault tolerance 7. Guaranteed termination

  18. 1. Parallelization 2. Synchronization 3. Scheduling 4. Load balancing 5. Communication 6. Fault tolerance 7. Guaranteed termination

  19. Challenge: dealing with faults • Fail everything • Error codes/exceptions • Bounded non-determinism • Checkpoints • Record and replay

  20. Conclusions • Many benefits of non-determinism – Performance, adaptability, interactivity • System must allow non-determinism • Determinism at language-level – For programmers who need training wheels

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend