Paper: Scalability by Design – Coding for Systems With Large CPU Counts via High Scalability – Building bigger, faster, more reliable websites.
by Todd Hoff on 1/26/09
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

Buy:Lipothin.Zetia.Lasix.Amoxicillin.Prozac.Advair.Lipitor.Buspar.Zocor.Cozaar.Benicar.Nymphomax.Acomplia.Seroquel.Female Pink Viagra.Ventolin.SleepWell.Female Cialis.Aricept.Wellbutrin SR….