Temporal Analysis for Adapting Concurrent Applications to Embedded Systems

Sibin Mohan, J. Helander
{"title":"Temporal Analysis for Adapting Concurrent Applications to Embedded Systems","authors":"Sibin Mohan, J. Helander","doi":"10.1109/ECRTS.2008.38","DOIUrl":null,"url":null,"abstract":"Embedded services and applications that interact with the real world often,over time, need to run on different kinds of hardware (low-costmicrocontrollers to powerful multicore processors). It is difficult to writeone program that would work reliably on such a wide range of devices. This isespecially true when the application must be temporally predictable and robust,which is usually be the case since the physical world works in real-time.Thus, any application interacting with such a system, must also work inreal-time.In this paper we introduce a representation of the temporal behavior ofdistributed real-time applications as colored graphs that capture the timingof temporally continuous sections of execution and dependencies between them,creating a partial order. We then introduce a method of extracting the graphfrom existing applications using a combination of analysis techniques. Once thegraph has been created, we introduce a number of graph transformations thatextract ``meaning'' from the graph. The knowledge thus gained, can be utilizedfor scheduling and for adjusting the level of parallelism suitable to the specifichardware, for identifying hot spots, false parallelism, or even candidates foradditional concurrency. The importance of these contributions is evident whenwe see that such graphs can be sequentialized to our partiture model andcan then be used as input for offline, online, or even distributed real-timescheduling. Finally we present results from analysis of a complete TCP/IP stackin addition to smaller test applications which show that our use of differentanalysis models result in a reduction of the complexities of graphs. Animportant outcome is that increasing the expression of concurrency can reducethe level of parallelism required, saving memory on deeply embedded platforms,while keeping the program parallelizable whenever complete serializability isnot required. We also show that applications which were previously consideredto be too complex for characterization of their worst-case behavior are nowanalyzable due to the combination of analysis techniques that we utilize.","PeriodicalId":176327,"journal":{"name":"2008 Euromicro Conference on Real-Time Systems","volume":"103 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2008-07-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"10","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2008 Euromicro Conference on Real-Time Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ECRTS.2008.38","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 10

Abstract

Embedded services and applications that interact with the real world often,over time, need to run on different kinds of hardware (low-costmicrocontrollers to powerful multicore processors). It is difficult to writeone program that would work reliably on such a wide range of devices. This isespecially true when the application must be temporally predictable and robust,which is usually be the case since the physical world works in real-time.Thus, any application interacting with such a system, must also work inreal-time.In this paper we introduce a representation of the temporal behavior ofdistributed real-time applications as colored graphs that capture the timingof temporally continuous sections of execution and dependencies between them,creating a partial order. We then introduce a method of extracting the graphfrom existing applications using a combination of analysis techniques. Once thegraph has been created, we introduce a number of graph transformations thatextract ``meaning'' from the graph. The knowledge thus gained, can be utilizedfor scheduling and for adjusting the level of parallelism suitable to the specifichardware, for identifying hot spots, false parallelism, or even candidates foradditional concurrency. The importance of these contributions is evident whenwe see that such graphs can be sequentialized to our partiture model andcan then be used as input for offline, online, or even distributed real-timescheduling. Finally we present results from analysis of a complete TCP/IP stackin addition to smaller test applications which show that our use of differentanalysis models result in a reduction of the complexities of graphs. Animportant outcome is that increasing the expression of concurrency can reducethe level of parallelism required, saving memory on deeply embedded platforms,while keeping the program parallelizable whenever complete serializability isnot required. We also show that applications which were previously consideredto be too complex for characterization of their worst-case behavior are nowanalyzable due to the combination of analysis techniques that we utilize.
嵌入式系统中并发应用的时间分析
随着时间的推移,与现实世界交互的嵌入式服务和应用程序经常需要在不同类型的硬件上运行(低成本的微控制器到功能强大的多核处理器)。编写一个能在如此广泛的设备上可靠运行的程序是很困难的。当应用程序必须具有临时可预测性和健壮性时尤其如此,因为物理世界是实时工作的,因此通常是这种情况。因此,任何与这样一个系统交互的应用程序也必须实时工作。在本文中,我们将分布式实时应用程序的时间行为表示为彩色图形,这些图形捕获了执行时间连续部分的时间和它们之间的依赖关系,从而创建了部分顺序。然后,我们介绍了一种使用分析技术组合从现有应用程序中提取图形的方法。一旦图被创建,我们引入一些图转换,从图中提取“意义”。由此获得的知识可以用于调度和调整适合特定硬件的并行性级别,用于识别热点、错误并行性,甚至是额外并发的候选对象。当我们看到这样的图可以被序列化到我们的分割模型中,然后可以用作离线、在线甚至分布式实时调度的输入时,这些贡献的重要性就显而易见了。最后,我们给出了对一个完整的TCP/IP堆栈的分析结果,以及更小的测试应用程序,这些结果表明我们使用不同的分析模型可以降低图的复杂性。一个重要的结果是,增加并发性的表达式可以降低所需的并行性水平,在深度嵌入式平台上节省内存,同时在不需要完全序列化性的情况下保持程序的并行性。我们还表明,由于我们利用的分析技术的组合,以前被认为过于复杂而无法表征其最坏情况行为的应用程序现在是可分析的。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约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学术官方微信