Priority-based Concurrency And Shared Resource Access Mechanisms For Nested Intercomponent Requests In CAmkES
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.
Recommended Citation
M. Sudvarg et al., "Priority-based Concurrency And Shared Resource Access Mechanisms For Nested Intercomponent Requests In CAmkES," Real Time Systems, vol. 60, no. 1, pp. 76 - 107, Springer, Mar 2024.
The definitive version is available at https://doi.org/10.1007/s11241-024-09419-3
Department(s)
Computer Science
Keywords and Phrases
Component middleware; Priority protocols; Real-time systems
International Standard Serial Number (ISSN)
1573-1383; 0922-6443
Document Type
Article - Journal
Document Version
Citation
File Type
text
Language(s)
English
Rights
© 2026 Springer, All rights reserved.
Publication Date
01 Mar 2024

Comments
National Science Foundation, Grant 1814739