Timing analysis research

Slides:



Advertisements
Similar presentations
Simulation of Feedback Scheduling Dan Henriksson, Anton Cervin and Karl-Erik Årzén Department of Automatic Control.
Advertisements

CMSC 611: Advanced Computer Architecture Performance Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted.
Time Demand Analysis.
1 Advanced Embedded Systems, BAE 5030 Presentation Topic: Rate Monotonic Analysis By Aswin Ramachandran
Undoing the Task: Moving Timing Analysis back to Functional Models Marco Di Natale, Haibo Zeng Scuola Superiore S. Anna – Pisa, Italy McGill University.
Algorithmic Complexity Nelson Padua-Perez Bill Pugh Department of Computer Science University of Maryland, College Park.
SIGMETRICS 2008: Introduction to Control Theory. Abdelzaher, Diao, Hellerstein, Lu, and Zhu. CPU Utilization Control in Distributed Real-Time Systems Chenyang.
FIGURE 1-1 A Computer System
INTRODUCTION SOFTWARE HARDWARE DIFFERENCE BETWEEN THE S/W AND H/W.
CS 346 – Chapter 1 Operating system – definition Responsibilities What we find in computer systems Review of –Instruction execution –Compile – link – load.
INVITATION TO COMPUTER SCIENCE, JAVA VERSION, THIRD EDITION Chapter 6: An Introduction to System Software and Virtual Machines.
Software Integrity Monitoring Using Hardware Performance Counters Corey Malone.
Lesson 1 Operating Systems, Part 1. Objectives Describe and list different operating systems Understand file extensions Manage files and folders.
CPSC 171 Introduction to Computer Science System Software and Virtual Machines.
CSCI1600: Embedded and Real Time Software Lecture 33: Worst Case Execution Time Steven Reiss, Fall 2015.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
Real-time aspects Bernhard Weirich Real-time Systems Real-time systems need to accomplish their task s before the deadline. – Hard real-time:
Xi He Golisano College of Computing and Information Sciences Rochester Institute of Technology Rochester, NY THERMAL-AWARE RESOURCE.
1 of 14 1/15 Schedulability-Driven Frame Packing for Multi-Cluster Distributed Embedded Systems Paul Pop, Petru Eles, Zebo Peng Embedded Systems Lab (ESLAB)
CHP-4 QUEUE Cont…. 7.DEQUE Deque (short form of double-ended queue) is a linear list in which elements can be inserted or deleted at either end but not.
CMSC 611: Advanced Computer Architecture Performance & Benchmarks Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some.
Transfer and Multitask Learning Steve Clanton. Multiple Tasks and Generalization “The ability of a system to recognize and apply knowledge and skills.
Application-Specific Customization of Soft Processor Microarchitecture Peter Yiannacouras J. Gregory Steffan Jonathan Rose University of Toronto Electrical.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
CHaRy Software Synthesis for Hard Real-Time Systems
Big data classification using neural network
Installing Java on a Home machine
DDC 2223 SYSTEM SOFTWARE DDC2223 SYSTEM SOFTWARE.
Advanced Computer Systems
OPERATING SYSTEMS CS 3502 Fall 2017
Lecture 2: Performance Evaluation
Operating Systems & System Software
OPERATING SYSTEMS CS 3502 Fall 2017
Applied Operating System Concepts
Jacob R. Lorch Microsoft Research
Chapter 1 Introduction.
Lesson Objectives Aims From the spec:
Evolution of Operating Systems
Application-Specific Customization of Soft Processor Microarchitecture
Introduction to Algorithms
Chapter 1 Introduction.
Genomic Data Clustering on FPGAs for Compression
Standards and Patterns for Dynamic Resource Management
Algorithm Analysis CSE 2011 Winter September 2018.
Implementation and Experimentation of Producer- Consumer Synchronization Problem 呂鴻洋 Introduction Producer-consumer problem is one classical.
Foundations of Computer Science
Installing Java on a Home machine
Chapter 8: Introduction to High-Level Language Programming
Computer Science I CSC 135.
CSCI1600: Embedded and Real Time Software
Managing Business Processes
Timing-aware Exceptions for a Precision Timed (PRET) Target
CMSC 611: Advanced Computer Architecture
Introduction To software engineering
1.1 The Characteristics of Contemporary Processors, Input, Output and Storage Devices Types of Processors.
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Software, O/S & Interfaces
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Architecture & System Performance
Processes and operating systems
Operating System Introduction.
Presented By: Darlene Banta
CMSC 611: Advanced Computer Architecture
Basic Concepts of Algorithm
Objectives Explain the purpose and give examples of embedded systems.
Application-Specific Customization of Soft Processor Microarchitecture
CSCI1600: Embedded and Real Time Software
Analysis of Structured or Semi-structured Data on a Hadoop Cluster
Necessary Background for OS
Presentation transcript:

Timing analysis research Nutshell: predict how long a computer program will take to execute. I need 2 students this summer Aspects of problem: Hardware issues Software: understanding the structure of a program, like a compiler would  Output: Worst case execution time Overall distribution of execution times Maybe it’s unknown because of parameter input?

Why? A real-time system is an OS or entire computer system in which jobs must be completed by some deadline Military Automotive, aviation Factories The OS must schedule jobs on the CPU, to insure efficiency and that jobs meet deadlines. Requires accurate knowledge of program’s execution time.

Benefits to you Gain deeper understanding of: Gain experience with: computer organization features of a programming language how a compiler works operating system scheduling algorithm efficiency Gain experience with: data structures like linked lists, trees breaking a big problem into smaller tasks Getting your work published/presented

Current work Predict the execution time distribution of a simple computer program The WCET may be wildly pessimistic! Sources of variation Input data The probability that an if-condition is true or false Verify results Run the program on Raspberry Pi many times, see if we get a similar distribution Open question: how can we tell if our prediction is good enough? Different metrics are possible.

How do we do it? Timing analyzer: our program, similar to a compiler To determine execution time of entire program, or any part of it Ongoing modification to handle the ARM7 architecture specs. Is our probability formula accurate? Simulation Actually run the program, and compare execution times. To generate meaningful distribution, need to run thousands of times!

Venues Real-Time Systems Symposium Real-Time Technology and Applications Symposium Euromicro Real-Time Systems Conference International Workshop on Worst-Case Execution Time Analysis National Conference on Undergraduate Research IEEE Southeast Conference Consortium for Computing Sciences in Colleges