Addressing System Bottlenecks
We start with a bold statement: every application has a bottleneck. By that, we mean that there is always something that limits performance of a given application in a system. Even if the application is well optimized and it may seem that no additional improvements are possible by tuning it on the other levels, it still has a bottleneck, and that bottleneck is in the system the program runs on. The tuning starts and ends at the system level.
When you improve your application performance to take advantage of all the features provided in the hardware, you use all available concurrency, and the application’s ...