Metro II : A Next-Generation Framework for Platform-based Design Abhijit Davare, Douglas Densmore, Trevor Meyerowitz, Alessandro Pinto, Alberto Sangiovanni-Vincentelli,

Slides:



Advertisements
Similar presentations
Threads, SMP, and Microkernels
Advertisements

Introduction to .NET Framework
Chapter 13 Review Questions
Programming Languages and Paradigms
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
Metropolis: An Environment for System-Level Design The Metropolis Team Presenter: Abhijit Davare CHESS Review - May 10, 2004.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
OOP in Java Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Implementing Quantity Managers in Ptolemy II EE 290N Project Haibo Zeng Dec 10 th, 2004.
Study of Simulink™ Discrete System MOC with Metropolis Haiyang Zheng Mentors: Luciano Lavagno
Communication in Distributed Systems –Part 2
Center for Hybrid and Embedded Software Systems Jonathan Sprinkle Executive Director, CHESS Center for Hybrid and Embedded Software Systems UC Berkeley.
A Platform-based Design Flow for Kahn Process Networks Abhijit Davare Qi Zhu December 10, 2004.
Chess Review November 21, 2005 Berkeley, CA Edited and presented by Sensor Network Design Akos Ledeczi ISIS, Vanderbilt University.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
Quantity  A generic mechanism to model performance In platform-based design, two pieces of information are required to capture the characteristics of.
Guide To UNIX Using Linux Third Edition
Abstract Data Types and Encapsulation Concepts
Chess Review November 21, 2005 Berkeley, CA Edited and presented by Coupled Interface Modules for Heterogeneous Composition Ethan Jackson ISIS, Vanderbilt.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
SystemC: Introduction. SystemC  A C++ based class library and design environment for system-level design.  Suitable for functional description that.
Programming Languages and Paradigms Object-Oriented Programming.
Web services: Why and How OOPSLA 2001 F. Curbera, W.Nagy, S.Weerawarana Nclab, Jungsook Kim.
CS 403: Programming Languages Lecture 2 Fall 2003 Department of Computer Science University of Alabama Joel Jones.
CCA Common Component Architecture Manoj Krishnan Pacific Northwest National Laboratory MCMD Programming and Implementation Issues.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Implementing Architectures Software Architecture.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Porting Implementation of Packet Utilization Standard from ADA to JAVA Annelie Hultman (TEC-EME) Donata Pedrazzani (TEC-EMS) ESA/ESTEC 2004 JPUS de-briefing.
Chapter 5: Programming Languages and Constructs by Ravi Sethi Activation Records Dolores Zage.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Languages for HW and SW Development Ondrej Cevan.
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Automatic translation from CUDA to C++ Luca Atzori, Vincenzo Innocente, Felice Pantaleo, Danilo Piparo 31 August, 2015.
1 SystemVerilog Enhancement Requests Daniel Schostak Principal Engineer February 26 th 2010.
GTK Binding for Alice Robert Grabowski Eine GTK-Schnittstelle für Alice.
1 5 Nov 2002 Risto Pohjonen, Juha-Pekka Tolvanen MetaCase Consulting AUTOMATED PRODUCTION OF FAMILY MEMBERS: LESSONS LEARNED.
C. André, J. Boucaron, A. Coadou, J. DeAntoni,
Veronica Eyo Sharvari Joshi. System on chip Overview Transition from Ad hoc System On Chip design to Platform based design Partitioning the communication.
MILAN: Technical Overview October 2, 2002 Akos Ledeczi MILAN Workshop Institute for Software Integrated.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Novel, Emerging Computing System Technologies Smart Technologies for Effective Reconfiguration: The FASTER approach.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
Computing Simulation in Orders Based Transparent Parallelizing Pavlenko Vitaliy Danilovich, Odessa National Polytechnic University Burdeinyi Viktor Viktorovych,
(1) Basic Language Concepts © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
Classes. Constructor A constructor is a special method whose purpose is to construct and initialize objects. Constructor name must be the same as the.
1 Presenter: Min Yu,Lo 2015/12/21 Kumar, S.; Jantsch, A.; Soininen, J.-P.; Forsell, M.; Millberg, M.; Oberg, J.; Tiensyrja, K.; Hemani, A. VLSI, 2002.
Constraints Assisted Modeling and Validation Presented in CS294-5 (Spring 2007) Thomas Huining Feng Based on: [1]Constraints Assisted Modeling and Validation.
Introduction to Object-Oriented Programming Lesson 2.
Basic Concepts and Definitions
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 4: Threads.
3/12/2013Computer Engg, IIT(BHU)1 OpenMP-1. OpenMP is a portable, multiprocessing API for shared memory computers OpenMP is not a “language” Instead,
ECE 526 – Network Processing Systems Design Programming Model Chapter 21: D. E. Comer.
PDEVS Protocol Performance Prediction using Activity Patterns with Finite Probabilistic DEVS DEMO L. Capocchi, J.F. Santucci, B.P. Zeigler University of.
April 15, 2013 Atul Kwatra Principal Engineer Intel Corporation Hardware/Software Co-design using SystemC/TLM – Challenges & Opportunities ISCUG ’13.
XSLT 3.0 Packages Michael H. Kay. XSLT 3.0 Themes Streaming –support for large documents Packaging –support for large (sets of) stylesheets Maps –support.
A Single Intermediate Language That Supports Multiple Implemtntation of Exceptions Delvin Defoe Washington University in Saint Louis Department of Computer.
Basic Language Concepts
Names and Attributes Names are a key programming language feature
NOX: Towards an Operating System for Networks
Computer Engg, IIT(BHU)
Hierarchical Architecture
Model-Driven Analysis Frameworks for Embedded Systems
Names, Binding, and Scope
Shanna-Shaye Forbes Ben Lickly Man-Kit Leung
JINI ICS 243F- Distributed Systems Middleware, Spring 2001
Automated Analysis and Code Generation for Domain-Specific Models
Presentation transcript:

