26 research outputs found
Tools and Algorithms for the Construction and Analysis of Systems
This open access two-volume set constitutes the proceedings of the 27th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2021, which was held during March 27 – April 1, 2021, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2021. The conference was planned to take place in Luxembourg and changed to an online format due to the COVID-19 pandemic. The total of 41 full papers presented in the proceedings was carefully reviewed and selected from 141 submissions. The volume also contains 7 tool papers; 6 Tool Demo papers, 9 SV-Comp Competition Papers. The papers are organized in topical sections as follows: Part I: Game Theory; SMT Verification; Probabilities; Timed Systems; Neural Networks; Analysis of Network Communication. Part II: Verification Techniques (not SMT); Case Studies; Proof Generation/Validation; Tool Papers; Tool Demo Papers; SV-Comp Tool Competition Papers
Hardware-software codesign in a high-level synthesis environment
Interfacing hardware-oriented high-level synthesis to software development is a computationally hard problem for which no general solution exists. Under special conditions, the hardware-software codesign (system-level synthesis) problem may be analyzed with traditional tools and efficient heuristics. This dissertation introduces a new alternative to the currently used heuristic methods. The new approach combines the results of top-down hardware development with existing basic hardware units (bottom-up libraries) and compiler generation tools. The optimization goal is to maximize operating frequency or minimize cost with reasonable tradeoffs in other properties.
The dissertation research provides a unified approach to hardware-software codesign. The improvements over previously existing design methodologies are presented in the frame-work of an academic CAD environment (PIPE). This CAD environment implements a sufficient subset of functions of commercial microelectronics CAD packages. The results may be generalized for other general-purpose algorithms or environments.
Reference benchmarks are used to validate the new approach. Most of the well-known benchmarks are based on discrete-time numerical simulations, digital filtering applications, and cryptography (an emerging field in benchmarking). As there is a need for high-performance applications, an additional requirement for this dissertation is to investigate pipelined hardware-software systems\u27 performance and design methods. The results demonstrate that the quality of existing heuristics does not change in the enhanced, hardware-software environment
Recommended from our members
Logical partitioning of parallel system simulations
Simulation has been a fundamental tool to prototype, hypothesize, and evaluate
new ideas to continue improving system performance. However, increasing levels
of processor parallelism and heterogeneity have introduced additional
constraints when evaluating new designs. The work embodied in this dissertation
explores how to leverage novel ideas in simulator partitioning to improve
simulator speed and flexibility for simulating these new types of systems.
The contribution of this work includes the introduction of optimistic
partitioned simulation to improve parallelization, and the introduction of
warped partitioned simulation for improved flexibility. These ideas are refined
and demonstrated through the use of prototypes to demonstrate their benefits
compared to state-of-the-art approaches. By leveraging partitioning in a
structured manner, it is possible to design simulators that better address the
open challenges of parallel and heterogeneous systems design.Electrical and Computer Engineerin
From experiment to design – fault characterization and detection in parallel computer systems using computational accelerators
This dissertation summarizes experimental validation and co-design studies conducted to optimize the fault detection capabilities and overheads in hybrid computer systems (e.g., using CPUs and Graphics Processing Units, or GPUs), and consequently to improve the scalability of parallel computer systems using computational accelerators. The experimental validation studies were conducted to help us understand the failure characteristics of CPU-GPU hybrid computer systems under various types of hardware faults. The main characterization targets were faults that are difficult to detect and/or recover from, e.g., faults that cause long latency failures (Ch. 3), faults in dynamically allocated resources (Ch. 4), faults in GPUs (Ch. 5), faults in MPI programs (Ch. 6), and microarchitecture-level faults with specific timing features (Ch. 7).
The co-design studies were based on the characterization results. One of the co-designed systems has a set of source-to-source translators that customize and strategically place error detectors in the source code of target GPU programs (Ch. 5). Another co-designed system uses an extension card to learn the normal behavioral and semantic execution patterns of message-passing processes executing on CPUs, and to detect abnormal behaviors of those parallel processes (Ch. 6). The third co-designed system is a co-processor that has a set of new instructions in order to support software-implemented fault detection techniques (Ch. 7).
The work described in this dissertation gains more importance because heterogeneous processors have become an essential component of state-of-the-art supercomputers. GPUs were used in three of the five fastest supercomputers that were operating in 2011. Our work included comprehensive fault characterization studies in CPU-GPU hybrid computers. In CPUs, we monitored the target systems for a long period of time after injecting faults (a temporally comprehensive experiment), and injected faults into various types of program states that included dynamically allocated memory (to be spatially comprehensive). In GPUs, we used fault injection studies to demonstrate the importance of detecting silent data corruption (SDC) errors that are mainly due to the lack of fine-grained protections and the massive use of fault-insensitive data. This dissertation also presents transparent fault tolerance frameworks and techniques that are directly applicable to hybrid computers built using only commercial off-the-shelf hardware components.
This dissertation shows that by developing understanding of the failure characteristics and error propagation paths of target programs, we were able to create fault tolerance frameworks and techniques that can quickly detect and recover from hardware faults with low performance and hardware overheads
Context-driven methodologies for context-aware and adaptive systems
Applications which are both context-aware and adapting, enhance users’ experience by anticipating their
need in relation with their environment and adapt their behavior according to environmental changes.
Being by definition both context-aware and adaptive these applications suffer both from faults related to
their context-awareness and to their adaptive nature plus from a novel variety of faults originated by the
combination of the two. This research work analyzes, classifies, detects, and reports faults belonging
to this novel class aiming to improve the robustness of these Context-Aware Adaptive Applications
(CAAAs).
To better understand the peculiar dynamics driving the CAAAs adaptation mechanism a general
high-level architectural model has been designed. This architectural model clearly depicts the stream of
information coming from sensors and being computed all the way to the adaptation mechanism. The
model identifies a stack of common components representing increasing abstractions of the context and
their general interconnections. Known faults involving context data can be re-examined according to this
architecture and can be classified in terms of the component in which they are happening and in terms
of their abstraction from the environment. Resulting from this classification is a CAAA-oriented fault
taxonomy.
Our architectural model also underlines that there is a common evolutionary path for CAAAs and
shows the importance of the adaptation logic. Indeed most of the adaptation failures are caused by
invalid interpretations of the context by the adaptation logic. To prevent such faults we defined a model,
the Adaptation Finite-State Machine (A-FSM), describing how the application adapts in response to
changes in the context. The A-FSM model is a powerful instrument which allows developers to focus in
those context-aware and adaptive aspects in which faults reside.
In this model we have identified a set of patterns of faults representing the most common faults in
this application domain. Such faults are represented as violation of given properties in the A-FSM. We
have created four techniques to detect such faults. Our proposed algorithms are based on three different
technologies: enumerative, symbolic and goal planning. Such techniques compensate each other. We
have evaluated them by comparing them to each other using both crafted models and models extracted
from existing commercial and free applications. In the evaluation we observe the validity, the readability
of the reported faults, the scalability and their behavior in limited memory environments. We conclude
this Thesis by suggesting possible extensions
The hArtes Tool Chain
This chapter describes the different design steps needed to go from legacy code to a transformed application that can be efficiently mapped on the hArtes platform
Flexible scheduling of turbo decoding on a multiprocessor platform
Basic concepts and literature review -- Universal mobile telecommunication system (UMTS) -- The vocallo architecture -- Performance modeling -- Mapping the system level models into MPSoC platforms -- Multiprocessor scheduling and synchronization -- Worst case execution time (WCET) based design -- Scheduling flexible applications -- Mapping and scheduling of turbo decoding in MPSoC platforms -- Performance modeling -- Steps to create a performance model -- Detailed description of the performance model -- One performance model example -- Scheduling of turbo decoding -- Mapping the uplink WCDMA processing on an MPSoC platform -- Processing variability of the studied turbo decoder -- BER performance of the studied turbo decoder -- Proposed methods for scheduling the turbo decoding -- Simulation results -- Validating investigation -- Elapsed simulation time