The VxWorks 6.x Symmetric Multiprocessing course presents several methods to optimize application performance using parallel design techniques. Issues in migrating applications to parallel design are detailed. Specifics of creating and migrating to Wind River’s VxWorks SMP applications are also addressed.
Day 1
Introduction to SMP
- Introduction to Multicore and Multiprocessing History
- Introduction to SMP Overview
- Other Multicore Configurations
- Terminology and Abbreviations
VxWorks SMP Architecture
- SMP Architecture Overview
- Cache and Cache Coherence
- The Sequential Memory Model
- Mutual Exclusion
- Spinlocks and Deadlocks
- Memory Barrier
- Development Challenges
VxWorks SMP Configuration
- VxWorks SMP Configuration Overview
- Software and Hardware Requirements
- BSP
- VxWorks SMP Configuration Lab
Day 2
VxWorks SMP Programming
- Spinlocks
- Read and Write Semaphores
- CPU Affinity
- Interrupt CPU Affinity
- Atomic Memory Operations
- Memory Barriers
- CPU Information and Management
- UP Incompatibilities
- Data Synchronization Lab
- Implicit Synchronization lab
Debugging and Analysis Tools
- Multicore Debugging Overview
- Breakpoints
- Multiple Context Debugging
- On-Chip Debugging Tools
- Run-Time Analysis Tool
- VxWorks Simulator (VxSim)
- WDB and Kernel Shell Debugging
- SMP Debugger Lab
Introduction to Software Parallelism
- SMP Limits
- Parallel Software Design
- Threading
- Implementing a Parallel Programming Model
- Examples
SMP Uniprocessor to SMP Migration
- Migration Guideline
- Three-Step Migration Plan
- SMP Optimization
- Pthreads
- SMP Performance Measurement