Every major chip manufacturer has delivered or announced a roadmap for
multicore chips that have multiple CPUs on the same piece of silicon. Systems
developers are now designing these chips into their entire product line. For
Java platform developers, Symmetric Multiprocessing Systems (SMP) should be
hidden well below the hardware abstraction layer, but not all applications
will get equal benefits from SMP without understanding what's going on under
the hood.
This article discusses strategies for achieving the best bang for the buck
out of SMP systems. We'll look at design patterns for parallel programming
and locking, debugging and profiling, large memory footprints and the effects
on garbage collection, as well as tuning and capacity planning.
Java was originally desi... (more)