Course Outline DayContents Day 1 Introduction Motivation, definitions, properties of embedded systems, outline of the current course How to specify embedded.

Slides:



Advertisements
Similar presentations
Technische universität dortmund fakultät für informatik informatik 12 Models of computation Peter Marwedel TU Dortmund Informatik 12 Graphics: © Alexandra.
Advertisements

Automatic Data Movement and Computation Mapping for Multi-level Parallel Architectures with Explicitly Managed Memories Muthu Baskaran 1 Uday Bondhugula.
Embedded System, A Brief Introduction
Simulation of Feedback Scheduling Dan Henriksson, Anton Cervin and Karl-Erik Årzén Department of Automatic Control.
School of EECS, Peking University “Advanced Compiler Techniques” (Fall 2011) Parallelism & Locality Optimization.
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2004 Serdar Taşıran.
System-level Trade-off of Networks-on-Chip Architecture Choices Network-on-Chip System-on-Chip Group, CSE-IMM, DTU.
Yaron Doweck Yael Einziger Supervisor: Mike Sumszyk Spring 2011 Semester Project.
Fakultät für informatik informatik 12 technische universität dortmund Specifications - Session 5 - Peter Marwedel TU Dortmund Informatik 12 Germany Slides.
Introductory Courses in High Performance Computing at Illinois David Padua.
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
11 1 Hierarchical Coarse-grained Stream Compilation for Software Defined Radio Yuan Lin, Manjunath Kudlur, Scott Mahlke, Trevor Mudge Advanced Computer.
INTRODUCTION COMPUTATIONAL MODELS. 2 What is Computer Science Sciences deal with building and studying models of real world objects /systems. What is.
Vertically Integrated Analysis and Transformation for Embedded Software John Regehr University of Utah.
Cpeg421-08S/final-review1 Course Review Tom St. John.
April 16, 2009 Center for Hybrid and Embedded Software Systems PtidyOS: An Operating System based on the PTIDES Programming.
Courseware Basics of Real-Time Scheduling Jan Madsen Informatics and Mathematical Modelling Technical University of Denmark Richard Petersens Plads, Building.
CprE 458/558: Real-Time Systems
Lecture 1CS 380C 1 380C Last Time –Course organization –Read Backus et al. Announcements –Hadi lab Q&A Wed 1-2 in Painter 5.38N –UT Texas Learning Center:
HW/SW Co-Synthesis of Dynamically Reconfigurable Embedded Systems HW/SW Partitioning and Scheduling Algorithms.
Mahapatra-Texas A&M-Fall'001 Codesign Framework Parts of this lecture are borrowed from lectures of Johan Lilius of TUCS and ASV/LL of UC Berkeley available.
ECE669 L23: Parallel Compilation April 29, 2004 ECE 669 Parallel Computer Architecture Lecture 23 Parallel Compilation.
A Tool for Describing and Evaluating Hierarchical Real-Time Bus Scheduling Policies Author: Trevor Meyerowitz, Claudio Pinello, Alberto DAC2003, June 24,2003.
Technische Universität Dortmund Automatic mapping to tightly coupled memories and cache locking Peter Marwedel 1,2, Heiko Falk 1, Robert Pyka 1, Lars Wehmeyer.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Actual design flows and tools.
SBSE Course 4. Overview: Design Translate requirements into a representation of software Focuses on –Data structures –Architecture –Interfaces –Algorithmic.
October 26, 2006 Parallel Image Processing Programming and Architecture IST PhD Lunch Seminar Wouter Caarls Quantitative Imaging Group.
Lecture 29 Fall 2006 Lecture 29: Parallel Programming Overview.
EECE **** Embedded System Design
Computer Science 12 Embedded Systems Group © H. Falk | Dortmund, 08-Jul-08 Overview about Computer Science 12 at Dortmund University of Technology Heiko.
CASTNESS‘11 Computer Architectures and Software Tools for Numerical Embedded Scalable Systems Workshop & School: Roma January 17-18th 2011 Frédéric ROUSSEAU.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
EMBEDDED SYSTEMS 9 April 2013 William W. McMillan.
Software Pipelining for Stream Programs on Resource Constrained Multi-core Architectures IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEM 2012 Authors:
1 Advance Computer Architecture CSE 8383 Ranya Alawadhi.
Introduction, background, jargon Jakub Yaghob. Literature T.G.Mattson, B.A.Sanders, B.L.Massingill: Patterns for Parallel Programming, Addison- Wesley,
- 1 - EE898_HW/SW Partitioning Hardware/software partitioning  Functionality to be implemented in software or in hardware? No need to consider special.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
1 Parallel Programming Aaron Bloomfield CS 415 Fall 2005.
The Cosmic Cube Charles L. Seitz Presented By: Jason D. Robey 2 APR 03.
6. Application mapping 6.1 Problem definition
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
Theory of Programming Languages Introduction. What is a Programming Language? John von Neumann (1940’s) –Stored program concept –CPU actions determined.
Modeling and Analysis of Printer Data Paths using Synchronous Data Flow Graphs in Octopus Ashwini Moily Under the supervision of Dr. Lou Somers, Prof.
System-level power analysis and estimation September 20, 2006 Chong-Min Kyung.
1 Dealing with AADL End-to-end Flow Latency in UML MARTE AOSTE INRIA/I3S Sophia Antipolis, France S-Y. Lee, F. Mallet, R. de Simone.
A flexible simulator for control- dominated distributed real-time systems Johannes Petersson IDA/SaS/ESLAB Johannes Petersson IDA/SaS/ESLAB Master’s Thesis.
System Components ● There are three main protected modules of the System  The Hardware Abstraction Layer ● A virtual machine to configure all devices.
High Performance Embedded Computing © 2007 Elsevier Chapter 7, part 3: Hardware/Software Co-Design High Performance Embedded Computing Wayne Wolf.
CS- 492 : Distributed system & Parallel Processing Lecture 7: Sun: 15/5/1435 Foundations of designing parallel algorithms and shared memory models Lecturer/
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
CSCI1600: Embedded and Real Time Software Lecture 33: Worst Case Execution Time Steven Reiss, Fall 2015.
High Performance Embedded Computing © 2007 Elsevier Lecture 10: Code Generation Embedded Computing Systems Michael Schulte Based on slides and textbook.
ECE 526 – Network Processing Systems Design Programming Model Chapter 21: D. E. Comer.
Parallel Computing Presented by Justin Reschke
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.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 April 28, 2005 Session 29.
1 of 14 Lab 2: Design-Space Exploration with MPARM.
Fakultät für informatik informatik 12 technische universität dortmund Prepass Optimizations - Session 11 - Heiko Falk TU Dortmund Informatik 12 Germany.
Distributed Process Scheduling- Real Time Scheduling Csc8320(Fall 2013)
CHaRy Software Synthesis for Hard Real-Time Systems
2. Specification and Modeling
Embedded System Design Specifications and Modeling
CSCI1600: Embedded and Real Time Software
CSCI1600: Embedded and Real Time Software
EE 4xx: Computer Architecture and Performance Programming
CS703 - Advanced Operating Systems
CSCI1600: Embedded and Real Time Software
Research: Past, Present and Future
Presentation transcript:

