Choosing between AMP, SMP, and BMP

The choice between AMP, SMP, and BMP depends on the problem you're trying to solve:

As the following table illustrates, the flexibility to choose from any of these models lets you strike the optimal balance between performance, scalability, and ease of migration.

Feature SMP BMP AMP
Seamless resource sharing Yes Yes
Scalable beyond dual CPU Yes Yes Limited
Legacy application operation In most cases Yes Yes
Mixed OS environment (e.g., QNX Neutrino and Linux) Yes
Dedicated processor by function Yes Yes
Intercore messaging Fast (OS primitives) Fast (OS primitives) Slower (application)
Thread synchronization between CPUs Yes Yes
Load balancing Yes Yes
System-wide debugging and optimization Yes Yes