Paper: Scalability by Design - Coding for Systems With Large CPU Counts
Monday, January 26, 2009 at 12:27AM
Todd Hoff in Paper, multicore
The multi-cores are coming and software designed for fewer cores usually doesn't work on more cores without substantial redesign. For a taste of the issues take a look at No new global mutexes! (and how to make the thread/connection pool work), which shows some of the difficulties of making MySQL perform on SMP servers.
In this paper, Richard Smith, a –Staff Engineer at Sun, goes into some nice detail on multi-core issues. His take home lessons are:
Use fine-grained locking or lock-free strategy
Document the strategy, including correctness
criteria (invariants)
Keep critical sections short
Profile the code at both light and heavy load
Collect HW performance counter data
Identify bottleneck resource (there's always at least one!)
Eliminate or ameliorate it
Article originally appeared on (http://highscalability.com/).
See website for complete article licensing information.