Fault Models and Injection Strategies in SystemC Specifications ANTONIO MIELE Dipartimento di Elettronica e Informazione

Slides:



Advertisements
Similar presentations
A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Advertisements

Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
Fault Detection in a HW/SW CoDesign Environment Prepared by A. Gaye Soykök.
1 Design For Debug Using DAFCA system Gadi Glikberg 15/6/06.
©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction Purpose of Database Systems View of Data Data Models Data Definition.
Course Instructor: Aisha Azeem
(1) Introduction © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
1 Fault Tolerance in the Nonstop Cyclone System By Scott Chan Robert Jardine Presented by Phuc Nguyen.
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
Chapter 1. Introduction What is an Operating System? Mainframe Systems
ITEC224 Database Programming
50mm Telescope ACS Course Garching, 15 th to 19 th January 2007 January 2007Garching.
Active Monitoring in GRID environments using Mobile Agent technology Orazio Tomarchio Andrea Calvagna Dipartimento di Ingegneria Informatica e delle Telecomunicazioni.
SOFTWARE DESIGN.
1 H ardware D escription L anguages Modeling Digital Systems.
Chapter 1 : Introduction §Purpose of Database Systems §View of Data §Data Models §Data Definition Language §Data Manipulation Language §Transaction Management.
Processes and Threads Processes have two characteristics: – Resource ownership - process includes a virtual address space to hold the process image – Scheduling/execution.
IEEE ICECS 2010 SysPy: Using Python for processor-centric SoC design Evangelos Logaras Elias S. Manolakos {evlog, Department of Informatics.
VHDL IE- CSE. What do you understand by VHDL??  VHDL stands for VHSIC (Very High Speed Integrated Circuits) Hardware Description Language.
©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction Purpose of Database Systems View of Data Data Models Data Definition.
Jon Perez, Mikel Azkarate-askasua, Antonio Perez
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
Chapter 8 Object Design Reuse and Patterns. Object Design Object design is the process of adding details to the requirements analysis and making implementation.
GreenBus Extensions for System-On-Chip Exploration.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Database Environment Chapter 2. Data Independence Sometimes the way data are physically organized depends on the requirements of the application. Result:
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
UML MARTE Time Model for Spirit IP-XACT Aoste Project INRIA Sophia-Antipolis.
Chapter 3 System Performance and Models Introduction A system is the part of the real world under study. Composed of a set of entities interacting.
Toulouse, September 2003 Page 1 JOURNEE ALTARICA Airbus ESACS  ISAAC.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Teaching The Principles Of System Design, Platform Development and Hardware Acceleration Tim Kranich
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
Structured Component Composition Frameworks for Embedded System Design Sandeep Shukla, Virginia Tech. Frederic Doucet, Rajesh Gupta University of California,
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 1.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
POLITECNICO DI MILANO A SystemC-based methodology for the simulation of dynamically reconfigurable embedded systems Dynamic Reconfigurability in Embedded.
April 15, 2013 Atul Kwatra Principal Engineer Intel Corporation Hardware/Software Co-design using SystemC/TLM – Challenges & Opportunities ISCUG ’13.
Introduction to DBMS Purpose of Database Systems View of Data
System-on-Chip Design
Operating Systems : Overview
Self Healing and Dynamic Construction Framework:
Java Beans Sagun Dhakhwa.
APPLICATION OF DESIGN PATTERNS FOR HARDWARE DESIGN
Operating Systems : Overview
Chapter 2: The Linux System Part 1
Operating Systems : Overview
Chapter 5 Architectural Design.
Database Systems Instructor Name: Lecture-3.
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Introduction to DBMS Purpose of Database Systems View of Data
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Presentation transcript:

Fault Models and Injection Strategies in SystemC Specifications ANTONIO MIELE Dipartimento di Elettronica e Informazione

Agenda Introduction Related work The considered simulator: ReSP Injection strategies Fault modeling Case studies Conclusions and future work 2

Introduction SystemC and TLM are the de-facto standard in HW/SW system specifications. Goals:  Simplify the design flow  Increase simulation speed  Allow an early evaluation of the system Even if there is an extensive literature for different aspects of the design and analysis of TLM specifications, little work has been done for reliability assessment  Need for new fault injection strategies to be integrated in the novel design frameworks  Need for suitable fault models for high level specifications 3

Goal Propose a fault injection and analysis tool as an extension of ReSP, a simulation platform for SystemC models targeted for multiprocessors systems design and analysis  Development of the necessary support within ReSP to ease the injection and the analysis  Definition of a fault modeling methodology for high level descriptions specified with SystemC and TLM 4

Related Work Many fault injection tools and strategies have been defined for VHDL descriptions Classical injection strategies:  Mutants – the nominal component is replaced with an instrumented one able to simulate the nominal and faulty behaviors  Saboteurs – a fault injection module is inserted on the line to be corrupted  Simulation commands – the simulation console provides features for modifying the value of the signals 5

Related Work (2) Few approaches for SystemC descriptions:  [Fin et al. 2001] adopts the mutant approach for injecting faults in descriptions at different levels of abstraction considering only the stuck-at fault for testing purposes  [Misera et al. 2006] proposes a multi-language framework exploiting saboteurs  [Chang et al. 2007] explores through some examples the injection at different levels of abstraction using saboteurs and analyzing controllability and observability  [Misera et al. 2007] investigates the three approaches in SystemC descriptions and, in particular, simulation commands proposing a patching of the SystemC kernel 6

Related Work (3) [Moraes et al. 2003] and [Martins et al. 2000] propose two frameworks for fault injection in Java and C++ models using simulation commands implemented by means of reflection features Background:  Reflection (or introspection) is a feature offered by modern programming languages such as Java or Python to discover, access and modify the structure of a program at runtime  E.g.: >>> dir(MyComponent) ['port1', 'port2', 'register',... ] >>> getattr(MyComponent, 'register') 3 7

ReSP Simulation Platform ReSP [Beltrame et al. 2008] is a simulator for hardware/software system specifications  Particularly targeted for transaction-level multiprocessor systems Built in SystemC and Python  SystemC is the standard in hardware/software system specification C++ extended with hardware modeling concepts C++ execution speed  Python offers introspection and scripting capabilities Offers a non-intrusive visibility on all the platform elements Run-time composition and dynamic management of the specification Provides an enhanced simulation control (asynchronous pause/resume commands) 8

ReSP Simulation Platform (2) Integration-oriented top-down design approach with a systematic reuse of IP cores  An IP repository is provided for building the system  The designer can build the system by instantiating and connecting components at runtime 9 Advantages:  Easy integration of new IPs  Fine grain control of system-level simulation  Effortless development of tools for system analysis and design space exploration

The proposed extension to the platform ReSP simulator has been adopted and extended for implementing a fault injection environment  Definition of fault models and injection strategies 10 Required qualities:  Transparency No instrumentation of the components’ descriptions  Dynamism Definition and planning of the fault injections at run-time  Independence from the system description In particular from the abstraction level of the descriptions

Injection strategies Simulation commands  The simulation platform has been extended for providing injection commands based on Python reflection and scripting Saboteurs  Saboteur models have been included in the IP repository  They can be instantiated and connected to the components of the considered system Mutant approach is supported even if not considered due to its intrusiveness  However, mutants can be included in the IP repository 11

Injection strategies (2) In SystemC, components are C++ objects  Component internal state (registers, memories,...) is modeled with object attributes (variables) Transient faults can be modeled as a value change in an object variable Simulation commands are implemented for transient faults by using Python reflection  Component methods and attributes can be retrieved with introspection  Object state modification is performed dynamically thanks to introspection and scripting 12

Injection strategies (3) E.g.: Saboteurs are used for injecting faults on interconnections 13 procmem 45 sab

Injection strategies (4) Permanent faults require a register or an interconnection to be blocked to a specified value Permanent fault strategy implementation as simulation commands are based on the event watching mechanism  Every time the faulty location is changed, it is updated with the faulty value Saboteurs are used for injecting permanent faults on interconnections 14

Analysis and Execution Strategies Interactive simulation mode:  The user controls the simulation through the console enhanced with asynchronous execution pause and resume Batch simulation mode:  Fault injection campaigns can be performed Provided facilities:  Automatic instantiation of saboteurs  Automatic instantiation of golden models  Generation and execution of fault campaigns  Collection and analysis of results 15

Analysis and Execution Strategies (2) System execution monitoring:  Step by step execution Execute for a while and analyze system status  Probes on interconnections Monitor events on interconnections  Event watching mechanism Monitor events inside the components 16

Case Study: simulation of fault tolerant architectures Four different fault tolerant versions of the same architecture have been considered for fault injection experiments 17 Loosely synchronized dual processor Lock-step dual processor TMR processor Processor running hardened SW Demo after the presentation…

Fault modeling Which corruptions of internal state and interconnections represent real physical misbehaviors? Definition of a methodology for modeling faults in IP descriptions modeled at the different levels of abstractions supported by SystemC IPs description can be provided as:  TLM description It can be used “as is”  RTL description It has to be abstracted to a TLM model This analysis focuses on SEU 18

SystemC and TLM Abstraction Levels 19 SystemC and TLM abstraction levels can be described in terms of computation and communication aspects

Mutation Models A mutation model identifies all the elements of the specification that can be manipulated to model the effects of a physical fault Mutation models have to be defined for each abstraction level The mutation model is the basis for the definition of a fault model 20

Mutation Models (2) RTL  Every register of the circuit is represented in terms of object attribute and all I/O are specified  All actual fault locations can be accessed and corrupted BCA  Core functionality is expressed algorithmically  Mutation models are: Corruption of attributes that represent the internal state of the component between different elaborations Corruption of all I/O 21

Mutation Models (3) AT and LT  Core functionality is expressed algorithmically  Communication is expressed with blocking/non-blocking function calls and standard data structures  Mutation models are: Corruption of attributes representing the internal state of the component Interface function misbehavior: 22

Fault modeling The idea is to list the misbehaviors affecting the considered IP and represent them in terms of mutation models  Generation of a fault dictionary for each IP Fault modeling specifies how to use available mutation models  Fault modeling gives a semantic meaning to the mutation models Two different approaches:  IPs without RTL implementation Make assumptions during analysis due to the lack of implementation details  IPs with RTL implementation Define and abstract all physical misbehaviors 23

Fault modeling without RTL implementation The fault modeling strategy relies on assumptions on the possible misbehaviors Misbehaviors are derived from the analysis of the LT (or AT) specification Three main aspects have to be considered:  Component attributes Can be corrupted according to their actual domain  Interface functions Can be mutated as previously described  Functional algorithmic description Each basic task composing the algorithmic description is mutated as: –The task is not erroneously executed –The task is executed when not requested –The task is not executed The obtained fault models can be refined with the available information on the implementation or on the synthesis process 24

Fault modeling with RTL implementation A complete taxonomy of physical misbehaviors can be defined for the RTL model and abstracted to LT (or AT) level During component abstraction, we keep track of how fault locations (i.e., storage elements) change between abstraction levels Computation abstraction:  Registers used for storing data among different elaborations are mapped on component attributes  Registers used for storing data in the same multi-cycle elaboration are removed since elaboration is performed atomically Communication abstraction:  Registers used for multi-cycle communication protocols are removed since transactions are executed atomically 25

Fault modeling with RTL implementation (2) Fault modeling:  Registers used for storing data among different elaborations are mapped on component attributes Corruption of attributes  Registers used for storing data in the same multi-cycle elaboration are removed since elaboration is performed atomically The effects of the faulty functionality on the component internal state and output represented with the available mutation models 26

Fault modeling with RTL implementation (3) Fault modeling:  Registers used for multi-cycle communication protocols are removed since transactions are executed atomically The effects of the faulty communication in terms of mutation models 27

Case study: the NoC switch An LT model of a NoC switch has been considered  5 I/O directions  Alternating Bit Protocol used for flow control  Data transmitted in units called flits (header, body and tail) Fault modeling on the LT description:  Attributes can be corrupted according to their domains std::queue buffers[5] int reservation[5] int next  The control flow RTL implementation is analyzed and faults abstracted Only phantom and fake calls corresponds to physical failures  Two functions representing receiving and transmission can be behaviorally corrupted An RTL model has been implemented and categorized in terms of faults 28

Case study: the NoC switch (2)  Two functions representing reception and transmission can be behaviorally mutated 29

Case study: the NoC switch (3) An RTL description of the circuit has been implemented: Results:  RTL contains 1798 fault locations:  the corruption of only 30 are not represented by fault models  23 fault models have been defined for LT model:  14 are effective, 7 redundant and only 2 do not correspond to any physical misbehaviors 30

Conclusions and Future Work A fault injection environment has been implemented as extension of ReSP simulation platform for SystemC/TLM specifications A fault modeling methodology has been proposed for SystemC/TLM specifications Future work: Adoption of the fault injection environment and the fault modeling methodology for the definition of a methodology for reliability assessment of SystemC/TLM specifications 31