Download presentation
Presentation is loading. Please wait.
1
October 2003 What Does the Future Hold for Parallel Languages A Computer Architect’s Perspective Josep Torrellas University of Illinois http://iacoma.cs.uiuc.edu
2
Josep Torrellas: The Future of Parallel Languages. October 2003 The Future (0-10 years) 1.Processing In Memory (PIM) 2.Thead-Level Speculation (TLS) 3. “Undo/redo” capabilities for debugging Parallel architectures will become more complex: What are the language implications?
3
Josep Torrellas: The Future of Parallel Languages. October 2003 Processing In Memory (PIM) Language implications: –Map memory-intensive parts of the code on the PIMs [PPoPP’03] Execute what parts of the computation where How to re-arrange the data structures where How to synchronize, maintain data coherence What? Weak processors close to the memory
4
Josep Torrellas: The Future of Parallel Languages. October 2003 PIM (Continuation) Language implications: –Off-load operations: Cache coherence management Active messages Synchronization/reduction Scatter/gather Logging Vector streaming Checkpointing Bit operations CPU Cache Memory Interconnection Network PIM
5
Josep Torrellas: The Future of Parallel Languages. October 2003 Thead-Level Speculation (TLS) Language implications: –Hints to the compiler, e.g.: This section has few dependences: parallelize speculatively This section has too many dependences This is the best way to break the program into tasks Do not spawn this task any earlier than here What? Take hard-to-analyze non-numerical codes and compiler parallelizes them into 2-4-6 threads (in a Chip Multiprocessor)
6
Josep Torrellas: The Future of Parallel Languages. October 2003 “Undo/Redo” Capabilities for Debugging Language implications: –Directive to hardware: “be ready to undo” Entering a section with likely bugs Entering a section with likely data races Entering a section with likely parallelization mistakes Example of use: If an event occurs (e.g. found a bug), undo, fall into the debugger, ready to replay at user’s command What? Hardware can undo section of execution with minimal overhead and deterministically re-execute it.
7
Josep Torrellas: The Future of Parallel Languages. October 2003 “Undo/Redo” (Cont) Language implications: –Watch for any access to this address –Every access to this address, run this check If check is not ok, fall into the debugger in that instruction. Examples: Memory corruption Memory leak Invariant check Buffer overflow…
8
Josep Torrellas: The Future of Parallel Languages. October 2003 Parallelize Programs with a Fraction of the Effort Code Speedup Man-Hours Invested No Undo Hardware Undo Hardware
9
October 2003 What Does the Future Hold for Parallel Languages LCPC03 Panel Josep Torrellas University of Illinois http://iacoma.cs.uiuc.edu
10
Josep Torrellas: The Future of Parallel Languages. October 2003 Speculative Lock A BCDE ACQUIRE RELEASE Safe Speculative
11
Josep Torrellas: The Future of Parallel Languages. October 2003 Speculative Lock AB CD E ACQUIRE RELEASE Safe Speculative
12
Josep Torrellas: The Future of Parallel Languages. October 2003 Buffer task state before committing (caches) Cleanly undo group of tasks (window of buggy code) Re-execute those tasks only Primitive: Speculative Multithreading CPU Memory Cache CPU Cache T1 T2 Re-execution of tasks is deterministic even under multithreading
13
Josep Torrellas: The Future of Parallel Languages. October 2003 Coarse Synch: Speculative Barrier [ASPLOS02] BARRIER ABC Safe Speculative
14
Josep Torrellas: The Future of Parallel Languages. October 2003 Speculative Barrier AB C BARRIER Safe Speculative
15
Josep Torrellas: The Future of Parallel Languages. October 2003 Speculative Barrier A B C BARRIER Safe Speculative
16
Josep Torrellas: The Future of Parallel Languages. October 2003 Speculative Barrier ABC BARRIER Safe Speculative
17
Josep Torrellas: The Future of Parallel Languages. October 2003 Speculative Lock [ASPLOS02] ACQUIRE RELEASE ABCDE Safe Speculative
18
Josep Torrellas: The Future of Parallel Languages. October 2003 Memory Processor Executes Code [HPCA01] Interconnect Memory module Memory Controller North Bridge Chip L1 $ Mem Proc DRAM Cells Processor chip L1 $ Main Proc L2 $ Compute-intensive code Memory-intensive code
19
Josep Torrellas: The Future of Parallel Languages. October 2003 Memory Processor Prefetches [ISCA02] Interconnect Memory module Memory Controller North Bridge Chip L1 $ Mem Proc DRAM Cells 1 2 4 3 5 Processor chip L1 $ Main Proc L2 $
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.