首页 > 最新文献

2016 ACM/IEEE International Conference on Formal Methods and Models for System Design (MEMOCODE)最新文献

英文 中文
Specification of precise timing in synchronous dataflow models 在同步数据流模型中精确定时的规范
P. Derler, K. Ravindran, Rhishikesh Limaye
This paper proposes an extension to dataflow models with timing specifications to facilitate the construction of deterministic, platform independent, precisely timed models of software in cyber-physical systems (CPS). Dataflow models are often used to describe the software/cyber part of a CPS, owing to their succinct and analyzable representation of computation and concurrency. To capture the interaction of the cyber with the physical part, it is common practice to augment the dataflow model with nodes to represent physical sensors and actuators and handle the timing outside the dataflow model. However, the precise timing of these interactions is critical to the overall application behavior, and conventional dataflow models do not capture these timing requirements. In this work, we introduce timing configurations in dataflow models to specify when this communication between cyber and physical parts takes place. Timing specifications are derived from application requirements which are independent of the platform execution behavior. A correct implementation must fulfill the dataflow and timing requirements. This paper discusses the extension of the well-studied Synchronous Dataflow (SDF) model with timing configurations, shows how traditional SDF analysis for consistency and deadlock freedom is adapted for this model, and discusses hierarchical composition and analysis of composite SDF nodes with timing configurations. We believe that a model for the cyber part of a CPS must allow for the specification of application timing behavior as an integral part of the model. Timing extensions for dataflow models accomplish this in a natural and comprehensible manner. By illustrating timing configurations for SDF, we lay the groundwork for their application to a variety of dataflow models.
本文提出了一种带有时序规范的数据流模型的扩展,以便于在网络物理系统(CPS)中构建确定性的、与平台无关的、精确的软件时序模型。数据流模型通常用于描述CPS的软件/网络部分,因为它们对计算和并发性的表示简洁且可分析。为了捕捉网络与物理部分的交互,通常的做法是用节点来扩展数据流模型,以表示物理传感器和执行器,并处理数据流模型之外的时间。然而,这些交互的精确定时对整个应用程序行为至关重要,而传统的数据流模型并不能捕捉到这些定时需求。在这项工作中,我们在数据流模型中引入时序配置,以指定网络和物理部分之间的通信何时发生。计时规范来源于独立于平台执行行为的应用程序需求。正确的实现必须满足数据流和定时需求。本文讨论了同步数据流(SDF)模型的扩展,展示了传统的SDF一致性和死锁自由度分析如何适用于该模型,并讨论了具有定时配置的复合SDF节点的分层组成和分析。我们认为,CPS的网络部分的模型必须允许将应用程序计时行为规范作为模型的一个组成部分。数据流模型的计时扩展以一种自然且易于理解的方式实现了这一点。通过说明SDF的计时配置,我们为它们在各种数据流模型中的应用奠定了基础。
{"title":"Specification of precise timing in synchronous dataflow models","authors":"P. Derler, K. Ravindran, Rhishikesh Limaye","doi":"10.1109/MEMCOD.2016.7797751","DOIUrl":"https://doi.org/10.1109/MEMCOD.2016.7797751","url":null,"abstract":"This paper proposes an extension to dataflow models with timing specifications to facilitate the construction of deterministic, platform independent, precisely timed models of software in cyber-physical systems (CPS). Dataflow models are often used to describe the software/cyber part of a CPS, owing to their succinct and analyzable representation of computation and concurrency. To capture the interaction of the cyber with the physical part, it is common practice to augment the dataflow model with nodes to represent physical sensors and actuators and handle the timing outside the dataflow model. However, the precise timing of these interactions is critical to the overall application behavior, and conventional dataflow models do not capture these timing requirements. In this work, we introduce timing configurations in dataflow models to specify when this communication between cyber and physical parts takes place. Timing specifications are derived from application requirements which are independent of the platform execution behavior. A correct implementation must fulfill the dataflow and timing requirements. This paper discusses the extension of the well-studied Synchronous Dataflow (SDF) model with timing configurations, shows how traditional SDF analysis for consistency and deadlock freedom is adapted for this model, and discusses hierarchical composition and analysis of composite SDF nodes with timing configurations. We believe that a model for the cyber part of a CPS must allow for the specification of application timing behavior as an integral part of the model. Timing extensions for dataflow models accomplish this in a natural and comprehensible manner. By illustrating timing configurations for SDF, we lay the groundwork for their application to a variety of dataflow models.","PeriodicalId":180873,"journal":{"name":"2016 ACM/IEEE International Conference on Formal Methods and Models for System Design (MEMOCODE)","volume":"80 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124441525","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}
引用次数: 1
Performance-aware scheduling of multicore time-critical systems 多核时间关键型系统的性能感知调度
Jalil Boudjadar, J. H. Kim, S. Nadjm-Tehrani
Despite attractiveness of multicore processors for embedded systems, the potential performance gains need to be studied in the context of real-time task scheduling and memory interference. This paper explores performance-aware schedulability of multicore systems by evaluating the performance when changing scheduling policies (as design parameters). The model-based framework we build enables analyzing the performance of multicore time-critical systems using processor-centric and memory-centric scheduling policies. The system architecture we consider consists of a set of cores with a local cache and sharing the cache level L2 and main memory (DRAM). The metrics we use to compare the performance achieved by different configurations of a system are: 1) utilization of the cores; and 2) the maximum delay per access request to shared cache and DRAM. Our framework, realized using UPPAAL, can be viewed as an engineering tool to be used during design stages to identify the scheduling policies that provide better performance for a given system while maintaining system schedulability. As a proof of concept, we analyze and compare 2 different cases studies.
尽管多核处理器对嵌入式系统很有吸引力,但其潜在的性能提升需要在实时任务调度和内存干扰的背景下进行研究。本文通过评估多核系统在改变调度策略(作为设计参数)时的性能,探讨了性能感知的多核系统可调度性。我们构建的基于模型的框架支持使用以处理器为中心和以内存为中心的调度策略分析多核时间关键型系统的性能。我们考虑的系统架构由一组具有本地缓存并共享缓存级L2和主内存(DRAM)的核心组成。我们用来比较不同系统配置所实现的性能的指标是:1)核心利用率;以及2)对共享缓存和DRAM的每次访问请求的最大延迟。我们的框架是使用UPPAAL实现的,可以看作是在设计阶段使用的工程工具,用于确定为给定系统提供更好性能的调度策略,同时保持系统可调度性。作为概念的证明,我们分析和比较了两个不同的案例研究。
{"title":"Performance-aware scheduling of multicore time-critical systems","authors":"Jalil Boudjadar, J. H. Kim, S. Nadjm-Tehrani","doi":"10.1109/MEMCOD.2016.7797753","DOIUrl":"https://doi.org/10.1109/MEMCOD.2016.7797753","url":null,"abstract":"Despite attractiveness of multicore processors for embedded systems, the potential performance gains need to be studied in the context of real-time task scheduling and memory interference. This paper explores performance-aware schedulability of multicore systems by evaluating the performance when changing scheduling policies (as design parameters). The model-based framework we build enables analyzing the performance of multicore time-critical systems using processor-centric and memory-centric scheduling policies. The system architecture we consider consists of a set of cores with a local cache and sharing the cache level L2 and main memory (DRAM). The metrics we use to compare the performance achieved by different configurations of a system are: 1) utilization of the cores; and 2) the maximum delay per access request to shared cache and DRAM. Our framework, realized using UPPAAL, can be viewed as an engineering tool to be used during design stages to identify the scheduling policies that provide better performance for a given system while maintaining system schedulability. As a proof of concept, we analyze and compare 2 different cases studies.","PeriodicalId":180873,"journal":{"name":"2016 ACM/IEEE International Conference on Formal Methods and Models for System Design (MEMOCODE)","volume":"147 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123489796","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
Specification, verification, and synthesis using extended state machines with callbacks 使用带回调的扩展状态机进行规范、验证和综合
Farhaan Fowze, Tuba Yavuz
In this paper we extend state machine diagrams with a programming concept that is highly utilized in real software: the callback mechanism. A callback is a way to interact with a library and can be instantiated in the form of synchronous or asynchronous mode. Using callbacks speeds up software development at the expense of complicating program comprehension. Introducing the callback concept to a modeling formalism preserves structural similarity between the model and the implementation. This paper presents a formal semantics for this extended formalism to make it amenable to formal verification and concurrency synthesis and to help developers avoid implementation mistakes such as race conditions and deadlocks. We report specification, verification, and synthesis case studies on a device driver.
在本文中,我们用一个在实际软件中高度应用的编程概念:回调机制来扩展状态机图。回调是与库交互的一种方式,可以以同步或异步模式的形式实例化。使用回调以使程序理解复杂化为代价来加速软件开发。将回调概念引入建模形式化可以保持模型和实现之间的结构相似性。本文为这种扩展的形式化提出了一种形式化语义,以使其适合于形式化验证和并发性综合,并帮助开发人员避免实现错误,如竞争条件和死锁。我们报告了设备驱动程序的规范、验证和综合案例研究。
{"title":"Specification, verification, and synthesis using extended state machines with callbacks","authors":"Farhaan Fowze, Tuba Yavuz","doi":"10.1109/MEMCOD.2016.7797752","DOIUrl":"https://doi.org/10.1109/MEMCOD.2016.7797752","url":null,"abstract":"In this paper we extend state machine diagrams with a programming concept that is highly utilized in real software: the callback mechanism. A callback is a way to interact with a library and can be instantiated in the form of synchronous or asynchronous mode. Using callbacks speeds up software development at the expense of complicating program comprehension. Introducing the callback concept to a modeling formalism preserves structural similarity between the model and the implementation. This paper presents a formal semantics for this extended formalism to make it amenable to formal verification and concurrency synthesis and to help developers avoid implementation mistakes such as race conditions and deadlocks. We report specification, verification, and synthesis case studies on a device driver.","PeriodicalId":180873,"journal":{"name":"2016 ACM/IEEE International Conference on Formal Methods and Models for System Design (MEMOCODE)","volume":"64 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124833767","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}
引用次数: 2
Clocks vs. instants relations: Verifying CCSL time constraints in UML/MARTE models 时钟与瞬间关系:在UML/MARTE模型中验证CCSL时间约束
Judith Peters, Nils Przigoda, R. Wille, R. Drechsler
The specification of non-functional requirements, e. g., on timing forms an essential part of modern system design. Modeling languages such as MARTE/CCSL provide dedicated description means enabling engineers to formally define the ticking of the clocks to be implemented in terms of clock constraints and the actually intended timing behavior in terms of instant relations. But thus far, instant relations have only been utilized in order to monitor the correct execution of the clock constraints. In this work, we propose a methodology which, for the first time, verifies clock constraints against the given instant relations. To this end, the timing behavior is represented in terms of an automaton followed by its verification through satisfiability solvers. A case study illustrates the application of the proposed methodology.
对非功能需求的说明,例如对时序的说明,是现代系统设计的重要组成部分。像MARTE/CCSL这样的建模语言提供了专门的描述方法,使工程师能够根据时钟约束和根据即时关系的实际预期定时行为正式定义要实现的时钟的滴答声。但是到目前为止,使用即时关系只是为了监视时钟约束的正确执行。在这项工作中,我们首次提出了一种方法,根据给定的即时关系验证时钟约束。为此,时序行为用一个自动机来表示,然后通过可满足解算器对其进行验证。一个案例研究说明了所提出的方法的应用。
{"title":"Clocks vs. instants relations: Verifying CCSL time constraints in UML/MARTE models","authors":"Judith Peters, Nils Przigoda, R. Wille, R. Drechsler","doi":"10.1109/MEMCOD.2016.7797750","DOIUrl":"https://doi.org/10.1109/MEMCOD.2016.7797750","url":null,"abstract":"The specification of non-functional requirements, e. g., on timing forms an essential part of modern system design. Modeling languages such as MARTE/CCSL provide dedicated description means enabling engineers to formally define the ticking of the clocks to be implemented in terms of clock constraints and the actually intended timing behavior in terms of instant relations. But thus far, instant relations have only been utilized in order to monitor the correct execution of the clock constraints. In this work, we propose a methodology which, for the first time, verifies clock constraints against the given instant relations. To this end, the timing behavior is represented in terms of an automaton followed by its verification through satisfiability solvers. A case study illustrates the application of the proposed methodology.","PeriodicalId":180873,"journal":{"name":"2016 ACM/IEEE International Conference on Formal Methods and Models for System Design (MEMOCODE)","volume":"70 10","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120907575","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}
引用次数: 9
Verification of component architectures using mode-based contracts 使用基于模式的契约验证组件体系结构
Stefan Kugele, Diego Marmsoler, Nuria Mata, K. Werther
We consider the problem of achieving a required level of confidence about safety-critical systems consisting of interacting components. Especially, we address restrictions in traditional A/G reasoning techniques which may cause false positives in contract compatibility analyses. Therefore, we introduce interface assertions, i. e., predicate logical formulae over the components' interfaces. We show how to compute interface assertions for architecture configurations based on the interface assertions of the corresponding components and show soundness and relative completeness of the method. Moreover, we introduce mode-based contracts, which - as a special kind of interface assertions - consist of dedicated assume and guarantee pairs. They provide a methodological guidance for developers and facilitate contract specification in contrast to e. g. traditional A/G reasoning. For this concept, we provide algorithms to check under-specification, over-specification, and the fulfillment of specifications. We also sketch how the checks can be operationalized using SMT solvers. Finally, an example demonstrates the approach.
我们考虑的问题是,如何在由相互作用的组件组成的安全关键系统中达到所需的置信度。特别是,我们解决了传统A/G推理技术中的限制,这些限制可能会导致合约兼容性分析中的误报。因此,我们在组件的接口上引入接口断言,即谓词逻辑公式。我们展示了如何基于相应组件的接口断言计算体系结构配置的接口断言,并展示了该方法的可靠性和相对完整性。此外,我们引入了基于模式的契约,作为一种特殊类型的接口断言,它由专用的假设和保证对组成。与传统的a /G推理相比,它们为开发人员提供了方法论指导,并促进了合同规范。对于这个概念,我们提供了检查规范不足、规范过度和规范实现的算法。我们还概述了如何使用SMT求解器对检查进行操作。最后,一个示例演示了该方法。
{"title":"Verification of component architectures using mode-based contracts","authors":"Stefan Kugele, Diego Marmsoler, Nuria Mata, K. Werther","doi":"10.1109/MEMCOD.2016.7797758","DOIUrl":"https://doi.org/10.1109/MEMCOD.2016.7797758","url":null,"abstract":"We consider the problem of achieving a required level of confidence about safety-critical systems consisting of interacting components. Especially, we address restrictions in traditional A/G reasoning techniques which may cause false positives in contract compatibility analyses. Therefore, we introduce interface assertions, i. e., predicate logical formulae over the components' interfaces. We show how to compute interface assertions for architecture configurations based on the interface assertions of the corresponding components and show soundness and relative completeness of the method. Moreover, we introduce mode-based contracts, which - as a special kind of interface assertions - consist of dedicated assume and guarantee pairs. They provide a methodological guidance for developers and facilitate contract specification in contrast to e. g. traditional A/G reasoning. For this concept, we provide algorithms to check under-specification, over-specification, and the fulfillment of specifications. We also sketch how the checks can be operationalized using SMT solvers. Finally, an example demonstrates the approach.","PeriodicalId":180873,"journal":{"name":"2016 ACM/IEEE International Conference on Formal Methods and Models for System Design (MEMOCODE)","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117169319","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
A computer-algebraic approach to formal verification of data-centric low-level software 以数据为中心的低级软件的形式化验证的计算机代数方法
Oliver Marx, Carlos Villarraga, D. Stoffel, W. Kunz
Methods of Computer Algebra have shown to be useful when formally verifying data-centric hardware designs. This has been demonstrated especially for cases where complex arithmetic computations are tightly coupled with the system's control structures at the bit level. As a consequence of current design trends, however, more and more functionality that was traditionally implemented in hardware is now shifted into the low-level software of the system. Not only control functions but also more and more arithmetic operations and other data-centric functions are involved in this shift. Motivated by this observation, it is the goal of our work to extend the scope of computer-algebraic methods from hardware to low-level software. The paper develops how hardware-dependent software can be modeled algebraically so that efficient proof procedures are possible. Our results show that also in low-level software a computer-algebraic approach can have substantial advantages over state-of-the-art SMT solving.
计算机代数方法在正式验证以数据为中心的硬件设计时非常有用。这已经被证明,特别是在复杂的算术计算与系统的控制结构在位水平紧密耦合的情况下。然而,由于当前的设计趋势,越来越多的传统上在硬件中实现的功能现在转移到系统的底层软件中。这种转变不仅涉及控制函数,还涉及越来越多的算术运算和其他以数据为中心的函数。在这种观察的激励下,我们的工作目标是将计算机代数方法的范围从硬件扩展到底层软件。本文发展了如何对依赖硬件的软件进行代数建模,从而使有效的证明程序成为可能。我们的结果表明,在低级软件中,计算机代数方法可以比最先进的SMT解决具有实质性的优势。
{"title":"A computer-algebraic approach to formal verification of data-centric low-level software","authors":"Oliver Marx, Carlos Villarraga, D. Stoffel, W. Kunz","doi":"10.1109/MEMCOD.2016.7797743","DOIUrl":"https://doi.org/10.1109/MEMCOD.2016.7797743","url":null,"abstract":"Methods of Computer Algebra have shown to be useful when formally verifying data-centric hardware designs. This has been demonstrated especially for cases where complex arithmetic computations are tightly coupled with the system's control structures at the bit level. As a consequence of current design trends, however, more and more functionality that was traditionally implemented in hardware is now shifted into the low-level software of the system. Not only control functions but also more and more arithmetic operations and other data-centric functions are involved in this shift. Motivated by this observation, it is the goal of our work to extend the scope of computer-algebraic methods from hardware to low-level software. The paper develops how hardware-dependent software can be modeled algebraically so that efficient proof procedures are possible. Our results show that also in low-level software a computer-algebraic approach can have substantial advantages over state-of-the-art SMT solving.","PeriodicalId":180873,"journal":{"name":"2016 ACM/IEEE International Conference on Formal Methods and Models for System Design (MEMOCODE)","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132218862","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}
引用次数: 2
MEMOCODE 2016 design contest: K-means clustering MEMOCODE 2016设计竞赛:K-means聚类
Peter Milder
K-means is a clustering algorithm that aims to group data into k similar clusters. The objective of the 2016 MEMOCODE Design Contest is to implement a system to efficiently partition a large set of multidimensional data using k-means. Contestants were given one month to develop a system to perform this operation, aiming to maximize performance or cost-adjusted performance. Teams were encouraged to consider a variety of computational targets including CPUs, FPGAs, and GPGPUs. The winning team, which was invited to contribute a paper describing their techniques, combined careful algorithmic and implementation optimizations using CPUs and GPUs.
k -means是一种聚类算法,旨在将数据分组到k个相似的聚类中。2016 MEMOCODE设计竞赛的目标是实现一个使用k-means对大量多维数据进行有效分区的系统。参赛者有一个月的时间来开发一个系统来执行这项操作,目的是最大化性能或成本调整后的性能。团队被鼓励考虑各种计算目标,包括cpu、fpga和gpgpu。获胜的团队被邀请撰写一篇论文,描述他们的技术,使用cpu和gpu结合了仔细的算法和实现优化。
{"title":"MEMOCODE 2016 design contest: K-means clustering","authors":"Peter Milder","doi":"10.1109/MEMCOD.2016.7797755","DOIUrl":"https://doi.org/10.1109/MEMCOD.2016.7797755","url":null,"abstract":"K-means is a clustering algorithm that aims to group data into k similar clusters. The objective of the 2016 MEMOCODE Design Contest is to implement a system to efficiently partition a large set of multidimensional data using k-means. Contestants were given one month to develop a system to perform this operation, aiming to maximize performance or cost-adjusted performance. Teams were encouraged to consider a variety of computational targets including CPUs, FPGAs, and GPGPUs. The winning team, which was invited to contribute a paper describing their techniques, combined careful algorithmic and implementation optimizations using CPUs and GPUs.","PeriodicalId":180873,"journal":{"name":"2016 ACM/IEEE International Conference on Formal Methods and Models for System Design (MEMOCODE)","volume":"245 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126044799","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}
引用次数: 1
Accelerating schedule space exploration of multi-threaded programs with GPUs 利用gpu加速多线程程序的调度空间探索
P. Banga, Atul Pai, Subhajit Roy, Mainak Chaudhuri
Given an input that can trigger a concurrency bug, only a subset of possible thread schedules satisfying certain constraints can actually cause such a bug to manifest. Recent proposals on controlled randomization of thread schedules with concrete guarantees on bug detection probabilities have opened promising avenues in this direction. However, to boost the bug detection probability, these techniques typically require a significant number of schedules to be explored. As a result, it is, in general, beneficial to accelerate the schedule space exploration of the multi-threaded programs. In this paper, we introduce Simultaneous Interleaving Exploration with Controlled Sequencing (SINECOSEQ), a generic framework that leverages the high-performance graphics processing units (GPUs) to significantly accelerate schedule space navigation of general-purpose multi-threaded programs. The SINE framework accepts POSIX compliant multi-threaded programs, instruments them to intercept all shared memory accesses, and automatically generates CUDA (Compute Unified Device Architecture) compliant code that navigates the schedule space of the input multi-threaded program on an NVIDIA GPU. Each GPU thread typically explores one schedule of the input program. The COSEQ framework decides how the schedule space is navigated by architecting the schedules on the fly. While it is straightforward to construct and navigate a different schedule on each GPU thread, the performance of the resulting technique can be very poor due to disparate pieces of codes executed by each GPU thread leading to full control divergence. In this paper, we demonstrate one application of SINECOSEQ by proposing a new GPU-friendly scheduler for accelerated concurrency testing (ACT), which is inspired by the recently proposed randomized scheduler of probabilistic concurrency testing (PCT). Compared to the state-of-the-art parallel PCT (PPCT) implementation on a twelve-core CPU, our proposal implemented on an NVIDIA Kepler K20c GPU card significantly speeds up schedule space exploration for eight multi-threaded applications and kernels drawn from the Phoenix and the PARSEC suites.
给定一个可以触发并发错误的输入,只有满足某些约束的可能线程调度的子集才会导致这样的错误出现。最近关于线程调度的受控随机化,以及对bug检测概率的具体保证的建议,在这个方向上开辟了有希望的道路。然而,为了提高bug检测的概率,这些技术通常需要探索大量的调度。因此,总体上有利于加快多线程程序的调度空间探索。在本文中,我们介绍了同步交错探索与控制排序(SINECOSEQ),这是一个利用高性能图形处理单元(gpu)显著加速通用多线程程序调度空间导航的通用框架。SINE框架接受POSIX兼容的多线程程序,工具它们拦截所有共享内存访问,并自动生成CUDA(计算统一设备架构)兼容的代码,导航NVIDIA GPU上输入多线程程序的调度空间。每个GPU线程通常探索输入程序的一个调度。COSEQ框架通过动态地构建调度来决定如何导航调度空间。虽然在每个GPU线程上构建和导航不同的调度很简单,但由于每个GPU线程执行的不同代码片段导致完全控制分歧,因此结果技术的性能可能非常差。在本文中,我们通过提出一种新的gpu友好的加速并发测试(ACT)调度器来演示SINECOSEQ的一个应用,该调度器受到最近提出的概率并发测试(PCT)随机调度器的启发。与在12核CPU上实现最先进的并行PCT (PPCT)相比,我们的建议在NVIDIA Kepler K20c GPU卡上实现,显着加快了来自Phoenix和PARSEC套件的八个多线程应用程序和内核的调度空间探索。
{"title":"Accelerating schedule space exploration of multi-threaded programs with GPUs","authors":"P. Banga, Atul Pai, Subhajit Roy, Mainak Chaudhuri","doi":"10.1109/MEMCOD.2016.7797754","DOIUrl":"https://doi.org/10.1109/MEMCOD.2016.7797754","url":null,"abstract":"Given an input that can trigger a concurrency bug, only a subset of possible thread schedules satisfying certain constraints can actually cause such a bug to manifest. Recent proposals on controlled randomization of thread schedules with concrete guarantees on bug detection probabilities have opened promising avenues in this direction. However, to boost the bug detection probability, these techniques typically require a significant number of schedules to be explored. As a result, it is, in general, beneficial to accelerate the schedule space exploration of the multi-threaded programs. In this paper, we introduce Simultaneous Interleaving Exploration with Controlled Sequencing (SINECOSEQ), a generic framework that leverages the high-performance graphics processing units (GPUs) to significantly accelerate schedule space navigation of general-purpose multi-threaded programs. The SINE framework accepts POSIX compliant multi-threaded programs, instruments them to intercept all shared memory accesses, and automatically generates CUDA (Compute Unified Device Architecture) compliant code that navigates the schedule space of the input multi-threaded program on an NVIDIA GPU. Each GPU thread typically explores one schedule of the input program. The COSEQ framework decides how the schedule space is navigated by architecting the schedules on the fly. While it is straightforward to construct and navigate a different schedule on each GPU thread, the performance of the resulting technique can be very poor due to disparate pieces of codes executed by each GPU thread leading to full control divergence. In this paper, we demonstrate one application of SINECOSEQ by proposing a new GPU-friendly scheduler for accelerated concurrency testing (ACT), which is inspired by the recently proposed randomized scheduler of probabilistic concurrency testing (PCT). Compared to the state-of-the-art parallel PCT (PPCT) implementation on a twelve-core CPU, our proposal implemented on an NVIDIA Kepler K20c GPU card significantly speeds up schedule space exploration for eight multi-threaded applications and kernels drawn from the Phoenix and the PARSEC suites.","PeriodicalId":180873,"journal":{"name":"2016 ACM/IEEE International Conference on Formal Methods and Models for System Design (MEMOCODE)","volume":"44 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127440320","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}
引用次数: 1
An efficient algorithm for monitoring practical TPTL specifications 一种监测实际TPTL规格的有效算法
Adel Dokhanchi, Bardh Hoxha, Cumhur Erkan Tuncali, Georgios Fainekos
We provide a dynamic programming algorithm for the monitoring of a fragment of Timed Propositional Temporal Logic (TPTL) specifications. This fragment of TPTL, which is more expressive than Metric Temporal Logic, is characterized by independent time variables which enable the elicitation of complex real-time requirements. For this fragment, we provide an efficient polynomial time algorithm for off-line monitoring of finite traces. Finally, we provide experimental results on a prototype implementation of our tool in order to demonstrate the feasibility of using our tool in practical applications.
我们提供了一个动态规划算法来监控时间命题时间逻辑(TPTL)规范的片段。这种TPTL片段比度量时态逻辑更具表现力,其特点是具有独立的时间变量,从而能够引出复杂的实时需求。对于这个片段,我们提供了一个有效的多项式时间算法来离线监测有限的轨迹。最后,我们提供了我们的工具的原型实现的实验结果,以证明我们的工具在实际应用中使用的可行性。
{"title":"An efficient algorithm for monitoring practical TPTL specifications","authors":"Adel Dokhanchi, Bardh Hoxha, Cumhur Erkan Tuncali, Georgios Fainekos","doi":"10.1109/MEMCOD.2016.7797763","DOIUrl":"https://doi.org/10.1109/MEMCOD.2016.7797763","url":null,"abstract":"We provide a dynamic programming algorithm for the monitoring of a fragment of Timed Propositional Temporal Logic (TPTL) specifications. This fragment of TPTL, which is more expressive than Metric Temporal Logic, is characterized by independent time variables which enable the elicitation of complex real-time requirements. For this fragment, we provide an efficient polynomial time algorithm for off-line monitoring of finite traces. Finally, we provide experimental results on a prototype implementation of our tool in order to demonstrate the feasibility of using our tool in practical applications.","PeriodicalId":180873,"journal":{"name":"2016 ACM/IEEE International Conference on Formal Methods and Models for System Design (MEMOCODE)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129146775","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}
引用次数: 9
Verifying the concentration property of permutation networks by BDDs 用bdd验证置换网络的集中性
Tripti Jain, K. Schneider
A concentrator is a circuit with n inputs and m ≤ n outputs that can route any given subset of k ≤ m valid inputs to k of its m outputs. Concentrator circuits are important for many applications, in particular, for the design of interconnection networks. The design of concentrator circuits is however a challenging task that has already been considered in many research papers. All practical implementations aim at configuring the switches of a permutation network so that it behaves as a concentrator. In this paper, we present methods to analyze various properties of permutation networks by means of binary decision diagrams (BDDs). In particular, we can check whether it is possible to use a considered permutation network as a concentrator or even as a binary sorter. While our method can be applied to all permutation networks, we consider some particular permutation networks and verify that some of them can be used as concentrators and even as binary sorters provided that a specific permutation of the outputs is added.
集中器是具有n个输入和m≤n个输出的电路,它可以将k≤m个有效输入的任意给定子集路由到其m个输出中的k个。集中电路对许多应用都很重要,特别是对互连网络的设计。然而,集中电路的设计是一项具有挑战性的任务,已经在许多研究论文中得到了考虑。所有实际实现的目标都是配置置换网络的交换机,使其充当集中器。本文提出了利用二元决策图(bdd)来分析置换网络的各种性质的方法。特别是,我们可以检查是否有可能将考虑的排列网络用作集中器甚至二进制排序器。虽然我们的方法可以应用于所有排列网络,但我们考虑了一些特定的排列网络,并验证了其中一些可以用作集中器,甚至可以用作二进制排序器,前提是添加了输出的特定排列。
{"title":"Verifying the concentration property of permutation networks by BDDs","authors":"Tripti Jain, K. Schneider","doi":"10.1109/MEMCOD.2016.7797744","DOIUrl":"https://doi.org/10.1109/MEMCOD.2016.7797744","url":null,"abstract":"A concentrator is a circuit with n inputs and m ≤ n outputs that can route any given subset of k ≤ m valid inputs to k of its m outputs. Concentrator circuits are important for many applications, in particular, for the design of interconnection networks. The design of concentrator circuits is however a challenging task that has already been considered in many research papers. All practical implementations aim at configuring the switches of a permutation network so that it behaves as a concentrator. In this paper, we present methods to analyze various properties of permutation networks by means of binary decision diagrams (BDDs). In particular, we can check whether it is possible to use a considered permutation network as a concentrator or even as a binary sorter. While our method can be applied to all permutation networks, we consider some particular permutation networks and verify that some of them can be used as concentrators and even as binary sorters provided that a specific permutation of the outputs is added.","PeriodicalId":180873,"journal":{"name":"2016 ACM/IEEE International Conference on Formal Methods and Models for System Design (MEMOCODE)","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-11-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126455529","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}
引用次数: 8
期刊
2016 ACM/IEEE International Conference on Formal Methods and Models for System Design (MEMOCODE)
全部 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