Could someone explain what "work per unit" exactly means? Is it just amount of work done by a unit time (than wouldn't this be time constrained)?
I see that the focus of memory-constrained scaling is to try to fit the largest possible problem in the available memory in a given machine, but how is this related to "work per unit?"
haodongl
@byeongcp: I think "work per unit time" just means work done by one unit time.
kayvonf
Question: If I say "I got a speedup of 2 using 2 CPUs via memory-constrained scaling," what does that mean?
abist
In memory-constrained scaling, memory per processor is held constant, so if you say that you got a speedup of 2 using 2 CPUs, it means that you did twice the amount of work with 2 CPUs as compared to the work you would have done with 1 CPU using the same amount of memory.
jcarchi
Another way to look at the speedup is (increase in work)/(increase in time). Thus a 2/1 speedup means we did 2 times the work using 2 CPUS with the same amount of time (when vs 1 CPU).
However, I disagree with @abist that we would be using the same amount of memory. Memory is held constant for each processor, so with 2 CPUs, we should have 2x the amount of memory available vs 1 CPU.
abist
Uhh I should have written it clearly but when I wrote the same amount of memory, I mean same amount of memory per processor. So, I agree with @jcarchi
Could someone explain what "work per unit" exactly means? Is it just amount of work done by a unit time (than wouldn't this be time constrained)?
I see that the focus of memory-constrained scaling is to try to fit the largest possible problem in the available memory in a given machine, but how is this related to "work per unit?"
@byeongcp: I think "work per unit time" just means work done by one unit time.
Question: If I say "I got a speedup of 2 using 2 CPUs via memory-constrained scaling," what does that mean?
In memory-constrained scaling, memory per processor is held constant, so if you say that you got a speedup of 2 using 2 CPUs, it means that you did twice the amount of work with 2 CPUs as compared to the work you would have done with 1 CPU using the same amount of memory.
Another way to look at the speedup is (increase in work)/(increase in time). Thus a 2/1 speedup means we did 2 times the work using 2 CPUS with the same amount of time (when vs 1 CPU).
However, I disagree with @abist that we would be using the same amount of memory. Memory is held constant for each processor, so with 2 CPUs, we should have 2x the amount of memory available vs 1 CPU.
Uhh I should have written it clearly but when I wrote the same amount of memory, I mean same amount of memory per processor. So, I agree with @jcarchi
Nice. Way to work it out @jcarchi and @abist.