Lab-STICC : Dominique BLOUIN Skander Turki Eric SENN Saâdia Dhouib 11/06/2009

Similar documents
SoftExplorer: estimation of the power and energy consumption for DSP applications

UNIT I [INTRODUCTION TO EMBEDDED COMPUTING AND ARM PROCESSORS] PART A

Power Consumption Estimation of a C Program for Data-Intensive Applications

Platform-based Design

Embedded Systems: Hardware Components (part I) Todor Stefanov

HIERARCHICAL DESIGN. RTL Hardware Design by P. Chu. Chapter 13 1

Outline HIERARCHICAL DESIGN. 1. Introduction. Benefits of hierarchical design

Embedded Systems. 7. System Components

An Ultra High Performance Scalable DSP Family for Multimedia. Hot Chips 17 August 2005 Stanford, CA Erik Machnicki

Embedded Systems. 8. Hardware Components. Lothar Thiele. Computer Engineering and Networks Laboratory

Choosing a Micro for an Embedded System Application

FPGAs: : Quality through Model Based Design and Implementation

Presentation of the AADL: Architecture Analysis and Design Language

Short Term Courses (Including Project Work)

The Nios II Family of Configurable Soft-core Processors

Hardware-Software Codesign. 1. Introduction

REAL TIME OPERATING SYSTEM PROGRAMMING-I: VxWorks

Introduction to Embedded System Processor Architectures

Workshop 1: Specification for SystemC-AADL interoperability

An introduction to DSP s. Examples of DSP applications Why a DSP? Characteristics of a DSP Architectures

Presentation of the AADL: Architecture Analysis and Design Language

ECE 111 ECE 111. Advanced Digital Design. Advanced Digital Design Winter, Sujit Dey. Sujit Dey. ECE Department UC San Diego

Hardware Design. MicroBlaze 7.1. This material exempt per Department of Commerce license exception TSU Xilinx, Inc. All Rights Reserved

COPROCESSOR APPROACH TO ACCELERATING MULTIMEDIA APPLICATION [CLAUDIO BRUNELLI, JARI NURMI ] Processor Design

OXFORD ENGINEERING COLLEGE (NAAC ACCREDITED WITH B GRADE) DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING LIST OF QUESTIONS

FPGAs: High Assurance through Model Based Design

Evolution of Computers & Microprocessors. Dr. Cahit Karakuş

Hardware-Software Codesign. 1. Introduction

Investigation of System Timing Concerns in Embedded Systems: Tool-based Analysis of AADL Models

AADS+: AADL Simulation including the Behavioral Annex

MODELING OF MULTIPROCESSOR HARDWARE PLATFORMS FOR SCHEDULING ANALYSIS

Computer Architecture. Introduction. Lynn Choi Korea University

Lecture 5: Computing Platforms. Asbjørn Djupdal ARM Norway, IDI NTNU 2013 TDT

Computers as Components Principles of Embedded Computing System Design

Rapidly Developing Embedded Systems Using Configurable Processors

ECE 1160/2160 Embedded Systems Design. Midterm Review. Wei Gao. ECE 1160/2160 Embedded Systems Design

Query Language for AADLv2, Jérôme Hugues, ISAE Serban Gheorghe, Edgewater

Hardware Design. University of Pannonia Dept. Of Electrical Engineering and Information Systems. MicroBlaze v.8.10 / v.8.20

Topic & Scope. Content: The course gives

08 - Address Generator Unit (AGU)

MPSoC Design Space Exploration Framework

AADL : about code generation

Universität Dortmund. ARM Architecture

VLSI Design Automation

NISC Application and Advantages

AADL Simulation and Performance Analysis in SystemC

SIDDHARTH GROUP OF INSTITUTIONS :: PUTTUR Siddharth Nagar, Narayanavanam Road QUESTION BANK (DESCRIPTIVE) UNIT-I

EEL 5722C Field-Programmable Gate Array Design

Hardware Design with VHDL PLDs IV ECE 443

CEC 450 Real-Time Systems

Digital Systems Design. System on a Programmable Chip

Computer Architecture Dr. Charles Kim Howard University

VLSI Design Automation. Calcolatori Elettronici Ing. Informatica

