Monday
Jan262009
Paper: Scalability by Design - Coding for Systems With Large CPU Counts

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:
criteria (invariants)
Reader Comments (1)
Hardware Transactional Memory uses processor features to detect conflict between two
concurrent threads and choose one of them to be aborted. There is no slowdown if there is no
conflict.
One reason for Sun's interest in Transactional Memory is that the capability is being
designed into its future Rock processor.
This is promising! Thanks Todd.