Title: Diapositiva 1
1Kernel Partitioning of Streaming Applications A
Statistical Approach to an NP-complete Problem
Petar Radojkovic, Paul M. Carpenter, Miquel
Moretó, Alex Ramirez, Francisco J. Cazorla
Vancouver, BC, Canada. December 5, 2012.
2Stream programming languages
- Programming of multithreaded applications is
difficult - A possible solution Expose the parallelism to
the compiler
3A lot of pressure on the compiler
Source code Explicit dependencies
(Optimal) Multithreaded executable
Compiler
Complex codeanalysis and optimizations
4One of the problems
- How to (optimally) partition kernels into the
software threads
5The importance of a good kernel partitioning
- StreamIt 2.1.1 benchmark suite
- Exactly four software threads
- Observe the performance of good and bad kernel
partitions
Performance difference ranges
from
to
2.4x
3.9x
6Kernel partitioning is an intractable problem
- NP-complete Garey and Johnson, 1979
- Vast exploration space
- channelvocoder benchmark (StreamIt 2.1.1)
contains 54 kernels
1034
8
7The performance of the optimal kernel partition?
- How good is Kernel Partitioning (KP) method X?
- Problem for the industry
- What is a possible performance improvement?
Optimal KP?
Performance
State of the art
KP method X
8We cannot compute the performance of the optimal
KP! Can we estimate it?
Performance (cost) of a kernel partition in a
random sample
15728
12659
14124
13564
15684
16428
10627
14551
ranges from X to Y confidence level 0.9 0.95
0.99
9Extreme Value Theory application
- Example How high should be a river embankment?
10Extreme Value Theory
- 1928 R.A. Fisher and L.H.C. Tippett _at_
Proceedings of the Cambridge Philosophical
Society, vol. 24. - 1943 B. Gnedenko _at_ Annals of Mathematics,
vol 44. - 1974 A. A. Balkema and L. de Haan _at_ Annals
of Probability, vol. 2. - 1975 J. Pickands _at_ Annals of Statistics,
vol. 3.
11Estimate the performance of the optimal
KP Extreme Value Theory Peak Over Threshold
analysis
Cost
Step 1 Execute random (i.i.d.) KPs Measure
performance (cost) of each of them
Sample of KPs
1
Step 2 Plot cumulative distribution function
F(x)
0
Min cost
Max cost
12PickandsBalkemade Haan theorem Generalized
Pareto Distribution (GPD)
Step 3 Fit Fu(y) to GPD GPD is fully described
with s and ?
1
F(x)
Fu(y)
0
x
u
Min cost
Max cost
Step 4 Estimate the cost of the optimal
KP Point estimation Confidence bounds for a
given confidence interval
13Can I apply this analysis to my problem?
- Theorem For a large class of underlying
distribution functions - Is my problem in this class?
Generate a random (i.i.d.) sample
Statistical analysis
14Evaluation
- Experimental
- StreamIt benchmarks
- Compiled into exactly four software threads
- The cost is each KP is based on the StreamIt
compiler estimate
- Results
- Q1 Can we apply the presented statistical
analysis to the kernel partitioning problem? - Q2 Is the estimation precise?
- Q3 Is the estimation accurate?
15Q1 Can we apply the presented statistical
analysis to the kernel partitioning problem?
- How to generate random (i.i.d.) kernel partitions?
- The samples should be selected following the
uniform distribution - i.i.d. may not be sufficient
16Q2 Is the estimation precise?
- The precision of the method depends on the number
of the KPs in the sample - Larger sample ? Higher precision
serpent_full (slowest convergence)
channelvocoder (fastest convergence)
- StreamIt 2.1.1 benchmarks
- Few 1000 KPs are sufficient for a precise
estimation
17Q3 Is the estimation accurate?
- In general, finding the optimal KP is impractical
- However, for some benchmarks, it is feasible
serpent_full benchmark
- The same trend for bitonic-sort, des, fft,
mpeg2-subset, and tde_pp benchmarks
18Can random sampling find a good KP?
We do not need the best KP We need a good one!
- Total number of KPs 1020
- Random sample of 1000 KPs
- Prob(capture the best KP) 0
- Prob(capture one out of the best-performing 1 of
KPs) 99.99
- Radojkovic et al. _at_ ASPLOS 2012.
19Random sampling vs. heuristics based approach
- Random sampling on its own can provide very good
results
- Carpenter et al. _at_ CASES 2009.
20Summary
Problem
Our approach
Kernel partitioningof streaming applications
Intractable problem Unknown optimal performance
21Extreme Value Theory is also used in
Civil engineering
Finance