Download presentation
Presentation is loading. Please wait.
Published byMartin Fields Modified over 9 years ago
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 – …
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.