9. Dubstep Highlights
1. Removing locks and opportunistic
barriers
trade accuracy for performance
2. Automatically explores the tradeoff
space induced by candidate
transformations
3. Uses statistical analysis to characterize
impact of transformations on accuracy
23. Dubstep Workflow
Navigate the tradeoff space:
• Transform and analyze one
location at a time
– 3 locations in water
• Transform multiple locations
in the same candidate
program
– Guided by the results of the
previous step
Prepare
Find
Transform
Analyze
Navigate
24. Search Space Exploration
1
1.05
1.1
1.15
1.2
1.25
0 0.02 0.04 0.06
Average Accuracy Loss vs. Speedup
LI BI
BRLI+BI
LI+BP
BI+BP
LI+BI+BP
RelativeSpeedup
Accuracy
loss
LI – Synchronization Interf
BI – Barrier Interf
BP – Barrier Poteng
Baseline: original parallel program runs
6.2 times faster than sequential on 8 cores
25. Search Space Exploration
1
1.05
1.1
1.15
1.2
1.25
0 0.02 0.04 0.06
Average Accuracy Loss vs. Speedup
LI BI
BRLI+BI
LI+BP
BI+BP
LI+BI+BP
RelativeSpeedup
Accuracy
loss
LI – Synchronization Interf
BI – Barrier Interf
BP – Barrier Poteng
How confident can we be
about these observations?
Baseline: original parallel program runs
6.2 times faster than sequential on 8 cores
26. Execution Reliability
The probability p that the transformed
program on the given input produces
the result with error less than bound δ
While we cannot model p, we can
specify minimum acceptable reliability r
29. How Many Runs Are
Enough?
Procedure that determines that p > r :
• Returns correct result
most of the time
– Wrong decision rate
– Tolerance region
• Quickly determines
extreme (very good
or bad) transformations
34. Exploring Tradeoff Space
Start: Sequential program with
for loops
Transformations:
• Parallel loop introduction
• Synchronization, Replication
Quickstep
[MIT-TR-2010-38, TECS/PEC 2012]
Prepare
Find
Transform
Analyze
Navigate
35. Exploring Tradeoff Space
Start: Program with for loops
Transformations:
• Skip loop iterations
(multiple forms)
Loop Perforation
[ICSE 2010, ONWARD 2010, SAS 2011,
FSE 2011]
Prepare
Find
Transform
Analyze
Navigate
36. Exploring Tradeoff Space
Start: Program with command
line parameters
Transformations:
• Alternate function versions
activated by CL parameters
Dynamic Knobs
[ASPLOS 2011]
Prepare
Find
Transform
Analyze
Navigate
37. Exploring Tradeoff Space
Start: Program is a tree of
Map-Reduce type tasks
Transformations:
• Function Substitution
• Reduction Sampling
NapRed
[POPL 2012]
Prepare
Find
Transform
Analyze
Navigate
38. Exploring Tradeoff Space
Start: Parallel program with
for loops
Transformations:
• Removing Locks
• Opportunistic Barriers
Dubstep
[Today: RACES 2012]
Prepare
Find
Transform
Analyze
Navigate