Optimal Unified Data Allocation and Task Scheduling for Real-Time Multi-Tasking Systems

R. Ghattas, Gregory S. Parsons, A. Dean
{"title":"Optimal Unified Data Allocation and Task Scheduling for Real-Time Multi-Tasking Systems","authors":"R. Ghattas, Gregory S. Parsons, A. Dean","doi":"10.1109/RTAS.2007.23","DOIUrl":null,"url":null,"abstract":"Many real-time (RT) embedded systems can benefit from a memory hierarchy to bridge the processor/memory speed gap. These RT embedded systems usually utilize a cacheless architecture to avoid the time variability which complicates the timing analysis essential for RT systems. In the absence of a cache the burden of allocating the data objects to the memory hierarchy is on the programmer/compiler. There has been much research into allocating data objects into the memory hierarchy for efficient execution. However, existing methods have limited scope and ignore some aspects of RT multitasking embedded systems. In this paper we propose a synergistic, optimal approach to allocating data objects and scheduling real-time tasks for embedded systems. We allocate data using integer linear programming (ILP) to minimize each task's worst-case execution time (WCET), then perform preemption threshold scheduling (PTS) on the tasks to reduce stack memory requirements while still meeting hard RT deadlines. The memory reduction of PTS allows these steps to be repeated. The data objects now require less memory, so more can fit into faster memory, further reducing WCET. The increased slack time can be used by PTS to reduce preemptions further, until a fixed point is reached. We evaluate the technique with several levels of data object granularity using both synthetic workloads and a real-time benchmark and find it to be highly effective","PeriodicalId":222543,"journal":{"name":"13th IEEE Real Time and Embedded Technology and Applications Symposium (RTAS'07)","volume":"62 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2007-04-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"13","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"13th IEEE Real Time and Embedded Technology and Applications Symposium (RTAS'07)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/RTAS.2007.23","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 13

Abstract

Many real-time (RT) embedded systems can benefit from a memory hierarchy to bridge the processor/memory speed gap. These RT embedded systems usually utilize a cacheless architecture to avoid the time variability which complicates the timing analysis essential for RT systems. In the absence of a cache the burden of allocating the data objects to the memory hierarchy is on the programmer/compiler. There has been much research into allocating data objects into the memory hierarchy for efficient execution. However, existing methods have limited scope and ignore some aspects of RT multitasking embedded systems. In this paper we propose a synergistic, optimal approach to allocating data objects and scheduling real-time tasks for embedded systems. We allocate data using integer linear programming (ILP) to minimize each task's worst-case execution time (WCET), then perform preemption threshold scheduling (PTS) on the tasks to reduce stack memory requirements while still meeting hard RT deadlines. The memory reduction of PTS allows these steps to be repeated. The data objects now require less memory, so more can fit into faster memory, further reducing WCET. The increased slack time can be used by PTS to reduce preemptions further, until a fixed point is reached. We evaluate the technique with several levels of data object granularity using both synthetic workloads and a real-time benchmark and find it to be highly effective
实时多任务系统的最优统一数据分配和任务调度
许多实时(RT)嵌入式系统可以从内存层次结构中获益,以弥合处理器/内存速度的差距。这些RT嵌入式系统通常使用无缓存架构来避免时间可变性,这使得RT系统的时序分析变得复杂。在没有缓存的情况下,将数据对象分配到内存层次结构的负担由程序员/编译器承担。对于如何将数据对象分配到内存层次结构中以提高执行效率,已经进行了很多研究。然而,现有的方法范围有限,忽视了RT多任务嵌入式系统的一些方面。在本文中,我们提出了一种协同的、最优的方法来分配数据对象和调度嵌入式系统的实时任务。我们使用整数线性规划(ILP)来分配数据,以最小化每个任务的最坏情况执行时间(WCET),然后对任务执行抢占阈值调度(PTS)以减少堆栈内存需求,同时仍然满足硬RT截止日期。PTS的内存减少允许重复这些步骤。数据对象现在需要更少的内存,因此更快的内存可以容纳更多的数据对象,从而进一步减少WCET。增加的空闲时间可以被PTS用来进一步减少抢占,直到达到一个固定点。我们使用合成工作负载和实时基准测试,在多个数据对象粒度级别对该技术进行了评估,发现它非常有效
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
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学术文献互助群
群 号:604180095
Book学术官方微信