Presentation is loading. Please wait.

Presentation is loading. Please wait.

Widespread Integration of Parallelism Steven Bogaerts.

Similar presentations


Presentation on theme: "Widespread Integration of Parallelism Steven Bogaerts."— Presentation transcript:

1 Widespread Integration of Parallelism Steven Bogaerts

2 Summary Across the Curriculum CS1 – Analogies for basic concepts – A Java CS1Thread class for multithreading (start, sleep, join) Data Structures – Analogies for task decomposition – Divide-and-conquer parallelism Systems – Pipelined assembly code execution – Shared memory, critical sections, locks – Resource allocation graphs, cycles, deadlock

3 Summary Across the Curriculum Programming Languages – Shared memory vs. message passing models – Impact on imperative and functional languages Parallel Computing – Shared memory in Java and C++ – Message passing in Erlang – Big data – Map-reduce

4 Detailed Comments: Data Structures Challenge: entering course from different CS1 sections – Material builds off of previous work, but doesn’t require it Topics: – Task decomposition – Divide-and-conquer parallelism

5 Task Decomposition Analogy Suppose you manage four cooks (processing units) preparing potatoes (doing a large SIMD task) Strategy #1: – Split into four piles of equal size Problem: – Won’t work well for five cooks, or three cooks…

6 Task Decomposition Analogy Strategy #2: – For n cooks, split into n piles of equal size Problem: – What if one of the piles has older potatoes? More bad spots, more work for that cook… Equal size does not necessarily mean equal work.

7 Task Decomposition Analogy Strategy #2 (continued) – For n cooks, split into n piles of equal size Problem: – What if some cooks have been assigned other tasks too? Processing units may not be equally available.

8 Task Decomposition Analogy Strategy #3: Each cook should handle a “bucket full” of potatoes at a time – Not just 1 at a time, but not a huge pile either. – Busy cooks take a bucket only when able to. – If that bucket takes longer, so be it. Tasks should be sized to balance flexibility of scheduling with the overhead of parallelization.

9 Future Plans Revision of CS1  new opportunities for parallelism Other potential target courses: – Foundations of computation – Artificial Intelligence – Object-Oriented Software Development – …


Download ppt "Widespread Integration of Parallelism Steven Bogaerts."

Similar presentations


Ads by Google