VxWorks 6.x Symmetric Multiprocessing

Buy Now

Course Description

Course Results

Products Supported

Who Should Attend

Course Format

Please see course datasheet for further details here Buy Now

Course Details Summary

  • Duration: 2 Days
  • Course Information: View
  • Format: Lectures and Labs
  • Type: Instructor-led
  • Price/Schedule: View

The VxWorks® 6.x Symmetric Multiprocessing course presents several methods to optimize application performance using parallel design techniques. Issues encountered in migrating applications to parallel design are discussed in detail. Specifics of creating and migrating applications to Wind River® VxWorks symmetric multiprocessing (SMP) technology are also addressed.

After this course, participants will be able to perform the following:

  • Describe the multi-core processor architecture
  • Distinguish between multi-core and multiprocess environments
  • Describe the VxWorks SMP system configuration
  • Understand and solve pitfalls of serial programming in the SMP environment
  • Migrate applications from the uniprocessor (UP) to the SMP environment
  • Analyze concurrency using debugging tools
  • Perform run-time analysis of applications in the UP vs. SMP environment
  • Wind River VxWorks 6.9
  • Wind River Workbench 3.3
  • Wind River Simics 4.6
  • Application engineers
  • System integrators and architects

Day 1

Introduction to SMP

  • Introduction to multi-core and multiprocessing history
  • SMP overview
  • Other multi-core configurations
  • Terminology and abbreviations

VxWorks SMP Architecture

  • SMP architecture overview
  • Cache and cache coherence
  • Sequential memory model
  • Mutual exclusion
  • Spinlocks and deadlocks
  • Memory barrier
  • Development challenges
  • LAB: Getting started

VxWorks SMP Configuration

  • VxWorks SMP components
  • Software and hardware requirements
  • BSP
  • LAB: VxWorks SMP configuration
  • LAB: Implicit synchronization

VxWorks SMP Programming

  • Spinlocks
  • Read and write semaphores
  • CPU affinity
  • Interrupt CPU affinity
  • Atomic operations
  • Memory barriers
  • CPU information and management
  • UP incompatibilities
  • LAB: Data synchronization
  • LAB: Core affinity and reservation

Day 2

Debugging and Analysis Tools

  • Multi-core debugging overview
  • Breakpoints
  • Multiple context debugging
  • On-chip debugging tools
  • Run-time analysis tools (system viewer)
  • SMP image configuration
  • Kernel shell debugging
  • LAB: Debugger

Introduction to Software Parallelism

  • SMP limits
  • Parallel software design
  • Implementing a parallel programming model
  • Threading
  • Parallelism examples
  • Pthreads, OpenMP, and MPI

Uniprocessor to SMP Migration

  • Migration guideline
  • Three-step migration plan
    • Step 1: Update to current VxWorks version
    • Step 2: Migrate to SMP API
    • Step 3: SMP optimization
  • LAB: Performance measurement

VxBus

  • VxBus introduction
  • Benefits
  • VxBus terminology
  • Component configuration
  • Interrupts
  • Porting strategies

VxWorks 6.x SMP Scheduler

  • Overview
  • VxWorks UP scheduler
  • VxWorks SMP
  • VxWorks SMP scheduler

Prerequisite Courses

Prerequisite Skills

  • C programming
  • Functional knowledge of UNIX
  • Basic VxWorks API knowledge
  • Real-time programming basics
  • This two-day expert-led course consists of nine lectures and seven lab sessions.
  • Attendees use VxWorks 6.9, Workbench 3.3, and Simics 4.6 to gain experience with the topics presented.
  • Participants receive individual guidance from an expert engineer who has extensive experience with Wind River technologies.
Subscribe to Wind River