Unformatted text preview: (p) = a + c/p a: the sequential part, c: the parallelizable part 10 Plotting hyperbolic functions
n༆ A simple way to turn T(p) = c/p into a straight line is
to plot its reciprocal: y = 1/T(p) = p/c
¨༊
¨༊ n༆ This is a straight line with slope 1/c.
When analyzing parallel performance we scale this to
y’=T(1)/T(p). If T(p) is the time it takes to execute a
program with p processors, we call this the speedup of the
program In the case of T(p) = a + c/p, the speedup is
S(p)=T(1)/T(p)= (a+c)/(a+c/p)
¨༊ For a>0 this is not a straight, but a curve that grows and then
flattens out to a constant (a+c)/a Plotting Data: Summary
n༆ Visually, a straight line conveys the most information.
¨༊ If your data is not linear, massage it so that is linear, then deduce
the original function. n༆ If y=f(x) is polynomial: log y is linear with log x
y = f ( x ) = a0 + a1 x + + an x n ≈ an x n (asymptotically) log y = log an + nlog x
n༆ If y=f(x) is exponential: log y is linear with x
y = f ( x ) = ba x
log y = log b + x (log a ) n༆ In the case of T(p) = a + c/p, the speedup is...
View
Full
Document
This note was uploaded on 02/12/2014 for the course CS 475 taught by Professor Staff during the Fall '08 term at Colorado State.
 Fall '08
 Staff
 Computer Science

Click to edit the document details