A Platform-based Design Flow for Kahn Process Networks Abhijit Davare Qi Zhu December 10, 2004.

Slides:



Advertisements
Similar presentations
Interactive lesson about operating system
Advertisements

© 2004 Wayne Wolf Topics Task-level partitioning. Hardware/software partitioning.  Bus-based systems.
A Process Splitting Transformation for Kahn Process Networks Sjoerd Meijer.
Architecture Representation
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
Requirements on the Execution of Kahn Process Networks Marc Geilen and Twan Basten 11 April 2003 /e.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Addressing the System-on-a-Chip Interconnect Woes Through Communication-Based Design N. Vinay Krishnan EE249 Class Presentation.
CISC October Goals for today: Foster’s parallel algorithm design –Partitioning –Task dependency graph Granularity Concurrency Collective communication.
SSP Re-hosting System Development: CLBM Overview and Module Recognition SSP Team Department of ECE Stevens Institute of Technology Presented by Hongbing.
1 Complexity of Network Synchronization Raeda Naamnieh.
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.
Methodologies for Wireless Sensor Networks Design Alvise Bonivento Alessandro Pinto Prof. Sangiovanni-Vincentelli U.C. Berkeley.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
CS 267 Spring 2008 Horst Simon UC Berkeley May 15, 2008 Code Generation Framework for Process Network Models onto Parallel Platforms Man-Kit Leung, Isaac.
Metro II : A Next-Generation Framework for Platform-based Design Abhijit Davare, Douglas Densmore, Trevor Meyerowitz, Alessandro Pinto, Alberto Sangiovanni-Vincentelli,
Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.
System Partitioning Kris Kuchcinski
1 EE249 Discussion A Method for Architecture Exploration for Heterogeneous Signal Processing Systems Sam Williams EE249 Discussion Section October 15,
Marakas: Decision Support Systems, 2nd Edition © 2003, Prentice-Hall Chapter Chapter 7: Expert Systems and Artificial Intelligence Decision Support.
Hierarchical Reconfiguration of Dataflow Graphs Stephen Neuendorffer UC Berkeley Poster Preview May 10, 2004.
Courseware Basics of Real-Time Scheduling Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building.
SNAL Sensor Networks Application Language Alvise Bonivento Mentor: Prof. Sangiovanni-Vincentelli 290N project, Fall 04.
Wk 2 – Scheduling 1 CS502 Spring 2006 Scheduling The art and science of allocating the CPU and other resources to processes.
November 18, 2004 Embedded System Design Flow Arkadeb Ghosal Alessandro Pinto Daniele Gasperini Alberto Sangiovanni-Vincentelli
CprE 458/558: Real-Time Systems
Router modeling using Ptolemy Xuanming Dong and Amit Mahajan May 15, 2002 EE290N.
Torino (Italy) – June 25th, 2013 Ant Colony Optimization for Mapping, Scheduling and Placing in Reconfigurable Systems Christian Pilato Fabrizio Ferrandi,
1 Correct and efficient implementations of synchronous models on asynchronous execution platforms Stavros Tripakis UC Berkeley and Verimag EC^2 Workshop,
Software Architecture for DSD The “Uses” Relation.
1 Presenter: Ming-Shiun Yang Sah, A., Balakrishnan, M., Panda, P.R. Design, Automation & Test in Europe Conference & Exhibition, DATE ‘09. A Generic.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
9/14/2015B.Ramamurthy1 Operating Systems : Overview Bina Ramamurthy CSE421/521.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
Chapter 3 Parallel Algorithm Design. Outline Task/channel model Task/channel model Algorithm design methodology Algorithm design methodology Case studies.
A Methodology for Architecture Exploration of heterogeneous Signal Processing Systems Paul Lieverse, Pieter van der Wolf, Ed Deprettere, Kees Vissers.
Embedding Constraint Satisfaction using Parallel Soft-Core Processors on FPGAs Prasad Subramanian, Brandon Eames, Department of Electrical Engineering,
ISO/IEC SC 25/WG 1 ISO/IEC : CodeBase Tag Discussion Ron Ambrosio IBM TJ Watson Research Center.
C. André, J. Boucaron, A. Coadou, J. DeAntoni,
CE Operating Systems Lecture 7 Threads & Introduction to CPU Scheduling.
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
System-level power analysis and estimation September 20, 2006 Chong-Min Kyung.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Static Process Scheduling
Lazy Release Consistency for Software Distributed Shared Memory Pete Keleher Alan L. Cox Willy Z. By Nooruddin Shaik.
Stages of design  High level design  High level data structure  Architecture  Low level design-code design  Algorithms  Low level data structures.
Chapter 1: The Queueing Paradigm The behavior of complex electronic system  Statistical prediction Paradigms are fundamental models that abstract out.
Evaluating Meta-Scheduling Algorithms in VLAM-G Environment V.Korkhov, A.Belloum, L.O.Hertzberger FNWI, University of Amsterdam Key VLAM-G applications.
Winter-Spring 2001Codesign of Embedded Systems1 Co-Synthesis Algorithms: Distributed System Co- Synthesis Part of HW/SW Codesign of Embedded Systems Course.
1 of 14 Lab 2: Formal verification with UPPAAL. 2 of 14 2 The gossiping persons There are n persons. All have one secret to tell, which is not known to.
1 of 14 Lab 2: Design-Space Exploration with MPARM.
Operating Systems : Overview
SOFTWARE DESIGN AND ARCHITECTURE
ITEC 202 Operating Systems
Parallel Algorithm Design
Deadlock B.Ramamurthy CSE421 9/17/2018 B.Ramamurthy.
Gabor Madl Ph.D. Candidate, UC Irvine Advisor: Nikil Dutt
Operating Systems : Overview
Human Complexity of Software
SAT-Based Area Recovery in Technology Mapping
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Deadlock Detection for Distributed Process Networks
Automated Analysis and Code Generation for Domain-Specific Models
An information flow model FM is defined by
Deadlock B.Ramamurthy CSE421 4/26/2019 B.Ramamurthy.
Multidisciplinary Optimization
Presentation transcript:

