Introduction —
POSIX Threads: An Overview —
Symmetric Multiprocessing (SMP) —
Pthreads, SMP, and the RTOS —
Using Worker Threads: An Example —
Visualizing Multicore Execution —
Other Optimizations —
Conclusion
[+]
Introduction
Until recently, the vast majority of embedded systems employed uniprocessor designs. The situation is changing quickly, however, with the availability of multicore processors ...
POSIX Threads: An Overview
The base POSIX standard, IEEE Std 1003.1, defines a process model and a number of core operating system services for handling signals, timers, input, and ...
Symmetric Multiprocessing (SMP)
An SMP system consists of two or more tightly coupled CPUs. These CPUs can be either discrete, single-processor chips or the individual cores in a ...
Pthreads, SMP, and the RTOS
With multi-threading, developers can fully leverage the scalable performance offered by symmetric multiprocessing. An SMP-capable RTOS running on ...
Using Worker Threads: An Example
Worker threads work well when the system must perform repetitive calculations and when no dependencies exist between the calculations for the different data ...
Visualizing Multicore Execution
Although traditional process-level debuggers can help diagnose some problems in a multicore SMP system, they cannot provide insight into the complex ...
Other Optimizations
For multiprocessing systems, the most significant benefit comes from increasing parallelism within the software. However, other optimizations can also ...
Conclusion
The combination of POSIX pthreads and SMP provides a programming model that can scale by adding additional processors. This has become particularly important ...