Middleware, development tools, realtime operating system
software and services for superior embedded design


Home
QNX Community Resources
Developer Support
QNX Documentation Library
QNX Developer Support

QNX Developer Support

QNX Software Systems
Developer Resources
Blogs
Board support packages
Foundry27 projects
Forums
Hardware support listing
Online video tutorials
Product documentation
Technical Articles

[Previous] [Contents] [Index] [Next]

What is Multicore Processing?

Multiprocessing systems, whether discrete or multicore, can greatly improve your applications' performance. As described in the Multicore Processing chapter of the System Architecture guide, there's a multiprocessor version of Neutrino that runs on:

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 Neutrino running on it. Well, the answer is not much. The only part of Neutrino that's different for a multiprocessor system is the microkernel -- another example of the advantages of a microkernel architecture!

Neutrino 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.


[Previous] [Contents] [Index] [Next]