Priority-based concurrency and shared resource access mechanisms for nested intercomponent requests in CAmkES

Marion Sudvarg, Zhuoran Sun, Ao Li, Chris Gill, Ning Zhang

Research output: Contribution to journalArticlepeer-review

Abstract

Component-based design encapsulates and isolates state and the operations on it, but timing semantics cross-cut these boundaries when a real-time task’s control flow spans multiple components. Under priority-based scheduling, inter-component control flow should be coupled with priority information, so that task execution can be prioritized appropriately end-to-end. However, the CAmkES component architecture for the seL4 microkernel does not adequately support priority propagation across intercomponent requests: component interfaces are bound to threads that execute at fixed priorities provided at compile-time in the component specification. In this paper, we present a new library for CAmkES with a thread model that supports (1) multiple concurrent requests to the same component endpoint; (2) propagation and enforcement of priority metadata, such that those requests are appropriately prioritized; (3) implementations of Non-Preemptive Critical Sections, the Immediate Priority Ceiling Protocol, and the Priority Inheritance Protocol for components encapsulating critical sections of exclusive access to a shared resource; and (4) extensions of these mechanisms to support nested lock acquisition. We measure overheads and blocking times for these new features, use existing theory to discuss schedulability analysis, and present a new hyperbolic bound for rate-monotonic scheduling of tasks with blocking times that allows tasks to be assigned non-unique priorities. Evaluations on both Intel x86 and ARM platforms demonstrate that our library allows CAmkES to provide suitable end-to-end timing for real-time systems.

Original languageEnglish
Pages (from-to)76-107
Number of pages32
JournalReal-Time Systems
Volume60
Issue number1
DOIs
StatePublished - Mar 2024

Keywords

  • Component middleware
  • Priority protocols
  • Real-time systems

Fingerprint

Dive into the research topics of 'Priority-based concurrency and shared resource access mechanisms for nested intercomponent requests in CAmkES'. Together they form a unique fingerprint.

Cite this