Metro II : A Next-Generation Framework for Platform-based Design Abhijit Davare, Douglas Densmore, Trevor Meyerowitz, Alessandro Pinto, Alberto Sangiovanni-Vincentelli, Guang Yang, Haibo Zeng, Qi Zhu CHESS Winter Meeting February 14, 2007

CHESS Winter Meeting2 February 14, 2007 Approach Use lessons learned from Metropolis test cases to drive features for next-generation Metro II framework

CHESS Winter Meeting3 February 14, 2007 Outline Metro II Features  Heterogeneous IP Import  Behavior/Performance Separation  Operational/Denotational Specification Execution Model Building Blocks Implementation

CHESS Winter Meeting4 February 14, 2007 Metropolis Framework Metamodel Compiler … tool Verification tool Front end MetaModel language Simulator tool... Back end 1 Abstract syntax trees Back end 2 Back end n Metropolis Interactive Shell  Functionality What does it do?  Architecture Platform How is it done? At what cost?  Mapping Binding between the two

CHESS Winter Meeting5 February 14, 2007 Heterogeneous IP Import in Metropolis Excessive time spent in design import  Redefining and implementing classes and methods  Memory allocation, data types, templates, etc Challenges in Infineon case study  a on MuSIC (multiple SIMD core) architecture Collection of Heterogeneous IP Metropolis Design IP rewritten in Metamodel Different design teams Different languages Different MoCs

CHESS Winter Meeting6 February 14, 2007 Heterogeneous IP Import in Metro II Pros  Framework easier to develop and maintain  Leverage existing compilers/debuggers  Quicker import for most IP Cons  Framework has limited visibility Collection of Heterogeneous IP Metro II Design Wrappers

CHESS Winter Meeting7 February 14, 2007 Phase 1Phase 2 Behavior-Performance Separation in Metropolis Processes make explicit requests for annotation Annotation/scheduling are intertwined  Iteration between multiple quantity managers Challenges in GM case study  Vehicle stability application on distributed CAN architecture  Interactions between global time QM and resource QM difficult to debug P1P1 P2P2 R Global Time Resource Scheduler 2. Quantity Resolution 1. Explicit quantity requests 3. Granting of requests

