Openmp theory vs in-practice efficiency?

You might be thinking about something like Amdahl's Law but the specifics of each case make it difficult to pin it down.

Up vote 0 down vote favorite share g+ share fb share tw.

As I increase the number of cores for an embarrasing parallel linear problem (a for loop where each iteration does lots of computation, all independant from the other iterations), the efficiency decreases (efficiency as Ts/(p*Tp) ) somehow linearly respect to the number of cores I know that in practice thread scheduling, OS, and cache problems can slowdown an implementation a lot. I can add that I do get speedup, and the problem in theory has linear speedup which in theory has efficiency 1 as p increases. Question then: How does the OS, thread scheduling, memory acceses, and other types of technical limitations affect the efficiency of the algorithm as the number of processors increases?

Should it affect at all? C performance parallel openmp link|improve this question edited 1 hour ago asked 1 hour agoCristobal806 100% accept rate.

1 It's impossible to answer, because it depends on the problem and the implementation. And "acceptable" seems subjective to me. – duffymo 1 hour ago added more information so the question can be answered hopefully – Cristobal 1 hour ago Nope, still too general.

– duffymo 1 hour ago now you can see the changes – Cristobal 1 hour ago I can see the changes; see my answer below. – duffymo 1 hour ago.

You might be thinking about something like Amdahl's Law, but the specifics of each case make it difficult to pin it down.

Thanks, I already took a look moment ago, indeed helps to clarify what happens, however it is still a mystery for me how much memory, OS, and cache affects efficiency for openmp. I would like to know if other people have got linear decrease of efficiency for linear speedup algorithms – Cristobal 1 hour ago.

You should look into strong scaling: https://www.sharcnet. Ca/help/index. Php/Measuring_Parallel_Scaling_Performance#Strong_Scaling You basically get diminishing returns as you add more cores to the problem because of all the factors you mentioned.

Thanks, I think this is what is hapenning (diminishing returns). I was used to program in gpus where I didn't see the effect so noticeable maybe because of the types of problems. – Cristobal 1 hour ago I suggest doing a strong scaling test and then taking the number of cores that produces the fastest result.

But keep in mind this will be dependent on the machine – Benoir 1 hour ago great, thanks for the good advices – Cristobal 10 mins ago.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions