A Methodology for Architecture Exploration of heterogeneous Signal Processing Systems Paul Lieverse, Pieter van der Wolf, Ed Deprettere, Kees Vissers.

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

System-level Architectur Modeling for Power Aware Computing Dexin Li.
Evaluation of On-Chip Interconnect Architectures for Multi-Core DSP Students : Haim Assor, Horesh Ben Shitrit 2. Shared Bus 3. Fabric 4. Network on Chip.
Interactive lesson about operating system
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
1 Architectural Complexity: Opening the Black Box Methods for Exposing Internal Functionality of Complex Single and Multiple Processor Systems EECC-756.
Lecture Objectives: 1)Explain the limitations of flash memory. 2)Define wear leveling. 3)Define the term IO Transaction 4)Define the terms synchronous.
The Path to Multi-core Tools Paul Petersen. Multi-coreToolsThePathTo 2 Outline Motivation Where are we now What is easy to do next What is missing.
Lab Meeting Performance Analysis of Distributed Embedded Systems Lothar Thiele and Ernesto Wandeler Presented by Alex Cameron 17 th August, 2012.
System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli.
6/14/2015 How to measure Multi- Instruction, Multi-Core Processor Performance using Simulation Deepak Shankar Darryl Koivisto Mirabilis Design Inc.
11/14/05ELEC Fall Multi-processor SoCs Yijing Chen.
Addressing Optimization for Loop Execution Targeting DSP with Auto-Increment/Decrement Architecture Wei-Kai Cheng Youn-Long Lin* Computer & Communications.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Source Code Optimization and Profiling of Energy Consumption in Embedded System Simunic, T.; Benini, L.; De Micheli, G.; Hans, M.; Proceedings on The 13th.
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
1 Pupil Detection and Tracking System Lior Zimet Sean Kao EE 249 Project Mentors: Dr. Arnon Amir Yoshi Watanabe.
Chapter 13 Embedded Systems
1 EE249 Discussion A Method for Architecture Exploration for Heterogeneous Signal Processing Systems Sam Williams EE249 Discussion Section October 15,
A Platform-based Design Flow for Kahn Process Networks Abhijit Davare Qi Zhu December 10, 2004.
Data-path Synthesis of VLIW Video Signal Processor Zhao Wu and Wayne Wolf Dept. of Electrical Engineering, Princeton University.
Trend towards Embedded Multiprocessors Popular Examples –Network processors (Intel, Motorola, etc.) –Graphics (NVIDIA) –Gaming (IBM, Sony, and Toshiba)
Silberschatz, Galvin and Gagne  Operating System Concepts Common System Components Process Management Main Memory Management File Management.
5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003 MESCAL Application Modeling and Mapping: Warpath Andrew Mihal and the MESCAL team UC Berkeley.
Educational Computer Architecture Experimentation Tool Dr. Abdelhafid Bouhraoua.
Torino (Italy) – June 25th, 2013 Ant Colony Optimization for Mapping, Scheduling and Placing in Reconfigurable Systems Christian Pilato Fabrizio Ferrandi,
The Origin of the VM/370 Time-sharing system Presented by Niranjan Soundararajan.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Actual design flows and tools.
1 A survey on Reconfigurable Computing for Signal Processing Applications Anne Pratoomtong Spring2002.
Efficient Hardware dependant Software (HdS) Generation using SW Development Platforms Frédéric ROUSSEAU CASTNESS‘07 Computer Architectures and Software.
1 Presenter: Ming-Shiun Yang Sah, A., Balakrishnan, M., Panda, P.R. Design, Automation & Test in Europe Conference & Exhibition, DATE ‘09. A Generic.
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System.
UNIX and Shell Programming (06CS36)
BASIC INPUT AND OUTPUT INTERFACING.  8085A communicate with outside world using the I/O devices.  Since memory and I/O devices share the system bus,
THE COMPUTER SYSTEM. Lecture Objectives Computer functions – Instruction fetch & execute – Interrupt Handling – I/O functions Interconnections Computer.
Operating Systems for Reconfigurable Systems John Huisman ID:
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
System bus.
(More) Interfacing concepts. Introduction Overview of I/O operations Programmed I/O – Standard I/O – Memory Mapped I/O Device synchronization Readings:
Digital Design and Computer Architecture Dr. Robert D. Kent LT Ext Lecture 1 Introduction.
CSCI 465 D ata Communications and Networks Lecture 13 Martin van Bommel CSCI 465 Data Communications & Networks 1.
TEMPLATE DESIGN © Hardware Design, Synthesis, and Verification of a Multicore Communication API Ben Meakin, Ganesh Gopalakrishnan.
ESC499 – A TMD-MPI/MPE B ASED H ETEROGENEOUS V IDEO S YSTEM Tony Zhou, Prof. Paul Chow April 6 th, 2010.
F. Gharsalli, S. Meftali, F. Rousseau, A.A. Jerraya TIMA laboratory 46 avenue Felix Viallet Grenoble Cedex - France Embedded Memory Wrapper Generation.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
I/O Computer Organization II 1 Interconnecting Components Need interconnections between – CPU, memory, I/O controllers Bus: shared communication channel.
TTCN-3 MOST Challenges Maria Teodorescu
MILAN: Technical Overview October 2, 2002 Akos Ledeczi MILAN Workshop Institute for Software Integrated.
UNIX and Shell Programming
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
© Michel Dubois, Murali Annavaram, Per Strenstrom All rights reserved Embedded Computer Architecture 5SAI0 Simulation - chapter 9 - Luc Waeijen 16 Nov.
By Fernan Naderzad.  Today we’ll go over: Von Neumann Architecture, Hardware and Software Approaches, Computer Functions, Interrupts, and Buses.
5-1 Logic System Design I VHDL Design Principles ECGR2181 Reading: Chapter 5.0, 5.1, 5.3 port ( I: in STD_LOGIC_VECTOR (1 to 9); EVEN, ODD: out STD_LOGIC.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Real-Time Operating System Design
Mapping of Regular Nested Loop Programs to Coarse-grained Reconfigurable Arrays – Constraints and Methodology Presented by: Luis Ortiz Department of Computer.
Multiprocessor SoC integration Method: A Case Study on Nexperia, Li Bin, Mengtian Rong Presented by Pei-Wei Li.
Multimedia Retrieval Architecture Electrical Communication Engineering, Indian Institute of Science, Bangalore – , India Multimedia Retrieval Architecture.
4/27/2000 A Framework for Evaluating Programming Models for Embedded CMP Systems Niraj Shah Mel Tsai CS252 Final Project.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Presenter: Yi-Ting Chung Fast and Scalable Hybrid Functional Verification and Debug with Dynamically Reconfigurable Co- simulation.
Heterogeneous Processing KYLE ADAMSKI. Overview What is heterogeneous processing? Why it is necessary Issues with heterogeneity CPU’s vs. GPU’s Heterogeneous.
Marilyn Wolf1 With contributions from:
Anne Pratoomtong ECE734, Spring2002
Intro to Architecture & Organization
Architecture Mapping 최기영 (서울대학교, 전기컴퓨터공학부) Copyrightⓒ2003.
Chapter 2: Operating-System Structures
Introduction to Operating Systems
Chapter 2: Operating-System Structures
Presentation transcript:

A Methodology for Architecture Exploration of heterogeneous Signal Processing Systems Paul Lieverse, Pieter van der Wolf, Ed Deprettere, Kees Vissers

Outline Problem definition Related work Basic principles Methodology SPADE Case study Conclusion

Problem Definition  Modern signal processing systems have a heterogeneous architecture: programmable components to offer various functions and support different standards for transmission, dedicated hardware blocks for cost and power consideration.  New design Methodology SPADE for architecture exploration of heterogeneous signal processing systems Starts from a set of target applications Results in the definition of an architecture capable of executing the applications within predefined constraints

Problem Definition cont’d  The design has to start with abstract yet executable models. Cost of model construction and model evaluation Flexibility to explore alternative architectures

Related Work  Application modeling: Models of computation  Synchronous Dataflow(SDF), Dataflow Process Networks, Kahn Process Networks.  Architecture modeling and performance analysis at system level  Polis, reactive systems  Chinook, embedded systems  RASSP, DSP systems  Quantitative analysis of architectures, by A.C.J.Kienhuis, limited to a specific class of dataflow architectures  In contrast, SPADE distinguishes between application models and architecture models, and supports explicit mapping  reusability

Basic Principles  The Y-Chart: a general scheme for the design of programmable architectures

Basic Principles cont’d  Workload and Resources  Computation, communication workload  Processing, communication, memory resources, etc  Applications and architectures are modeled separately  Trace-Driven Simulation: performance analysis  Applications: network of concurrent communicating processes  Trace: workload

SPADE  Application Modeling  Objective: expose parallelism, make communication explicit  Kahn Process Networks  The execution is deterministic  It fits nicely with signal processing applications  It allows programmers to easily combine communication primitives with control constructs  Application Programmers Interface (API) of SPADE  Read function  Write function  Execution function, to handle symbolic instruction Trace entries are generated by them.

SPADE cont’d  Architecture Modeling  Easy to construct. No need to model the functional behavior  Library of Generic building blocks, which are parameterized  Trace driven execution unit (TDEU), which interprets trace entries  Interfaces, which connects the I/O ports of TDEU to communication resource  Generic bus block

SPADE cont’d  Mapping.  Each process is mapped onto a TDEU. Can be many-to-one, but not one-to-many  Each process port is mapped one-to-one onto an I/O port

SPADE cont’d  Simulation  Concurrently simulate the application model and the architecture model in a single memory space  Performance Metrics  The building blocks contain collectors for performance metrics. Data is collected during simulation.

Case Study: An MPEG-2 Decoder  Starts with the C-code of the MPEG-2 video decoder  Step 1: partition the sequential program into a parallel Kahn Process Network using API functions  Step 2: Collect statistics of the workload for different MPEG sequences, by running the application in stand-alone mode  Step 3: construct model for a realistic architecture, TM-2700 MPEG architecture, using the blocks from the library  Step 4: Define a mapping  Step 5: Perform simulation. Identify the bottlenecks.

Conclusion  SPADE supports efficient exploration of heterogeneous signal processing architectures that must satisfy the workload demands of multiple target applications  Kahn API functions can be used to structure applications  A broad class of architectures can be modeled with the generic architecture blocks from the library  Trace-driven simulation is used for co-simulation. Simulation speed, about 20,000 cycles per second for a relatively complex design.  A number of architectures and mappings can be explored