5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003 MESCAL Application Modeling and Mapping: Warpath Andrew Mihal and the MESCAL team UC Berkeley.

Slides:



Advertisements
Similar presentations
Embedded System, A Brief Introduction
Advertisements

ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
A component- and message-based architectural style for GUI software
Architecture Representation
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
28.2 Functionality Application Software Provides Applications supply the high-level services that user access, and determine how users perceive the capabilities.
Addressing the System-on-a-Chip Interconnect Woes Through Communication-Based Design N. Vinay Krishnan EE249 Class Presentation.
400 Gb/s Programmable Packet Parsing on a Single FPGA Authors : Michael Attig 、 Gordon Brebner Publisher: 2011 Seventh ACM/IEEE Symposium on Architectures.
Component Technologies for Embedded Systems Johan Eker.
5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003 Java Code Generation Steve Neuendorffer UC Berkeley.
February 21, 2008 Center for Hybrid and Embedded Software Systems Organization Board of Directors Edward A. Lee, UC Berkeley.
SCORE - Stream Computations Organized for Reconfigurable Execution Eylon Caspi, Michael Chu, Randy Huang, Joseph Yeh, Yury Markovskiy Andre DeHon, John.
System Level Design: Orthogonalization of Concerns and Platform- Based Design K. Keutzer, S. Malik, R. Newton, J. Rabaey, and A. Sangiovanni-Vincentelli.
DISTRIBUTED CONSISTENCY MANAGEMENT IN A SINGLE ADDRESS SPACE DISTRIBUTED OPERATING SYSTEM Sombrero.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Mahapatra-Texas A&M-Fall'001 cosynthesis Introduction to cosynthesis Rabi Mahapatra CPSC498.
Π-Method: A Model-Driven Formal Method for Architecture- Centric Software Engineering By Flavio Oquendo Presented by: Sajith Wickramaratne.
ISBN Chapter 1 Preliminaries. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Chapter 1 Topics Motivation Programming Domains.
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages Chapter 3 : Describing Syntax and Semantics Operational Semantics.
3/12/ Modeling and controlling the Caltech Ducted Fan Vehicle Steve Neuendorffer, Ptolemy Group, UC Berkeley.
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
Verilog Code Generation for an ASIP Design Environment Nathan Kitchen Vinay Krishnan Mentor: Scott Weber (MESCAL) EE 244/249 Joint Project Fall 2002.
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
From Cooper & Torczon1 Implications Must recognize legal (and illegal) programs Must generate correct code Must manage storage of all variables (and code)
MoBIES Working group meeting, September 2001, Dearborn Ptolemy II The automotive challenge problems version 4.1 Johan Eker Edward Lee with thanks.
SNAL Sensor Networks Application Language Alvise Bonivento Mentor: Prof. Sangiovanni-Vincentelli 290N project, Fall 04.
UCB November 8, 2001 Krishna V Palem Proceler Inc. Customization Using Variable Instruction Sets Krishna V Palem CTO Proceler Inc.
Trend towards Embedded Multiprocessors Popular Examples –Network processors (Intel, Motorola, etc.) –Graphics (NVIDIA) –Gaming (IBM, Sony, and Toshiba)
5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003 The Component Interaction Domain: Modeling Event-Driven and Demand- Driven Applications.
ISBN Chapter 1 Topics Motivation Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language.
System-Level Types for Component-Based Design Paper by: Edward A. Lee and Yuhong Xiong Presentation by: Dan Patterson.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
UML for Embedded Systems Development--Revisited. table_05_00 * * * * *
UML for Embedded Systems Development— Extensions; Hardware-Software CoDesign.
Object-oriented design CS 345 September 20,2002. Unavoidable Complexity Many software systems are very complex: –Many developers –Ongoing lifespan –Large.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
1.3 Executing Programs. How is Computer Code Transformed into an Executable? Interpreters Compilers Hybrid systems.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
An Introduction to Software Architecture
1 3-General Purpose Processors: Altera Nios II 2 Altera Nios II processor A 32-bit soft core processor from Altera Comes in three cores: Fast, Standard,
CS 363 Comparative Programming Languages
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
Introduction to MDA (Model Driven Architecture) CYT.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Cosc 2150: Computer Organization
High Performance Embedded Computing © 2007 Elsevier Lecture 3: Design Methodologies Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte Based.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
4.2.1 Programming Models Technology drivers – Node count, scale of parallelism within the node – Heterogeneity – Complex memory hierarchies – Failure rates.
A Methodology for Architecture Exploration of heterogeneous Signal Processing Systems Paul Lieverse, Pieter van der Wolf, Ed Deprettere, Kees Vissers.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
CSE 3322 Computer Architecture Dr. John Patterson 614 NH Office Hours: M, W 11 –12 noon Grading Policy: Project 25%
PTII Model  VHDL Codegen Verification Project Overview 1.Generate VHDL descriptions for Ptolemy models. 2.Maintain bit and cycle accuracy in implementation.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
Mapping of Regular Nested Loop Programs to Coarse-grained Reconfigurable Arrays – Constraints and Methodology Presented by: Luis Ortiz Department of Computer.
ECE 526 – Network Processing Systems Design Programming Model Chapter 21: D. E. Comer.
4/27/2000 A Framework for Evaluating Programming Models for Embedded CMP Systems Niraj Shah Mel Tsai CS252 Final Project.
Layers Architecture Pattern Source: Pattern-Oriented Software Architecture, Vol. 1, Buschmann, et al.
Support for Program Analysis as a First-Class Design Constraint in Legion Michael Bauer 02/22/17.
Anne Pratoomtong ECE734, Spring2002
Introduction to cosynthesis Rabi Mahapatra CSCE617
Shanna-Shaye Forbes Ben Lickly Man-Kit Leung
Retargetable Model-Based Code Generation in Ptolemy II
Analysis models and design models
Computer Systems An Introducton.
Presentation transcript:

