+ All Categories
Home > Documents > October 2003 What Does the Future Hold for Parallel Languages A Computer Architect’s Perspective...

October 2003 What Does the Future Hold for Parallel Languages A Computer Architect’s Perspective...

Date post: 19-Dec-2015
Category:
View: 217 times
Download: 0 times
Share this document with a friend
Popular Tags:
19
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
Transcript

October 2003

What Does the Future Hold for Parallel Languages

A Computer Architect’s Perspective

Josep TorrellasUniversity 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

MemoryInterconnection 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 corruptionMemory leakInvariant checkBuffer 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 UndoHardware

UndoHardware

October 2003

What Does the Future Hold for Parallel Languages

LCPC03 Panel

Josep TorrellasUniversity of Illinois

http://iacoma.cs.uiuc.edu

< 10 #>Josep Torrellas: The Future of Parallel Languages. October 2003

Speculative Lock

A

B C D EACQUIRE

RELEASE

SafeSpeculative

< 11 #>Josep Torrellas: The Future of Parallel Languages. October 2003

Speculative Lock

A B

C D

E

ACQUIRE

RELEASE

SafeSpeculative

< 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]

BARRIERA B C

SafeSpeculative

< 14 #>Josep Torrellas: The Future of Parallel Languages. October 2003

Speculative Barrier

A B

C

BARRIER

SafeSpeculative

< 15 #>Josep Torrellas: The Future of Parallel Languages. October 2003

Speculative Barrier

A

B

C

BARRIER

SafeSpeculative

< 16 #>Josep Torrellas: The Future of Parallel Languages. October 2003

Speculative Barrier

A B C

BARRIER

SafeSpeculative

< 17 #>Josep Torrellas: The Future of Parallel Languages. October 2003

Speculative Lock [ASPLOS02]

ACQUIRE

RELEASE

A B C D E

SafeSpeculative

< 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

12

4

3

5

Processor chip

L1 $

Main Proc

L2 $


Recommended