Course Outline DayContents Day 1 Introduction Motivation, definitions, properties of embedded systems, outline of the current course How to specify embedded systems? The problem with threads, requirements for specifications, models of computation, communication paradigms, finite state machine based model for local systems How to specify embedded systems? Finite state machine based model for distributed systems, data flow based models, Kahn process networks, synchronous dataflow, computational graphs, Petri nets Lab Specification languages: simulation of Kahn process networks Day 2 How to specify embedded systems? Task graphs, computational graphs in UML (sequence charts, activity charts), ADA, imperative models of computation and message passing libraries (MPI), discrete event models (VHDL, SystemC), UML for real- time Lab: Specification languages: Ptolemy heterogeneous system modeling Mapping of applications to platforms Scheduling algorithms for aperiodic processes; rate monotonic scheduling (RMS) Mapping of applications to platforms Earliest deadline first (EDF) scheduling, priority inversion, resource access protocols, impact on middleware, scheduling for dependent tasks.

Course Outline DayContents Day 3 Mapping of applications to platforms Hardware/Software partitioning in COOL, Daedalus design-flow, ETH Zürich approach for mapping to platforms Lab: Real-time scheduling: Simulation of aperiodic and periodic scheduling, priority inversion, resource access protocols How to make designs efficient?* Prepass optimizations, loop nest splitting, polytope model, genetic algorithm, search space exploration, results How to make designs efficient?* High-level intermediate representation, ICD-C, low-level intermediate representation, parallelization for multi- DSPs, program recovery, data partitioning, parallelization, results Day 4 How to deal with slow memories? The problem with memories, design objectives, energy models, scratch-pad memories, non-overlaying allocation for code and global variables Lab Modeling of scratch-pad optimization as an integer linear program, computation of energy savings How to deal with slow memories? Scratch-pad partitioning, allocation of stack and heap, impact on predictability, overlaying allocation for single threads, array allocation, multiple hierarchy levels How to deal with slow memories? Allocation for multiple threads, dynamic sets of applications, scratch-pads with memory management unit, multiple processors, cache way prediction; improving the locality of references for caches: data layout transformations, loop tiling

Course Outline DayContents Day 5 How to deal with slow memories? Exploiting caches: simple loop transformations, prefetching; Optimizations for the main memory: array folding, code layout transformations, array folding; flash memory: flash transaction layer; secondary memory algorithms Lab Modeling of scratch-pad optimization as an integer linear program, computation of energy savings Is my software fast enough, always?* Definition of worst case execution, workflow for WCET analyzer aiT, coupling worst case analysis and compilation, switching of worst case execution paths, function specialization, results Wrap up Languages for describing memory hierarchies; curricula for embedded system education; overall discussion regarding the course. * Lecture by Dr. Heiko Falk.