5 th Biennial Ptolemy Miniconference Berkeley, CA, May 9, 2003 MESCAL Application Modeling and Mapping: Warpath Andrew Mihal and the MESCAL team UC Berkeley

Ptolemy Miniconference 2 Complex Systems Heterogeneous Architectures –Diverse computational resources –Diverse communications architecture –Diverse memory architecture Concurrent Applications –Multiple flavors of concurrency –Models of Computation

Ptolemy Miniconference 3 Three Challenges Choose the right application development environment –Capture application’s requirements –Useful high-level abstractions Find a good programming model for the architecture –Capture architecture’s capabilities –Right mix of opacity and transparency Transition between application development environment and programmer’s model (implement) –Enable efficient design space exploration –Correct results –Meet performance goals

Ptolemy Miniconference 4 MESCAL Approaches Bottom-up –Start with a specific application domain and a specific architecture –Develop useful abstractions of the device –Aspire to achieve hand-coded performance in a fraction of the design time Top-down –Consider heterogeneous applications that use combinations of MoCs –Develop a mapping discipline Correct-by-construction implementation Target a broad class of architectures

Ptolemy Miniconference 5 Warpath Disciplined methodologies and a supporting tool set for the top-down approach Formal models capture concurrency Formal model enables automatic exportation Correct-by-construction implementation Programmer’s Model Programmer’s Model Mapping Process Mapping Process Code Generation Process Code Generation Process Performance Analysis Performance Analysis Application Development Environment Application Development Environment Architecture Instance Architecture Instance Applications

Ptolemy Miniconference 6 Outline Target Architectures –Exporting programming models Target Applications –Characteristics of application development environments Mapping Programmer’s Model Programmer’s Model Mapping Process Mapping Process Application Development Environment Application Development Environment

Ptolemy Miniconference 7 Target Architectures Teepee Processing Element Architecture View –Successor to Architecture Description Languages –Library of components –MoC captures register-to-register data transformations –Formal analysis finds “operations” –Not limited to RISC-like datapaths DLX-like machine:

Ptolemy Miniconference 8 Operation Extraction

Ptolemy Miniconference 9 Programming Models Teepee architectures are fundamentally different from conventional RISC machines RISC datapath features: –Instruction fetch/decode units –Program counter –Part of the computation in each cycle is to figure out the next instruction to run Runs sequential programs with jumps C language –Arithmetic operations –Loops –Function calls –20% of the architectural details, 80% of the performance

Ptolemy Miniconference 10 Teepee Processing Elements Control structures are implicit in the model Control synthesis strategies: –Hardcoded state machine –Horizontal/vertical microcode –Reconfigurable –RISC/VLIW –None of the above Runs sequential programs Executes one or more operations each cycle Opportunity to customize processing element control to the style of computation the application uses

Ptolemy Miniconference 11 Target Applications Heterogeneous, concurrent applications Click network processing apps Data plane:

Ptolemy Miniconference 12 Click Applications Control plane: Routing table updates Dynamic Quality-of- Service changes Flow-based router context Statistics gathering ICMP Errors (bad packets)

Ptolemy Miniconference 13 Warpath Application Development Env. Good ideas from Ptolemy II –Models of Computation –Orthogonalization of computation, communication, and control –Library of domain-polymorphic components –Hierarchical heterogeneity Targeted for implementation on a Teepee architectural platform –Strict software interfaces for computation, communication, control –Separate implementation and visualization –Get rid of Java –Don’t assume RISC-like datapaths

Ptolemy Miniconference 14 Application Mapping Common abstractions on each end of the implementation transition Warpath application development environment describes application computation in terms of operations RISC Datapath C Teepee Processing Element Operations

Ptolemy Miniconference 15 Add Actor Model an abstract machine that has an operation that performs the add mathematical function Thinking of this as a software model instead of a hardware model Operational semantics Look Inside

Ptolemy Miniconference 16 Compositions of Actors Obtain a graph of abstract machines Lacks semantics of control and communication Adding a model of computation makes this concrete ?

Ptolemy Miniconference 17 Compositions of Actors Receiver: operations to read and write a token to a storage element Director: operations to invoke operations on other abstract machines

Ptolemy Miniconference 18 Implementation Base case: think of the application model as a hardware model One-to-one relationship between application components and architecture components Hardware function unit Acts like an instruction fetch unit “Datapath”

Ptolemy Miniconference 19 Implementation Next: Programmable platform –Compile programs for one or more PEs so that they execute the operations specified by the application model

Ptolemy Miniconference 20 Summary We maintain that the key is to have common abstractions on each end of the implementation transition Actors and domain components described in terms of operations –Operational semantics for an abstract architecture –Retargetable compilation process Designers can tune architectures to match the application –Application MoC influences PE control logic –Program counters, stacks in memory, etc. optional –Add special function units that perfom domain-specific operation –Explore customization/programmability tradeoffs

Ptolemy Miniconference 21 The MESCAL Team Kurt Keutzer Matthias Gries Christian Sauer Kees Vissers Yujia Jin Andrew Mihal Matt Moskewicz Will Plishker Kaushik Ravindran Niraj Shah Scott Weber