Honorary Professor Supercomputer Education and Research Centre Indian Institute of Science, Bangalore

Basic FPGA Architectures. Actel FPGAs. PLD Technologies: Antifuse. 3 Digital Systems Implementation Programmable Logic Devices

MLR INSTITUTE OF TECHNOLOGY DUNDIGAL , HYDERABAD QUESTION BANK

What is Computer Architecture?

Embedded Operating Systems. Unit I and Unit II

ENHANCED TOOLS FOR RISC-V PROCESSOR DEVELOPMENT

Hardware/Software Co-design

LEON4: Fourth Generation of the LEON Processor

Integrated Circuit ORB (ICO) White Paper V1.1

Modeling and Simulation of System-on. Platorms. Politecnico di Milano. Donatella Sciuto. Piazza Leonardo da Vinci 32, 20131, Milano

Introduction to Embedded Systems

Agenda. Introduction FPGA DSP platforms Design challenges New programming models for FPGAs

VLSI Design Automation. Maurizio Palesi

Tomasz Włostowski Beams Department Controls Group Hardware and Timing Section. Developing hard real-time systems using FPGAs and soft CPU cores

INTEL Architectures GOPALAKRISHNAN IYER FALL 2009 ELEC : Computer Architecture and Design

A 50Mvertices/s Graphics Processor with Fixed-Point Programmable Vertex Shader for Mobile Applications

Overview of SOC Architecture design

GRE Architecture Session

In-order vs. Out-of-order Execution. In-order vs. Out-of-order Execution

PS2 VGA Peripheral Based Arithmetic Application Using Micro Blaze Processor

Developing and Integrating FPGA Co-processors with the Tic6x Family of DSP Processors

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institution of Technology, Delhi

Revisiting the Past 25 Years: Lessons for the Future. Guri Sohi University of Wisconsin-Madison

Embedded System Design and Modeling EE382V, Fall 2008

Design of Transport Triggered Architecture Processor for Discrete Cosine Transform

Languages for Embedded Systems and Their Applications

RISC-V CUSTOMIZATION WITH STUDIO 8

AADL committee, Valencia October 2 nd, Pierre Dissaux (Ellidiss) Maxime Perrotin (ESA)

When Girls Design CPUs!

CanSCA4.1ReplaceSTRSinSpace Applications?

Decoupling Dynamic Information Flow Tracking with a Dedicated Coprocessor

Parallelism. Execution Cycle. Dual Bus Simple CPU. Pipelining COMP375 1

Multithreading: Exploiting Thread-Level Parallelism within a Processor

In this tutorial, we will discuss the architecture, pin diagram and other key concepts of microprocessors.

Software Defined Modem A commercial platform for wireless handsets

SYSTEMS ON CHIP (SOC) FOR EMBEDDED APPLICATIONS

DIGITAL VS. ANALOG SIGNAL PROCESSING Digital signal processing (DSP) characterized by: OUTLINE APPLICATIONS OF DIGITAL SIGNAL PROCESSING

Predictable Interrupt Management and Scheduling in the Composite Component-based System

Distributed Operation Layer Integrated SW Design Flow for Mapping Streaming Applications to MPSoC

Computer Systems. Binary Representation. Binary Representation. Logical Computation: Boolean Algebra

Master Program (Laurea Magistrale) in Computer Science and Networking. High Performance Computing Systems and Enabling Platforms.

System Architecture Directions for Networked Sensors[1]

JNTUWORLD. 1. Discuss in detail inter processor arbitration logics and procedures with necessary diagrams? [15]

Basic Computer Architecture

systems such as Linux (real time application interface Linux included). The unified 32-

IBM's POWER5 Micro Processor Design and Methodology

Computer Architecture

Transcription:

Lab-STICC : Power Consumption Modelling with AADL Dominique BLOUIN Skander Turki Eric SENN Saâdia Dhouib 11/06/2009

Outline Context Review of power estimation methodologies and tools Functional Level Power Analysis (FLPA) Power consumption AADL modeling approaches Common property sets for power consumption analysis Modeling examples Threads and Processors IPC (sockets and Ethernet devices) ASIC buses Consumption Analysis Toolbox (CAT) demo Interoperability with CAT (MARTE to AADL model transformation)

