Copyright, 1996 © Dale Carnegie & Associates, Inc. Life with Hardware Threads to Burn Todd C. Mowry...

4
Copyright, 1996 © Dale Carnegie & Associates, Inc. Life with Hardware Threads to Burn Todd C. Mowry Intel Research Pittsburgh & Carnegie Mellon University ISCA Panel June 7, 2005

Transcript of Copyright, 1996 © Dale Carnegie & Associates, Inc. Life with Hardware Threads to Burn Todd C. Mowry...

Page 1: Copyright, 1996 © Dale Carnegie & Associates, Inc. Life with Hardware Threads to Burn Todd C. Mowry Intel Research Pittsburgh & Carnegie Mellon University.

Copyright, 1996 © Dale Carnegie & Associates, Inc.

Life with Hardware Threads to Burn

Todd C. MowryIntel Research Pittsburgh &Carnegie Mellon University

ISCA PanelJune 7, 2005

Page 2: Copyright, 1996 © Dale Carnegie & Associates, Inc. Life with Hardware Threads to Burn Todd C. Mowry Intel Research Pittsburgh & Carnegie Mellon University.

ISCA Panel, June 7, 2005 - 2 - Todd C. Mowry

Functional Correctness Trumps Performance

o If your software doesn’t behave correctly, it doesn’t matter how fast it runs.

o What does matter (see “Software Engineering”): code development and testing time how quickly/easily a new developer can modify existing code achieving acceptable performance

o Most programmers who choose not to write parallel code today are making a rational choice the cost/benefit ratio is unfavorable in too many cases

Page 3: Copyright, 1996 © Dale Carnegie & Associates, Inc. Life with Hardware Threads to Burn Todd C. Mowry Intel Research Pittsburgh & Carnegie Mellon University.

ISCA Panel, June 7, 2005 - 3 - Todd C. Mowry

Making Parallel Programming More Attractive

o Minimizing programming complexity is the key: Consistency models: SC -> RC -> SC Machine models: PRAM -> logP -> ???

o Benchmarks for a successful parallel programming model: does it work well when you’re modifying someone else’s code? can we teach it to freshmen in an Algs & Data Structures course?

o A “semi-automatic” approach seems like the sweet spot the programmer thinks about sources of parallelism at a high level the system does the heavy lifting and always preserves correctness programmer can tweak performance through localized changes

Page 4: Copyright, 1996 © Dale Carnegie & Associates, Inc. Life with Hardware Threads to Burn Todd C. Mowry Intel Research Pittsburgh & Carnegie Mellon University.

ISCA Panel, June 7, 2005 - 4 - Todd C. Mowry

Use CMPs to Improve Functional Correctness

o Impressive tools already exist to help identify/fix problems bugs, data races, memory leaks, faults, security violations, etc.

o However, sophisticated tools can add significant runtime overhead

o By offloading these tools onto other threads, we can: run existing tools continuously enable new tools that are even more sophisticated