Glossary

Multiprocessing

What is multiprocessing?

Multiprocessing is the concept of splitting a processing effort across multiple processors.

Typically, multiprocessing is used to refer to homogeneous compute (where the splitting is across processors of the same type) rather than heterogeneous compute (where it is across processors of mixed types). The simplest variant of multiprocessing is across identical cores. Many processor IP vendors include multiprocessing variants of their cores in their portfolio. Codasip A70, for example, is available in single, dual and quad-core configurations for increased performance without compromising efficiency. We call the dual and quad-core configurations ‘multiprocessing’ configurations (A70-MP).

Codasip A70 MP

Why use multiprocessing?

Multiprocessing allows higher performance points to be targeted from multiple simpler cores working together. Multiprocessing can help with performance scaling for battery operated devices.

Consider a mobile phone. For example, in normal use a singe core may be enough while the other cores are in standby, but when running a game all may become active. Multiprocessing may also be useful for multi-tasking, for example different applications may run on different cores. If there are dedicated caches for each core, this can help with keeping the data local and therefore reduce cache thrashing.

Getting started with Codasip