首页 > 最新文献

2013 Proceedings of the International Conference on Embedded Software (EMSOFT)最新文献

英文 中文
Middleware design for Physically-Asynchronous Logically-Synchronous (PALS) systems 物理异步逻辑同步系统的中间件设计
Pub Date : 2013-09-29 DOI: 10.1109/EMSOFT.2013.6658583
A. Al-Nayeem, Cheolgi Kim, Woochul Kang, Po-Liang Wu, L. Sha
The Physically-Asynchronous Logically-Synchronous (PALS) system is a recently proposed architectural pattern for cyber-physical systems. It guarantees a logically synchronous design abstraction for real-time distributed computations. In this work, we develop a new middleware, called PALSware, to support an efficient and robust implementation of the PALS system and its extensions. PALSware guarantees consistency in distributed applications by eliminating any asynchronous interactions resulting from distributed clocks and node failures. We present a layered design for this middle-ware that is both reusable in different system architectures and can be extended with architecture-specific solutions for fault management. We demonstrate the middleware for an academic control testbed and show the consistency in a fault injection framework designed for this middleware.
物理异步逻辑同步(PALS)系统是最近提出的一种网络物理系统体系结构模式。它保证了实时分布式计算的逻辑同步设计抽象。在这项工作中,我们开发了一个新的中间件,称为PALSware,以支持PALS系统及其扩展的高效和健壮的实现。PALSware通过消除由分布式时钟和节点故障导致的任何异步交互来保证分布式应用程序的一致性。我们为这个中间件提供了一种分层设计,它既可以在不同的系统体系结构中重用,又可以使用特定于体系结构的故障管理解决方案进行扩展。我们演示了一个学术控制测试平台的中间件,并展示了为该中间件设计的故障注入框架的一致性。
{"title":"Middleware design for Physically-Asynchronous Logically-Synchronous (PALS) systems","authors":"A. Al-Nayeem, Cheolgi Kim, Woochul Kang, Po-Liang Wu, L. Sha","doi":"10.1109/EMSOFT.2013.6658583","DOIUrl":"https://doi.org/10.1109/EMSOFT.2013.6658583","url":null,"abstract":"The Physically-Asynchronous Logically-Synchronous (PALS) system is a recently proposed architectural pattern for cyber-physical systems. It guarantees a logically synchronous design abstraction for real-time distributed computations. In this work, we develop a new middleware, called PALSware, to support an efficient and robust implementation of the PALS system and its extensions. PALSware guarantees consistency in distributed applications by eliminating any asynchronous interactions resulting from distributed clocks and node failures. We present a layered design for this middle-ware that is both reusable in different system architectures and can be extended with architecture-specific solutions for fault management. We demonstrate the middleware for an academic control testbed and show the consistency in a fault injection framework designed for this middleware.","PeriodicalId":325726,"journal":{"name":"2013 Proceedings of the International Conference on Embedded Software (EMSOFT)","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125507864","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 6
On composing and proving the correctness of reactive behavior 论反应性行为的构成与正确性证明
Pub Date : 2013-09-29 DOI: 10.1109/EMSOFT.2013.6658591
D. Harel, Amir Kantor, Guy Katz, Assaf Marron, Lior Mizrahi, Gera Weiss
We present a method and a tool for composing a reactive system and for accompanying the development and documentation process with a proof of its correctness. The approach is based on behavioral programming (BP) and the Z3 SMT solver. We show how program verification can be automated and streamlined by combining properties of individual modules, specified and verified separately, with application-independent specifications both of the BP semantics and of general theories. The method may yield an exponential acceleration of the verification process when compared with model-checking the composite application. We show that formalization of properties of independent modules in preparation for the correctness proofs can be useful as documentation for future development. We view this work as a further step towards making formal correctness proofs standard practice in the development of reactive systems, and carried out by programmers at large.
我们提出了一种方法和工具,用于组成反应系统,并伴随开发和文档过程,并证明其正确性。该方法基于行为规划(BP)和Z3 SMT求解器。我们展示了如何通过将单独指定和验证的单个模块的属性与BP语义和一般理论的应用独立规范相结合来自动化和简化程序验证。与复合应用程序的模型检查相比,该方法可以产生指数级的验证过程加速。我们表明,为正确性证明做准备的独立模块的属性形式化可以作为将来开发的有用文档。我们把这项工作看作是使响应式系统开发中的正式正确性证明成为标准实践的又一步,并由程序员普遍执行。
{"title":"On composing and proving the correctness of reactive behavior","authors":"D. Harel, Amir Kantor, Guy Katz, Assaf Marron, Lior Mizrahi, Gera Weiss","doi":"10.1109/EMSOFT.2013.6658591","DOIUrl":"https://doi.org/10.1109/EMSOFT.2013.6658591","url":null,"abstract":"We present a method and a tool for composing a reactive system and for accompanying the development and documentation process with a proof of its correctness. The approach is based on behavioral programming (BP) and the Z3 SMT solver. We show how program verification can be automated and streamlined by combining properties of individual modules, specified and verified separately, with application-independent specifications both of the BP semantics and of general theories. The method may yield an exponential acceleration of the verification process when compared with model-checking the composite application. We show that formalization of properties of independent modules in preparation for the correctness proofs can be useful as documentation for future development. We view this work as a further step towards making formal correctness proofs standard practice in the development of reactive systems, and carried out by programmers at large.","PeriodicalId":325726,"journal":{"name":"2013 Proceedings of the International Conference on Embedded Software (EMSOFT)","volume":"72 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127371978","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 28
Verifying Simulink diagrams via a Hybrid Hoare Logic Prover 通过混合Hoare逻辑验证器验证Simulink图
Pub Date : 2013-09-29 DOI: 10.1109/EMSOFT.2013.6658587
Liang Zou, N. Zhan, Shuling Wang, M. Fränzle, S. Qin
Simulink is an industrial de-facto standard for building executable models of embedded systems and their environments, facilitating validation by simulation. Due to the inherent incompleteness of this form of system validation, complementing simulation by formal verification would be desirable. A prerequisite for such an approach is a formal semantics of Simulink's graphical models. In this paper, we show how to encode Simulink diagrams into Hybrid CSP (HCSP), a formal modelling language encoding hybrid system dynamics by means of an extension of CSP. The translation from Simulink to HCSP is fully automatic. We furthermore discuss how to utilize a Hybrid Hoare Logic Prover to verify the translated HCSP models. We demonstrate our approach on a combined scenario originating from the Chinese High-speed Train Control System at Level 3 (CTCS-3).
Simulink是一种工业事实标准,用于构建嵌入式系统及其环境的可执行模型,便于通过仿真进行验证。由于这种形式的系统验证固有的不完整性,通过形式验证来补充仿真是可取的。这种方法的先决条件是Simulink图形模型的形式化语义。在本文中,我们展示了如何将Simulink图编码成混合CSP (HCSP),这是一种通过CSP的扩展来编码混合系统动力学的形式化建模语言。从Simulink到HCSP的转换是全自动的。我们进一步讨论了如何利用混合Hoare逻辑证明器来验证转换后的HCSP模型。我们在一个来自中国三级高速列车控制系统(CTCS-3)的组合场景中展示了我们的方法。
{"title":"Verifying Simulink diagrams via a Hybrid Hoare Logic Prover","authors":"Liang Zou, N. Zhan, Shuling Wang, M. Fränzle, S. Qin","doi":"10.1109/EMSOFT.2013.6658587","DOIUrl":"https://doi.org/10.1109/EMSOFT.2013.6658587","url":null,"abstract":"Simulink is an industrial de-facto standard for building executable models of embedded systems and their environments, facilitating validation by simulation. Due to the inherent incompleteness of this form of system validation, complementing simulation by formal verification would be desirable. A prerequisite for such an approach is a formal semantics of Simulink's graphical models. In this paper, we show how to encode Simulink diagrams into Hybrid CSP (HCSP), a formal modelling language encoding hybrid system dynamics by means of an extension of CSP. The translation from Simulink to HCSP is fully automatic. We furthermore discuss how to utilize a Hybrid Hoare Logic Prover to verify the translated HCSP models. We demonstrate our approach on a combined scenario originating from the Chinese High-speed Train Control System at Level 3 (CTCS-3).","PeriodicalId":325726,"journal":{"name":"2013 Proceedings of the International Conference on Embedded Software (EMSOFT)","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132670711","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 49
Energy-aware thread co-location in heterogeneous multicore processors 异构多核处理器中的能量感知线程协同定位
Pub Date : 2013-09-29 DOI: 10.1109/EMSOFT.2013.6658599
Rajiv Nishtala, D. Mossé, V. Petrucci
Given the wide variety of performance demands for various workloads, the trend in embedded systems is shifting from homogeneous to heterogeneous processors, which have been shown to yield performance and energy saving benefits. A typical heterogeneous processor has cores with different performance and power characteristics, that is, high performance and power hungry (“big”) cores, and low power and performance (“small”) cores. In order to satisfy the memory bandwidth and computation demands of various threads, it is important (albeit challenging) to map threads to cores. Such assignment should take into account that threads could potentially be harmful to each other in the usage of shared resources (e.g., cache, memory). We propose a scheme for dynamic energy-efficient assignment of threads to big/small cores, DIO-E (Distributed Intensity Online-Energy), which is an enhancement of the previously proposed DIO. In contrast to DIO, we take into account both CPU and memory demands of threads to characterize the performance of threads when co-running on the same core at run-time. Our results show that DIO-E improves the energy-delay-squared product (ED2) by 9% (average) over DIO, running on a performance-asymmetric multicore system. Both DIO and DIO-E show about 50% improvement in ED2 over a state-of-the-art solution.
考虑到各种工作负载的各种性能需求,嵌入式系统的趋势是从同构处理器转向异构处理器,这已被证明可以产生性能和节能优势。典型的异构处理器具有具有不同性能和功耗特性的核心,即高性能和耗电(“大”)核心,以及低功耗和性能(“小”)核心。为了满足各种线程的内存带宽和计算需求,将线程映射到内核是很重要的(尽管具有挑战性)。这样的分配应该考虑到线程在使用共享资源(例如,缓存、内存)时可能会对彼此造成潜在的伤害。我们提出了一种动态节能分配线程到大/小内核的方案,DIO- e(分布式强度在线能量),这是先前提出的DIO的改进。与DIO不同的是,我们考虑了线程的CPU和内存需求,以描述线程在运行时在同一核心上共同运行时的性能。我们的结果表明,在性能不对称的多核系统上运行时,DIO- e比DIO提高了9%的能量延迟平方积(ED2)(平均)。与最先进的解决方案相比,DIO和DIO- e的ED2都提高了约50%。
{"title":"Energy-aware thread co-location in heterogeneous multicore processors","authors":"Rajiv Nishtala, D. Mossé, V. Petrucci","doi":"10.1109/EMSOFT.2013.6658599","DOIUrl":"https://doi.org/10.1109/EMSOFT.2013.6658599","url":null,"abstract":"Given the wide variety of performance demands for various workloads, the trend in embedded systems is shifting from homogeneous to heterogeneous processors, which have been shown to yield performance and energy saving benefits. A typical heterogeneous processor has cores with different performance and power characteristics, that is, high performance and power hungry (“big”) cores, and low power and performance (“small”) cores. In order to satisfy the memory bandwidth and computation demands of various threads, it is important (albeit challenging) to map threads to cores. Such assignment should take into account that threads could potentially be harmful to each other in the usage of shared resources (e.g., cache, memory). We propose a scheme for dynamic energy-efficient assignment of threads to big/small cores, DIO-E (Distributed Intensity Online-Energy), which is an enhancement of the previously proposed DIO. In contrast to DIO, we take into account both CPU and memory demands of threads to characterize the performance of threads when co-running on the same core at run-time. Our results show that DIO-E improves the energy-delay-squared product (ED2) by 9% (average) over DIO, running on a performance-asymmetric multicore system. Both DIO and DIO-E show about 50% improvement in ED2 over a state-of-the-art solution.","PeriodicalId":325726,"journal":{"name":"2013 Proceedings of the International Conference on Embedded Software (EMSOFT)","volume":"113 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124344590","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 21
Verification of annotated models from executions 从执行中验证带注释的模型
Pub Date : 2013-09-29 DOI: 10.1109/EMSOFT.2013.6658604
Parasara Sridhar Duggirala, S. Mitra, Mahesh Viswanathan
Simulations can help enhance confidence in system designs but they provide almost no formal guarantees. In this paper, we present a simulation-based verification framework for embedded systems described by non-linear, switched systems. In our framework, users are required to annotate the dynamics in each control mode of switched system by something we call a discrepancy function that formally measures the nature of trajectory convergence/divergence of the system. Discrepancy functions generalize other measures of trajectory convergence and divergence like Contraction Metrics and Incremental Lyapunov functions. Exploiting such annotations, we present a sound and relatively complete verification procedure for robustly safe/unsafe systems. We have built a tool based on the framework that is integrated into the popular Simulink/Stateflow modeling environment. Experiments with our prototype tool shows that the approach (a) outperforms other verification tools on standard linear and non-linear benchmarks, (b) scales reasonably to larger dimensional systems and to longer time horizons, and (c) applies to models with diverging trajectories and unknown parameters.
模拟可以帮助增强对系统设计的信心,但它们几乎不能提供正式的保证。在本文中,我们提出了一种基于仿真的验证框架,用于非线性、切换系统描述的嵌入式系统。在我们的框架中,用户需要通过我们称为差异函数的东西来注释切换系统的每个控制模式中的动态,该函数正式测量系统的轨迹收敛/散度的性质。差异函数概括了轨迹收敛和发散的其他度量,如收缩度量和增量李雅普诺夫函数。利用这些注释,我们提出了一个健全和相对完整的鲁棒安全/不安全系统验证程序。我们已经构建了一个基于框架的工具,该工具集成到流行的Simulink/ statflow建模环境中。使用我们的原型工具进行的实验表明,该方法(a)在标准线性和非线性基准上优于其他验证工具,(b)合理地扩展到更大维度的系统和更长的时间范围,以及(c)适用于具有发散轨迹和未知参数的模型。
{"title":"Verification of annotated models from executions","authors":"Parasara Sridhar Duggirala, S. Mitra, Mahesh Viswanathan","doi":"10.1109/EMSOFT.2013.6658604","DOIUrl":"https://doi.org/10.1109/EMSOFT.2013.6658604","url":null,"abstract":"Simulations can help enhance confidence in system designs but they provide almost no formal guarantees. In this paper, we present a simulation-based verification framework for embedded systems described by non-linear, switched systems. In our framework, users are required to annotate the dynamics in each control mode of switched system by something we call a discrepancy function that formally measures the nature of trajectory convergence/divergence of the system. Discrepancy functions generalize other measures of trajectory convergence and divergence like Contraction Metrics and Incremental Lyapunov functions. Exploiting such annotations, we present a sound and relatively complete verification procedure for robustly safe/unsafe systems. We have built a tool based on the framework that is integrated into the popular Simulink/Stateflow modeling environment. Experiments with our prototype tool shows that the approach (a) outperforms other verification tools on standard linear and non-linear benchmarks, (b) scales reasonably to larger dimensional systems and to longer time horizons, and (c) applies to models with diverging trajectories and unknown parameters.","PeriodicalId":325726,"journal":{"name":"2013 Proceedings of the International Conference on Embedded Software (EMSOFT)","volume":"142 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131936288","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 90
Limited preemptive scheduling of non-independent task sets 非独立任务集的有限抢占调度
Pub Date : 2013-09-29 DOI: 10.1109/EMSOFT.2013.6658596
Andrea Baldovin, E. Mezzetti, T. Vardanega
Preemption is a key factor against architectural coupling in concurrent systems. The whole verification process of real-time systems postulates composability in multiple dimensions, including time. As coupling wrecks composability, the design of real-time systems really needs preemption. However preemption effects complicate feasibility analysis or make it more pessimistic. Hence methods that limit preemptions without affecting feasibility are attractive. State-of-the-art approaches to limited preemption, however, do not treat resource sharing with the importance that it deserves. The placement of non-preemptive regions - and their interactions with shared resources - should not become a design problem, but rather stay as an implementation level feature that does not backtrack to the design space. In this paper we present a refinement to the state-of-the-art limited preemption model that addresses the interaction with resource sharing, and discuss a kernel implementation that uses run-time knowledge to warrant safe and efficient overlaps between critical sections and non-preemptive regions. Experimental results prove the effectiveness of the proposed solution.
抢占是并发系统中对抗体系结构耦合的一个关键因素。实时系统的整个验证过程要求在包括时间在内的多个维度上具有可组合性。由于耦合破坏了可组合性,因此实时系统的设计确实需要抢占。然而,抢占效应使可行性分析变得复杂或更加悲观。因此,限制先发制人而不影响可行性的方法是有吸引力的。然而,目前最先进的有限抢占办法并没有对资源共享给予应有的重视。非抢占区域的放置——以及它们与共享资源的交互——不应该成为一个设计问题,而应该作为一个实现级别的特性,不会回溯到设计空间。在本文中,我们提出了对最先进的有限抢占模型的改进,该模型解决了与资源共享的交互,并讨论了一个使用运行时知识来保证临界区和非抢占区域之间安全有效重叠的内核实现。实验结果证明了该方法的有效性。
{"title":"Limited preemptive scheduling of non-independent task sets","authors":"Andrea Baldovin, E. Mezzetti, T. Vardanega","doi":"10.1109/EMSOFT.2013.6658596","DOIUrl":"https://doi.org/10.1109/EMSOFT.2013.6658596","url":null,"abstract":"Preemption is a key factor against architectural coupling in concurrent systems. The whole verification process of real-time systems postulates composability in multiple dimensions, including time. As coupling wrecks composability, the design of real-time systems really needs preemption. However preemption effects complicate feasibility analysis or make it more pessimistic. Hence methods that limit preemptions without affecting feasibility are attractive. State-of-the-art approaches to limited preemption, however, do not treat resource sharing with the importance that it deserves. The placement of non-preemptive regions - and their interactions with shared resources - should not become a design problem, but rather stay as an implementation level feature that does not backtrack to the design space. In this paper we present a refinement to the state-of-the-art limited preemption model that addresses the interaction with resource sharing, and discuss a kernel implementation that uses run-time knowledge to warrant safe and efficient overlaps between critical sections and non-preemptive regions. Experimental results prove the effectiveness of the proposed solution.","PeriodicalId":325726,"journal":{"name":"2013 Proceedings of the International Conference on Embedded Software (EMSOFT)","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122307484","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 5
Synthesis of fixed-point programs 不动点程序的综合
Pub Date : 2013-09-29 DOI: 10.1109/EMSOFT.2013.6658600
Eva Darulova, Viktor Kunčak, R. Majumdar, I. Saha
Several problems in the implementations of control systems, signal-processing systems, and scientific computing systems reduce to compiling a polynomial expression over the reals into an imperative program using fixed-point arithmetic. Fixed-point arithmetic only approximates real values, and its operators do not have the fundamental properties of real arithmetic, such as associativity. Consequently, a naive compilation process can yield a program that significantly deviates from the real polynomial, whereas a different order of evaluation can result in a program that is close to the real value on all inputs in its domain. We present a compilation scheme for real-valued arithmetic expressions to fixed-point arithmetic programs. Given a real-valued polynomial expression t, we find an expression t' that is equivalent to t over the reals, but whose implementation as a series of fixed-point operations minimizes the error between the fixed-point value and the value of t over the space of all inputs. We show that the corresponding decision problem, checking whether there is an implementation t' of t whose error is less than a given constant, is NP-hard. We then propose a solution technique based on genetic programming. Our technique evaluates the fitness of each candidate program using a static analysis based on affine arithmetic. We show that our tool can significantly reduce the error in the fixed-point implementation on a set of linear control system benchmarks. For example, our tool found implementations whose errors are only one half of the errors in the original fixed-point expressions.
在控制系统、信号处理系统和科学计算系统的实现中,有几个问题可以归结为使用不动点算法将实数上的多项式表达式编译成命令式程序。定点算术只近似于实数,其运算符不具有实数的基本性质,如结合律。因此,朴素的编译过程可能产生一个明显偏离真实多项式的程序,而不同的求值顺序可能导致一个接近其域内所有输入的真实值的程序。给出了一种实值算术表达式在定点算术程序中的编译方案。给定一个实值多项式表达式t,我们找到一个表达式t',它等价于t除以实数,但是它的实现是一系列不动点运算,使不动点值与t的值在所有输入空间上的误差最小。我们证明了相应的决策问题是np困难的,即检查是否存在误差小于给定常数的t的实现t'。然后,我们提出了一种基于遗传规划的求解技术。我们的技术使用基于仿射算法的静态分析来评估每个候选程序的适应度。我们表明,我们的工具可以显着减少一组线性控制系统基准的定点实现中的误差。例如,我们的工具发现了一些实现,它们的错误只有原始定点表达式中错误的一半。
{"title":"Synthesis of fixed-point programs","authors":"Eva Darulova, Viktor Kunčak, R. Majumdar, I. Saha","doi":"10.1109/EMSOFT.2013.6658600","DOIUrl":"https://doi.org/10.1109/EMSOFT.2013.6658600","url":null,"abstract":"Several problems in the implementations of control systems, signal-processing systems, and scientific computing systems reduce to compiling a polynomial expression over the reals into an imperative program using fixed-point arithmetic. Fixed-point arithmetic only approximates real values, and its operators do not have the fundamental properties of real arithmetic, such as associativity. Consequently, a naive compilation process can yield a program that significantly deviates from the real polynomial, whereas a different order of evaluation can result in a program that is close to the real value on all inputs in its domain. We present a compilation scheme for real-valued arithmetic expressions to fixed-point arithmetic programs. Given a real-valued polynomial expression t, we find an expression t' that is equivalent to t over the reals, but whose implementation as a series of fixed-point operations minimizes the error between the fixed-point value and the value of t over the space of all inputs. We show that the corresponding decision problem, checking whether there is an implementation t' of t whose error is less than a given constant, is NP-hard. We then propose a solution technique based on genetic programming. Our technique evaluates the fitness of each candidate program using a static analysis based on affine arithmetic. We show that our tool can significantly reduce the error in the fixed-point implementation on a set of linear control system benchmarks. For example, our tool found implementations whose errors are only one half of the errors in the original fixed-point expressions.","PeriodicalId":325726,"journal":{"name":"2013 Proceedings of the International Conference on Embedded Software (EMSOFT)","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125912637","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 40
Path-sensitive resource analysis compliant with assertions 符合断言的路径敏感资源分析
Pub Date : 2013-09-29 DOI: 10.1109/EMSOFT.2013.6658593
D. Chu, J. Jaffar
We consider the problem of bounding the worst-case resource usage of programs, where assertions about valid program executions may be enforced at selected program points. It is folklore that to be precise, path-sensitivity (up to loops) is needed. This entails unrolling loops in the manner of symbolic simulation. To be tractable, however, the treatment of the individual loop iterations must be greedy in the sense once analysis is finished on one iteration, we cannot backtrack to change it. We show that under these conditions, enforcing assertions produces unsound results. The fundamental reason is that complying with assertions requires the analysis to be fully sensitive (also with loops) wrt. the assertion variables. We then present an algorithm where the treatment of each loop is separated in two phases. The first phase uses a greedy strategy in unrolling the loop. This phase explores what is conceptually a symbolic execution tree, which is of enormous size, while eliminates infeasible paths and dominated paths that guaranteed not to contribute to the worst case bound. A compact representation is produced at the end of this phase. Finally, the second phase attacks the remaining problem, to determine the worst-case path in the simplified tree, excluding all paths that violate the assertions from bound calculation. Scalability, in both phases, is achieved via an adaptation of a dynamic programming algorithm.
我们考虑限定程序的最坏情况资源使用的问题,在这种情况下,关于有效程序执行的断言可以在选定的程序点强制执行。根据民间传说,精确地说,需要路径敏感性(直到循环)。这需要以符号模拟的方式展开循环。然而,为了便于处理,单个循环迭代的处理必须是贪婪的,因为一旦在一个迭代上完成分析,我们就不能回溯到改变它。我们表明,在这些条件下,强制执行断言会产生不可靠的结果。最根本的原因是遵循断言要求分析完全敏感(也包括循环)。断言变量。然后,我们提出了一种算法,其中每个循环的处理分为两个阶段。第一阶段在展开循环时使用贪婪策略。这个阶段探索了符号执行树的概念,它的大小非常大,同时消除了不可行的路径和保证不会导致最坏情况的主导路径。在此阶段结束时产生一个紧凑的表示。最后,第二阶段解决剩下的问题,确定简化树中的最坏情况路径,从边界计算中排除所有违反断言的路径。在这两个阶段中,可伸缩性是通过对动态规划算法的适应来实现的。
{"title":"Path-sensitive resource analysis compliant with assertions","authors":"D. Chu, J. Jaffar","doi":"10.1109/EMSOFT.2013.6658593","DOIUrl":"https://doi.org/10.1109/EMSOFT.2013.6658593","url":null,"abstract":"We consider the problem of bounding the worst-case resource usage of programs, where assertions about valid program executions may be enforced at selected program points. It is folklore that to be precise, path-sensitivity (up to loops) is needed. This entails unrolling loops in the manner of symbolic simulation. To be tractable, however, the treatment of the individual loop iterations must be greedy in the sense once analysis is finished on one iteration, we cannot backtrack to change it. We show that under these conditions, enforcing assertions produces unsound results. The fundamental reason is that complying with assertions requires the analysis to be fully sensitive (also with loops) wrt. the assertion variables. We then present an algorithm where the treatment of each loop is separated in two phases. The first phase uses a greedy strategy in unrolling the loop. This phase explores what is conceptually a symbolic execution tree, which is of enormous size, while eliminates infeasible paths and dominated paths that guaranteed not to contribute to the worst case bound. A compact representation is produced at the end of this phase. Finally, the second phase attacks the remaining problem, to determine the worst-case path in the simplified tree, excluding all paths that violate the assertions from bound calculation. Scalability, in both phases, is achieved via an adaptation of a dynamic programming algorithm.","PeriodicalId":325726,"journal":{"name":"2013 Proceedings of the International Conference on Embedded Software (EMSOFT)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114898084","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
An efficient code update solution for wireless sensor network reprogramming 无线传感器网络重编程的高效代码更新解决方案
Pub Date : 2013-09-29 DOI: 10.1109/EMSOFT.2013.6658582
B. Mazumder, J. Hallstrom
We present an incremental code update strategy used to efficiently reprogram wireless sensor nodes. We adapt a linear space and quadratic time algorithm (Hirschberg's algorithm) for computing maximal common subsequences to build an edit map specifying an edit sequence, required to transform the code running in a sensor network to a new code image. We then present a heuristic-based optimization strategy for efficient edit script encoding to reduce th.e edit map size. Finally, we present experimental results to demonstrate the reduction in data size to reprogram a network using this mechanism. The approach achieves reductions of 99.987% for simple changes, and between 86.95% and 94.58% for more complex changes, compared to full image transmissions - leading to significantly lower energy costs for wireless sensor network reprogramming. We compare the results with reductions achieved by other incremental update strategies described in prior work.
我们提出了一种增量代码更新策略,用于有效地重新编程无线传感器节点。我们采用线性空间和二次时间算法(Hirschberg算法)来计算最大公共子序列,以构建指定编辑序列的编辑映射,将在传感器网络中运行的代码转换为新的代码图像。然后,我们提出了一种基于启发式的优化策略,用于有效的编辑脚本编码,以减少这种干扰。编辑地图大小。最后,我们给出了实验结果,以证明使用该机制重新编程网络时数据大小的减少。与完整的图像传输相比,该方法在简单的变化中实现了99.987%的减少,在更复杂的变化中实现了86.95%到94.58%的减少,从而显著降低了无线传感器网络重编程的能源成本。我们将结果与先前工作中描述的其他增量更新策略所实现的减少进行比较。
{"title":"An efficient code update solution for wireless sensor network reprogramming","authors":"B. Mazumder, J. Hallstrom","doi":"10.1109/EMSOFT.2013.6658582","DOIUrl":"https://doi.org/10.1109/EMSOFT.2013.6658582","url":null,"abstract":"We present an incremental code update strategy used to efficiently reprogram wireless sensor nodes. We adapt a linear space and quadratic time algorithm (Hirschberg's algorithm) for computing maximal common subsequences to build an edit map specifying an edit sequence, required to transform the code running in a sensor network to a new code image. We then present a heuristic-based optimization strategy for efficient edit script encoding to reduce th.e edit map size. Finally, we present experimental results to demonstrate the reduction in data size to reprogram a network using this mechanism. The approach achieves reductions of 99.987% for simple changes, and between 86.95% and 94.58% for more complex changes, compared to full image transmissions - leading to significantly lower energy costs for wireless sensor network reprogramming. We compare the results with reductions achieved by other incremental update strategies described in prior work.","PeriodicalId":325726,"journal":{"name":"2013 Proceedings of the International Conference on Embedded Software (EMSOFT)","volume":"175 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115267838","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 11
Diversifying wear index for MLC NAND flash memory to extend the lifetime of SSDs 多样化MLC NAND闪存的磨损指标,延长固态硬盘的使用寿命
Pub Date : 2013-09-29 DOI: 10.1109/EMSOFT.2013.6658584
Yeong-Jae Woo, Jin-Soo Kim
NAND flash-based solid state drives (SSDs) are replacing magnetic disks because of their fast random access performance, shock resistance, and low power consumption. However, the number of program and erase cycles that can be performed on NAND flash is limited. To overcome this limitation, SSDs require a sophisticated wear-leveling algorithm which distributes program/erase cycles evenly across all flash blocks. While most of existing wear-leveling algorithms are only based on the erase counts of flash blocks, our empirical study indicates that the erase count alone is not a good wear index which tells us how much a flash block is worn out. This paper proposes a new wear index for MLC NAND flash memory which takes into account more diverse properties of NAND flash memory. To show the effectiveness of the proposed wear index, we also develop a wear-leveling algorithm, named Equalizer. In our evaluation with three realistic workloads, Equalizer based on the proposed wear index improves the effective lifetime of SSDs by up to 145% compared to the existing wear-leveling technique based on the erase count.
基于NAND闪存的固态硬盘(ssd)以其快速随机存取性能、抗冲击性能和低功耗等优点正在取代磁盘。然而,可以在NAND闪存上执行的程序和擦除周期的数量是有限的。为了克服这一限制,ssd需要一种复杂的损耗均衡算法,该算法将程序/擦除周期均匀地分布在所有闪存块上。虽然大多数现有的磨损均衡算法仅基于闪存块的擦除计数,但我们的实证研究表明,擦除计数本身并不是一个很好的磨损指标,它不能告诉我们闪存块磨损了多少。本文提出了一种新的MLC NAND闪存磨损指标,该指标考虑了NAND闪存更多样化的特性。为了证明所提出的磨损指标的有效性,我们还开发了一种称为Equalizer的磨损均衡算法。在我们对三种实际工作负载的评估中,与现有的基于擦除计数的磨损均衡技术相比,基于拟议磨损指数的均衡器可将ssd的有效寿命提高145%。
{"title":"Diversifying wear index for MLC NAND flash memory to extend the lifetime of SSDs","authors":"Yeong-Jae Woo, Jin-Soo Kim","doi":"10.1109/EMSOFT.2013.6658584","DOIUrl":"https://doi.org/10.1109/EMSOFT.2013.6658584","url":null,"abstract":"NAND flash-based solid state drives (SSDs) are replacing magnetic disks because of their fast random access performance, shock resistance, and low power consumption. However, the number of program and erase cycles that can be performed on NAND flash is limited. To overcome this limitation, SSDs require a sophisticated wear-leveling algorithm which distributes program/erase cycles evenly across all flash blocks. While most of existing wear-leveling algorithms are only based on the erase counts of flash blocks, our empirical study indicates that the erase count alone is not a good wear index which tells us how much a flash block is worn out. This paper proposes a new wear index for MLC NAND flash memory which takes into account more diverse properties of NAND flash memory. To show the effectiveness of the proposed wear index, we also develop a wear-leveling algorithm, named Equalizer. In our evaluation with three realistic workloads, Equalizer based on the proposed wear index improves the effective lifetime of SSDs by up to 145% compared to the existing wear-leveling technique based on the erase count.","PeriodicalId":325726,"journal":{"name":"2013 Proceedings of the International Conference on Embedded Software (EMSOFT)","volume":"191 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-09-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121431963","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 44
期刊
2013 Proceedings of the International Conference on Embedded Software (EMSOFT)
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1