Hi Kristian On 04/22/2014 04:11 PM, Kristian Nielsen wrote:
As a side effect, if we improve the code performance of a single thread, we effectively increase the concurrency in the critical spots - threads spend less time executing the real code, hence more time in concurrency bottlenecks. The end result is that _any_ change that improves single-threaded performance causes throughput to decrease at concurrency levels where the code falls over.
I have a more "education" focused question, rather than commenting on the issue or the results/arguments. What do you mean with the phrase [code|server] "falls over"? Also a quote from https://lists.launchpad.net/maria-developers/msg07210.html :
Basically, the server "falls over" and starts trashing instead of doing real work, due to some kind of inter-processor communication overhead.
I understand the concept of a program spending increased time in a) switching or scheduling switches b) communication between threads during increased concurrency levels. I am simply wondering if you mean anything more specific. Forgive my ignorance, and the thread hijacking :) Regards Vangelis