Copyright, 1996 © Dale Carnegie & Associates, Inc. Life with Hardware Threads to Burn Todd C. Mowry...
-
Upload
dylan-simmons -
Category
Documents
-
view
214 -
download
1
Transcript of Copyright, 1996 © Dale Carnegie & Associates, Inc. Life with Hardware Threads to Burn Todd C. Mowry...
Copyright, 1996 © Dale Carnegie & Associates, Inc.
Life with Hardware Threads to Burn
Todd C. MowryIntel Research Pittsburgh &Carnegie Mellon University
ISCA PanelJune 7, 2005
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
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
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