Context Power Estimation Methodologies and Tools System level power estimation Algorithmic level power estimation Micro-Architectural level power estimation Circuit level power estimation Unknownµ architecture details Multi-Level Power Analysis Functional Level Power Analysis Instruction level Cycle level Gate level Transistor level Known µ architecture details ILPA: I(prog) = Σ I(instr) + Σ I FLPA: parameterized activity Parameterized Models Tools /Methodologies CAT / FLPA SoftExplorer / FLPA Jouletrack / ILPA PowerTimer Wattch SimplePower QuickPower SPICE Inputs AADL Model Fast but coarse grained C code ASM ASM Binary Simulation and modeling times Details Accuracy COMPROMISE Slow but accurate

Context Functional Level Power Analysis FLPA 3 steps Complex architectures Simples models Precise estimations Processors Models DSP & GPP SoftExplorer Tool FPGA Models Flash Memory Models System... 1. Functional Analysis Algorithmic parameters Architectural parameters 2. Characterization Scenario: α = 0 1 Architecture: F = 20 200 MHz 3. Model determination Algorithmic parameters Architectural parameters Block 1 Block 2 Block 3 P? Processor Block 1 stimulated Block 1 Block 2 Block 3 Processor F I 1 TOTAL F 2 α Processor Model F 3 I TOTAL α P = f(parameters)

Context Estimation Model Parameters Models for different architectures: DSP, RISC, VLIW,... Uncertainty < 10% from C code, < 4% from asm code Archite ectural Algorithmic Processors TI C67 TI C64 TI C62 TI C55 ARM7 Parameters floating point VLIW fixed point VLIW + L1 &L2 cache fixed point VLIW low power RISC F Clock frequency X X X X X MM Memory mode X X X X X DM Data mapping X X X W DMA data width X X X X PM Power management X α Parallelism rate X X X β Processing rate X X X X ε DMA activity rate X X X X γ Instruction cache miss rate X X X X τ External data access rate X X µ Data cache miss rate X σ Data read rate X δ Data write rate X PSR Pipeline Stall rate X X X

Context Summary Only the high level methodologies are practical to explore the design space. High level methodologies are component-instance specific. A power estimation model per component is needed. Would be nice if it were shipped with the component, i.e.: provided by manufacturer. Need for component libraries. Library modeled with the help of AADL packages and property sets. The properties are often specific to the component classifier. The library is added to the OSATE environment using the provided extension points.

Property set CAT_Properties Power Consumption AADL Modeling Core Power Analysis Properties Core power consumption properties Power and energy property types and units Apply to all component categories (platform and software). Modeled as ranges to carry uncertainties. Time property types and units from existing AADL_Project property set. Use appropriate existing property definition (e.g.: Compute_Execution_Time for threads and Transmission_Time for buses). Added time per byte property type and units

Power Consumption AADL Modeling Core Power Analysis Properties

Core Hardware Properties Power Consumption AADL Modeling Core Power Analysis Properties Frequency (more handy that SEI cycle time). Hardware technology (e.g.: ASIC 130 nm, ASIC 90 nm) Physical property types (length, etc ).

Power Consumption AADL Modeling Power Analysis Strategy Two phases to analyze the power consumption: Phase 1: power estimation: The power consumption is computed for every software component. Apply the FLPA methodology. Phase 2: Consumption analysis: The power consumption of SW components are combined to get the power consumption for the HW component At deployment, SW components model are bounded to HW components in the AADL target platform model AADL instance model use the binding properties of software components onto hardware components: Threads onto processors Processes, threads and data onto memories Connections onto bus Energy analysis using timing information performed afterwards

Power Consumption AADL Modeling Component Modeling Strategy Component AADL model libraries consist in property sets and classifiers. Dedicated Property Sets for components Used to store the power estimation model parameters in the AADL model (cache miss rate, memory modes, etc.). Classifier families for components Classifier and package names hierarchy (AADL extension mechanism) E.g.: processor processor family builder processor model (PowerPC 405) Classifiers are used to mark the components in the AADL spec so that they can be identified by power estimation tools. The classifier and properties are linked. Property applies to classifiers.

