The main thing to keep in mind when you run on a multicore system is this: in a single-processor environment, it may be a nice design abstraction to pretend that threads execute in parallel; under a multicore system, they really do execute in parallel! (With BMP, you can make your threads run on a specific CPU.)
In this section, we'll examine the impact of multicore on your system design.