HKG15-305: Real Time processing comparing the RT patch vs Core isolation
---------------------------------------------------
Speaker: Gary Robertson
Date: February 11, 2015
---------------------------------------------------
★ Session Summary ★
Give high level overview of the components involved in a DRM/Secure. Playback use case. Presentation discusses about how Client device obtains License Keys using W3C-EME implementation of any particular DRM like Widevine, how content is decrypted, decoded and rendered and how the buffers are allocated, secured and shared among various elements in the secure playback chain.
--------------------------------------------------
★ Resources ★
Pathable: https://hkg15.pathable.com/meetings/250810
Video: https://www.youtube.com/watch?v=zC3E9xizkoY
Etherpad: http://pad.linaro.org/p/hkg15-305
---------------------------------------------------
★ Event Details ★
Linaro Connect Hong Kong 2015 - #HKG15
February 9-13th, 2015
Regal Airport Hotel Hong Kong Airport
---------------------------------------------------
http://www.linaro.org
http://connect.linaro.org
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
HKG15-305: Real Time processing comparing the RT patch vs Core isolation
1.
2. Presented by
Date
Event
Low Latency Frameworks -
Real-Time Linux
- vs -
CPU Core Isolation
Considerations and ComparisonsGary Robertson
Santosh Shukla
Linaro Connect HKG15
3. Real-Time Linux - Overview
● Goal is to maximize latency determinism
while maintaining full kernel functionality
● Most kernel locks transformed into rt-mutex
based locks which might sleep
● Adds support for priority inheritance and
priority-based queuing for lock waiters
● Encapsulates ISRs inside schedulable tasks
4. Real Time Linux - Pro’s and Con’s
Pro’s
● Transparent to most
applications code
● Leverages existing
driver and protocol
stacks
● Works on single-CPU
platforms
Con’s
● Future of upstream
support uncertain
● Requires extensive
changes to kernel code
and drivers
● Demands expert tuning
for optimal performance
5. Real-Time Linux - Considerations
● Possible end of upstream support -
fragmentation and/or obsolescence likely
● Some drivers and kernel features broken by
RT patch - imposes a large maintenance
overhead
● Interaction between threaded interrupt
handlers and other real-time tasks requires
careful design considerations
6. CPU Core Isolation - Overview
● Goal is to minimize latencies induced by
kernel scheduler and housekeeping activities
● Dedicates some CPU cores to exclusive use
by individual user-space applications
● Relies on more direct interaction between
user space applications and I/O hardware
● Avoids any system calls
7. CPU Core Isolation - Pro’s and Con’s
Pro’s
● Reduces or eliminates
context switching
latencies
● Minimizes memory
mapping overhead
● Avoids delays due to
core migration
Con’s
● Applications cannot use
most kernel drivers or
protocol stacks
● Demands expert tuning
for optimal performance
● Requires a multi-core
platform
8. CPU Core Isolation - Considerations
● Full tickless operation demands a single system-level
scoped task per core
● Interrupt handlers affined to isolated cores must not
interact with the scheduler or create schedulable tasks
on that core
● Schedulable tasks must not be used for per CPU kernel
housekeeping on isolated cores
● Task migration from overlying scheduler domains must
be avoided
● Interaction with system thermal management undefined
9. Middle Ground - CPU Affinity Only
● Dedicate sets of cores to run only specific tasks
● Reduces latencies through lack of contention
● Retains use of ‘normal’ API environment
● May be coupled with low latency desktop preemption
● May also be coupled with threaded ISRs
● Possibly the ‘sweet spot’ for performance vs. risk and
development costs