Modeling Examples Threads and Processors AADL Modelling of Specialized Processors AADL V2: Properties applicable to classifiers. Processor AADL Predefined Properties CAT_Processor_Type CAT_Properties DSP TI GPP DSP_Properties TI_Properties C62 C55 IBM IBM_Properties C6201 C5510 POWERPC405

Modeling Examples Threads and Processors C source + annotations Compiler model prediction model Assembly code Configura -tion Memory mappin g Algorithm activity model algorithmic parameters architectural parameters Processor model power model Power and energy estimation SoftExplorer The processor model (power model) represents the way the processor's consumption varies with its activity The algorithm model links the algorithm with the activity it induces in the processor From C source: the compiler model (prediction model) represents the compiler behaviour

Modeling Examples Threads and Processors Processor and associated bus declarations

Modeling Examples Threads and Processors Platform technology declaration (inherit property definition) Next steps: Instantiate the system Bind the threads Compute power estimation

Modeling Examples Inter Process Communications (IPC) AADL modeling of synchronization, local and remote Interprocess communications Provide AADL packages that describe Synchronization: mutex, semaphores, signals Communication: pipes, shared memory, message queues, sockets Each package contains a specific data type component corresponding to a communication mechanism Services of an IPC are modeled as server subprogram features Only socket services are modeled as features of the socket data component Definition of a POSIX properties set

Modeling Examples IPC Sockets so_send so_recv so_send Ethernet controllers energy model E=F(F cpu,f bus,protocol,data)

IPC AADL extension Socket data classifier Features socket communication subprograms Modeling Examples IPC Sockets: SW Components Known by the power analysis tool. Send subprogram Requires access to: Socket data Message data Message length data

Application model Extends the library classifiers Refines the features Send / Receive subprograms need to be defined in application model because they access the actual message being send. Modeling Examples IPC Sockets: SW Components

Modeling Examples IPC Sockets: SW Components RPC Socket thread Access application socket and message data Defines the calls to socket subprograms

RPC thread inside a process. Set the source code for image conversion. Modeling Examples IPC Sockets: SW Components

Modeling Examples IPC Sockets: HW Devices Hardware components: MAC controller extends the library internal Ethernet controller device Hardware components: OffChip IO controller extends the library external Ethernet controller device

Modeling Examples IPC Sockets: Power Estimation Algorithm Power consumption model: P = f(fcpu, Protocol, Sdata) Socket data power estimation algo Sdata: From the Send subprogram feature, get the send subprogram. From the send subprogram msg data access feature, get the message data. From the message data, get the size property (CAT_Properties::Data_Size). Protocol: Infer from the socket data POSIX_Socket_Type property. Fcpu: Find the platform MAC controller device through which the data is send Search all the instances of MAC controller classifiers in the system. Retain the controller that has the socket connected to it. The controller connected sockets are found by filtering all connected components through features instances + buses. From the MAC controller device, find the connected processor through OPB bus. The links between the controller and its processor and socket are set during model transformation. In the power-oriented model, the device has a socket collection and processor properties.

Modeling Examples ASIC Buses Interconnect Explorer Tool back end has been integrated into CAT Power estimation model parameters are: Data being send (due to cross talk on bus lines) A data profile can be used instead the data is not known. RANDOM (noise): 50% commutation rate assumed for each bit. DATA (e.g. image): High weight bits have low commutation rates, lowest weight bit has 50 % commutation ADDRESS: Low weight bit has 100% commutation rate. Bus physical length Number of bits (bus width) Technology (ASIC) Number of metal layers (ASIC) Bufferization.

AADL Modeling Examples ASIC Buses Define two bus property sets + classifiers: Generic properties ASIC specific properties

Conclusions and Future Work AADL is suitable for power estimation modeling Extensive use of Component classifiers Property sets Extension mechanism Access features. Other AADL Power Estimation Models Flash Memories FPGAs (Hardware Threads) Power estimation due to thread scheduling (cheddar) System Composition

CAT : Consumption Analysis Toolbox System level power analysis CAT Demo Extensible. Possibility to add new power estimation models for new components. Actually: Uses Eclipse extension mechanism Future: CAT SDK Based on an Ecore power-oriented meta model Integrated with AADL (and OSATE) via model transformation with ATL (low coupling) Works on AADL instance models (depends on binding properties) Windows and Linux compatible.

Use Case Client-Server Distributed Application