CHESS Winter Meeting8 February 14, 2007 Behavior-Performance Separation in Metro II Pros  Phase 1 objects no longer explicitly request annotation  Separation of quantity managers into annotators and schedulers “Global time” separates into physical time (annotation) and logical time (scheduling) Cons  Additional phase introduced into execution model Phase 1 P1P1 P2P2 R Phase 2 Physical Time 1. Block processes at interfaces 2. Annotations Phase 3 Logical Time Resource Scheduler 3. Sched. Resolution 4. Enable some processes

CHESS Winter Meeting9 February 14, 2007 Operational/Denotational Specification in Metropolis Constraints break operational encapsulation  Constraints between arbitrary pairs of events  Any state in scope of event may be used in constraints No special declarative constructs for mapping Challenges in Intel case study  JPEG encoding on MXP5800 heterogeneous multiprocessor  Keeping track of events, values, and constraints requires separate data structure  Hard to debug local variables involved in synchronization constraints void func() { int a; event e1; int b; event e2; } void arch() { int c; event e3; int d; event e4; } sync(e1, e2, a == c) sync(e3, e4, b <= d)

CHESS Winter Meeting10 February 14, 2007 Operational/Denotational Specification in Metro II Accessible events are beg/end of interface methods  Values are either parameters or return values Mapping allocates functional components to architectural components  Coarser granularity

CHESS Winter Meeting11 February 14, 2007 Summary: Features for Metro II Import heterogeneous IP  Different languages  Different models of computation Behavior-Performance Separation  No explicit requests for annotation  Annotation separated from scheduling Operational/Denotational Separation  Restricted access to events and values  Mapping carried out at component level Coordination Framework Event-oriented Framework 3-Phase Execution

CHESS Winter Meeting12 February 14, 2007 Events An event is the fundamental concept in the framework Fields:  Process: Generator of event  Value Set: Variables exposed along with event  Tag Set: Quantity annotations E =

CHESS Winter Meeting13 February 14, Phase Execution 1.Base  Each process proposes events and suspends  Multiple events can be proposed simultaneously by one process 2.Annotation  Tag proposed events with quantities 3.Scheduling  Rejection of some proposed events  At most 1 enabled event per process Scheduling Annotation Base

CHESS Winter Meeting14 February 14, 2007 Phases and Events Each phase is allowed to interact with events in a limited way  Keep responsibilities separate PhaseEventsTagsValues ProposeDisableReadWriteReadWrite BaseYes AnnotationYes SchedulingYes

CHESS Winter Meeting15 February 14, 2007 Component IP Wrapper Components, Ports, and Connections required port provided port view port Ports  Coordination: provided, required  View ports Connections  Each method in interface for provided-required connection associated with begin and end events IP is wrapped to expose framework-compatible interface Components encapsulate wrapped IP

CHESS Winter Meeting16 February 14, 2007 Mappers Mappers are objects that help specify the mapping  Bridge syntactic gaps only  E.g. Missing method parameters Mapper Func. Comp Arch. Comp Mapping occurs at the component level  Between components with compatible interfaces  Possibly many functional components mapped to a single architectural component

CHESS Winter Meeting17 February 14, 2007 Metro II System Architecture sc_eventsc_module m2_method m2_port m2_event m2_interface MapperAdaptor m2_component Constraints Annotator Scheduler m2_manager Implementation Platform: SystemC 2.2 Metro II Core Not currently implemented Implementation started

CHESS Winter Meeting18 February 14, 2007 Implementation: SystemC 2.2 Component Declaration Port Declaration Component has 1 Process Call methods When to switch to 2 nd phase Interface Declaration

CHESS Winter Meeting19 February 14, 2007 Design Drivers Transceiver  DF + CT  Adaptors h.264 decoder  SystemC IP import  Mappers

CHESS Winter Meeting20 February 14, 2007 Development Plan Pre-alphaAlphaBeta  Basic 3-phase execution  h.264 SystemC model in Metro II 3/07 6/07 9/07  Mapping  Adaptors between different MoCs  h.264 mapping  Transceiver model

CHESS Winter Meeting21 February 14, 2007 Summary Motivation and Characteristics  Heterogeneous IP Import  Coordination Framework  Behavior/Performance Separation  3-phase  Operational/Denotational Specification  Event-based DVCon conference paper at: