A Concurrency Framework for Priority-Aware Intercomponent Requests in CAmkES on seL4

IF 0.5 Q4 COMPUTER SCIENCE, SOFTWARE ENGINEERING
M. Sudvarg, Chris Gill
{"title":"A Concurrency Framework for Priority-Aware Intercomponent Requests in CAmkES on seL4","authors":"M. Sudvarg, Chris Gill","doi":"10.1109/RTCSA55878.2022.00007","DOIUrl":null,"url":null,"abstract":"Component-based design can encapsulate and isolate state and the operations on it, but timing semantics crosscut 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; and (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. We measure overheads and blocking times for these new features and use existing theory to perform schedulability analysis. Evaluations on both Intel x86 and ARM platforms show that our new library allows CAmkES to provide suitable end-to-end timing for real-time systems.","PeriodicalId":38446,"journal":{"name":"International Journal of Embedded and Real-Time Communication Systems (IJERTCS)","volume":"116 1","pages":"1-10"},"PeriodicalIF":0.5000,"publicationDate":"2022-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Journal of Embedded and Real-Time Communication Systems (IJERTCS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/RTCSA55878.2022.00007","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 3

Abstract

Component-based design can encapsulate and isolate state and the operations on it, but timing semantics crosscut 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; and (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. We measure overheads and blocking times for these new features and use existing theory to perform schedulability analysis. Evaluations on both Intel x86 and ARM platforms show that our new library allows CAmkES to provide suitable end-to-end timing for real-time systems.
seL4上CAmkES中优先级感知组件间请求的并发框架
基于组件的设计可以封装和隔离状态及其上的操作,但是当实时任务的控制流跨越多个组件时,时序语义横切了这些边界。在基于优先级的调度中,组件间的控制流应与优先级信息相结合,以便对任务执行进行端到端的适当优先级排序。然而,用于seL4微内核的CAmkES组件体系结构不能充分支持跨组件间请求的优先级传播:组件接口绑定到以组件规范在编译时提供的固定优先级执行的线程。在本文中,我们提出了一个新的camke库,其线程模型支持(1)对同一组件端点的多个并发请求;(2)传播和执行优先级元数据,使这些请求得到适当的优先级;(3)实现非抢占式临界区、直接优先级上限协议和优先级继承协议,用于封装对共享资源的独占访问的临界区组件。我们测量了这些新特性的开销和阻塞时间,并使用现有的理论来执行可调度性分析。在Intel x86和ARM平台上的评估表明,我们的新库允许camke为实时系统提供合适的端到端定时。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
CiteScore
1.70
自引率
14.30%
发文量
17
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信