COTS Moves to Multicore:Software Considerations to Easethe Transition To Multi-coreChris Ault, Senior Product Manager – Wi...
Evolution to Multi-core2   | © 2010 Wind River. All Rights Reserved.
Migrating from Single-Core to Multi-core      Performance:          – There may be increases          – There may be decre...
Migrating from Single-Core to Multi-core                                      Shared hardware on the board                ...
Multi-core: Shared Hardware Resources         All cores share access to             – I/O devices             – Memory    ...
Privilege Modes: Single-Core      Operating systems work in privilege modes:                     The OS kernel itself can ...
Privilege Modes and Multi-core           Cores in privilege mode can control the entire hardware           and mask interr...
SMP Operating System    Review Your Assumptions         Multiple instances of tasks running at the same priority         L...
Algorithms, Data Parallelism                      Traditional Single-core systems:                          – Single insta...
Data Parallelism          Multiple instances of data processing, operating on          smaller subsets of data          Mu...
Complex Challenges When Migrating To     Multi-core                          Shared hardware on the board                 ...
It’s Not All That Gloomy ….With Embedded Virtualization …..     Virtualize accesses to shared     hardware         – Share...
Cots moves to multicore: Wind River
Upcoming SlideShare
Loading in …5
×

Cots moves to multicore: Wind River

441 views
425 views

Published on

Chris Ault is a Senior Product Manager with Wind River Systems focusing on virtualization solutions. Prior to joining Wind River, Chris has worked in various roles from software engineering, engineering management, technical sales, and product management. Chris holds Electronics, Computer Science, and Economics degrees and resides in Ottawa, Canada.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
441
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Cots moves to multicore: Wind River

  1. 1. COTS Moves to Multicore:Software Considerations to Easethe Transition To Multi-coreChris Ault, Senior Product Manager – Wind River
  2. 2. Evolution to Multi-core2 | © 2010 Wind River. All Rights Reserved.
  3. 3. Migrating from Single-Core to Multi-core Performance: – There may be increases – There may be decreases • Data dependencies • Race conditions Programming Model – Revisit your synchronization assumptions – There is shared hardware in there! Algorithms: need to be multi-core-aware3 | © 2010 Wind River. All Rights Reserved.
  4. 4. Migrating from Single-Core to Multi-core Shared hardware on the board OS privilege levels: multiple instances of the kernel, one per core4 | © 2010 Wind River. All Rights Reserved.
  5. 5. Multi-core: Shared Hardware Resources All cores share access to – I/O devices – Memory – Timers/clocks – Interrupt controller Core Core Core Core Interrupt Controller IDE Ethernet Timer Serial Memory5 | © 2010 Wind River. All Rights Reserved.
  6. 6. Privilege Modes: Single-Core Operating systems work in privilege modes: The OS kernel itself can do anything with the hardware Device drivers are more restricted User applications/components are least privileged Ring 3 Ring 2 Least Privileged Ring 1 Ring 0AMP Kernel Example based on Intel privilege rings, other processors have similar Device Drivers concepts Device Drivers Most Privileged Applications Intel privilege rings source: Wikipedia 6 | © 2010 Wind River. All Rights Reserved.
  7. 7. Privilege Modes and Multi-core Cores in privilege mode can control the entire hardware and mask interrupts More control may be required in a multi-core setting Can seriously impacts robustness Ring 3 Ring 3 Ring 3 Ring 3 Ring 2 Ring 2 Ring 2 Ring 2 Ring 1 Ring 1 Ring 1 Ring 1 Ring 0 Ring 0 Ring 0 Ring 0SMP Kernel Kernel Kernel Kernel Device Drivers Device Drivers Device Drivers Device Drivers Device Drivers Device Drivers Device Drivers Device Drivers Applications Applications Applications Applications Core Core Core Core 7 | © 2010 Wind River. All Rights Reserved.
  8. 8. SMP Operating System Review Your Assumptions Multiple instances of tasks running at the same priority Lower priority tasks running concurrently with higher priority tasks Lower priority tasks may mask interrupts and starve higher priority tasks8 | © 2010 Wind River. All Rights Reserved.
  9. 9. Algorithms, Data Parallelism Traditional Single-core systems: – Single instance of processing task operates on complete data set – Does not utilize all cpu cores Data Set CoreIdle cores Core Data Core Processing Core 9 | © 2010 Wind River. All Rights Reserved.
  10. 10. Data Parallelism Multiple instances of data processing, operating on smaller subsets of data Multi-core-aware algorithms are necessary to realize increases in processing speed – Re-architect & re-write code Data Subsets Core Data Processing Core Data Processing Core Data Processing Core Data Processing10 | © 2010 Wind River. All Rights Reserved.
  11. 11. Complex Challenges When Migrating To Multi-core Shared hardware on the board – I/O devices, memory, interrupt controller Non-parallel code needs to be re-written, re- tested OS privilege levels: multiple instances of the kernel, one per core11 | © 2010 Wind River. All Rights Reserved.
  12. 12. It’s Not All That Gloomy ….With Embedded Virtualization ….. Virtualize accesses to shared hardware – Shared access is controlled outside of your app – Interrupt controller, memory regions, Apps Apps Apps Apps devices Retain execution behavior of OS OS existing apps Hypervisor – Minimize retesting/rewriting Core 1 Core 2 Add new functionality on remaining cores12 | © 2010 Wind River. All Rights Reserved.

×