Multicore Processing

You can use symmetric multiprocessing to get the most performance possible out of a multiprocessor system. You can also use bound multiprocessing to restrict which processors a thread can run on.

Multiprocessing systems, whether discrete or multicore, can greatly improve your applications' performance. As described in Multicore Processing, there's a multiprocessor version of BlackBerry 10 OS that runs on:

  • Pentium-based multiprocessor systems that conform to the Intel MultiProcessor Specification (MP Spec)
  • ARM-v7-based systems

If you have one of these systems, then you're probably itching to try it out, but are wondering what you have to do to get BlackBerry 10 OS running on it. Well, the answer is not much. The only part of BlackBerry 10 OS that's different for a multiprocessor system is the microkernel — another example of the advantages of a microkernel architecture!

To determine how many processors there are on your system, look at the num_cpu entry of the system page.

BlackBerry 10 OS supports these operating modes for multiprocessing:

Asymmetric multiprocessing (AMP)
A separate OS, or a separate instantiation of the same OS, runs on each CPU.
Symmetric multiprocessing (SMP)
A single instantiation of an OS manages all CPUs simultaneously, and applications can float to any of them.
Bound multiprocessing (BMP)
A single instantiation of an OS manages all CPUs simultaneously, but you can lock individual applications or threads to a specific CPU.

SMP lets you get the most performance out of your system, but you might need to use BMP for the few applications that may not work under SMP, or if you want to explicitly control the process-level distribution of CPU usage.

Last modified: 2014-06-24



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

comments powered by Disqus