Multi-core processors are, in effect, multiprocessing systems on a chip. Consequently, embedded developers must graduate from a serial execution model, where software tasks take turns running on a single processor, to a parallel execution model, where multiple software tasks can run simultaneously. The more parallelism developers achieve, the better their multicore systems perform. This paper looks at how one development team minimized its migration efforts while maximizing system throughput.