Choosing between AMP, SMP, and BMP

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

  • AMP works well with legacy applications, but has limited scalability beyond two CPUs.
  • SMP offers transparent resource management, but software that hasn't been properly designed for concurrency might have problems.
  • BMP offers many of the same benefits as SMP, but guarantees that uniprocessor applications behave correctly, greatly simplifying the migration of legacy software.

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.

Seamless resource sharing Yes Yes
Scalable beyond dual CPU Yes Yes Limited
Legacy application operation In most cases Yes Yes
Mixed OS environment (for example, BlackBerry 10 OS 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

Last modified: 2015-03-31

Got questions about leaving a comment? Get answers from our Disqus FAQ.

comments powered by Disqus