A Platform-based Design Flow for Kahn Process Networks Abhijit Davare Qi Zhu December 10, 2004

6/28/ Overview Mapping Overview Design Flow –Reconfiguration –Allocation –Initial Sizing –Deadlock Detection and Resolution Common Semantic Domain Future work

6/28/ Overview FunctionArchitecture Mapping Function Mapping Architecture Function in CSD Architecture in CSD A design methodology for Platform-based Design Within this context, focus on the specific problem of mapping KPN applications to architectural platforms First Contribution Second Contribution

6/28/ KPN Design Flow Four clearly defined steps –Tractable optimization problems –Amenable to designer intervention –Leverage prior work from a variety of different research communities Heuristics developed at each step Functional Model Architectural Model Allocation of Computational & Communication Resources Initial Sizing of Communication Channels Runtime Deadlock Detection & Resolution Algorithms Reconfiguration

6/28/ Step #1: Reconfiguration Manipulate the functional and architectural models –Behavior must remain the same –Cost metrics may change Architectural Reconfiguration –Control the number of processors in the platform –Number of buses and topology Functional Reconfiguration –Clustering of processes based on the concurrency limit of architecture model –Sort the pairs of processes by (cost of internal communication – cost of external communications) –Keep merging the pair with largest cost until satisfies the architecture platform –Not applicable to Kahn processes in general

6/28/ Step #2: Allocation – Covering Problem Allocates computational and communication resources from architectural model to functional model All services used by the functional model must be provided by the architectural model –Matching of type Cost function defines expense of a particular mapping with respect to a metric of interest –Latency or Energy

6/28/ Step #2: Allocation – Estimating Service Cost Typically, an architectural model is defined in terms of components –Components provide/use services with different costs Defined in terms of quantity managers in Metropolis –Costs known for components, but not for architectural model as a whole Not just applicable to current design flow –Model defined for composing the cost of services from components i1i1 i2i2 c 1 (i 1, i 2 ) c 2 (i 1, i 2 ) f 1 (i 1, i 2 )

6/28/ Step #3: Initial Sizing Assigning memory resources to channels Allocation step provides resource constraints Assign memory statically such that constraints are satisfied and latency is reduced –Using simulation, get the channel size distribution and total data throughput for each channel –Assign memory Measure the weight of channels by distribution and throughput Greedily adjust the channel size with total memory constraint SizeProbability

6/28/ Step #4: Deadlock Detection Identify global or local artificial deadlock situations –Global deadlock occurs when all processes are blocked –Local deadlock occurs when processes in a directed or undirected cycle are blocked Synthesize a deadlock manager for the system that checks if deadlock situations have developed Tag the write-blocked channels

6/28/ Step #4: Deadlock Resolution Allocate memory from a shared pool to write-blocked channels involved in deadlock Each channel is prioritized with a “worthiness” metric –How deserving of additional memory if it is write-blocked and involved in a deadlock If no more memory is available in shared pool, then attempt to reclaim previously allocated memory from channels that are not using it In general, finite memory resources imply that some artificial deadlocks cannot be resolved

6/28/ Modeling Platform Function model: PIP application –26 processes and 57 channels Architecture model: Heterogeneous Multiprocessor Platform –4 CPUs, each with a local memory –One global bus and one global memory Described in Metropolis framework

6/28/ Semantic Domains A semantic domain is constructed by some elemental semantic concepts A model can be described in one semantic domain if we can reason about the behavior of the model by only considering the elements in this semantic domain A semantic domain S is said to be the ancestor of another semantic domain T if all the elements in T are constructed by the elements contained in S There exists a domain R called Meta-domain, which is the ancestor of all the other semantic domains. It has the richest expressiveness. The semantic domains are not restricted to only involve the well-known models of computation in the literature. They are suitable for design space exploration, but maybe “unnatural” from a modeling standpoint.

6/28/ Common Semantic Domain (CSD) Meta-Domain Finer Abstract Domain … … … … Semantic Domain of Function Semantic Domain of Architecture Common Semantic Domain Suppose X is the semantic domain of function and Y is the semantic domain of architecture; common semantic domain is the common ancestor of X and Y in the lattice of semantic domain.

6/28/ Another view of CSD Meta-Domain Architecture Domain Function Domain Common Semantic Domain

6/28/ Use CSD in KPN Design Flow Common semantic domain for our project : –Computational actions Execution actions taken by a single thread –Communication actions Blocking read actions to FIFOs Non-blocking write actions to FIFOs Both functionality in function model and services provided by architecture model can be described by above elements –Restrict the behavior of architectural model so that it can be described with a CSD lower in the lattice

6/28/ Future work Design Flow –Better heuristics for each step –Test on a set of case studies Common Semantic Domains –More formal definition in terms of constraints on usage of primitive elements of a Meta-domain (e.g. Tagged Signal model) –Identification of useful domains for solving mapping problems What types of analysis are necessary? What are natural modeling mechanisms? How easy is it to move up/down in the lattice?