Multicore programming is the wave of the future, that's what those Intel Duo (and other chips) enable, allowing for lots of concurrent operations radically improving performance. But programming with concurrency is hard. A potential aid to programmers in dealing with concurrency is transactional memory. This good article in ACM Queue, provides a nice high-level overview of transactional memory, including pros, cons and alternatives.
[Via Lambda the Ultimate]