15-410, F’04 - 1 - Scheduling on Mars Oct. 29, 2004 Dave Eckhardt Bruce Maggs L22b_Mars 15-410 “Delayed Impact”

Slides:



Advertisements
Similar presentations
Fakultät für informatik informatik 12 technische universität dortmund Resource Access Protocols Peter Marwedel Informatik 12 TU Dortmund Germany 2008/12/06.
Advertisements

Real Time Scheduling.
Priority Inheritance and Priority Ceiling Protocols
Priority Inversion BAE5030 Advanced Embedded Systems 9/13/04.
Real-time Embedded Systems Complex RMS and deadline monotonic scheduling.
Priority INHERITANCE PROTOCOLS
Copyright © 2000, Daniel W. Lewis. All Rights Reserved. CHAPTER 8 SCHEDULING.
LUI SHA,RAGUNATHAN RAJKUMAR,JOHN P.LEHOCZKY IEEE TRANSACTIONS ON COMPUTERS, VOL. 39, NO. 9, SEPTEMBER 1990 Repesent : Shu Wei Ho.
0 Synchronization Problem Resource sharing –Requires mutual exclusion –Critical section A code section that should be executed mutually exclusively by.
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems Resource Access Control Protocols.
CSE 522 Real-Time Scheduling (3)
Mutual Exclusion.
Secure Operating Systems Lesson 5: Shared Objects.
Interprocess Communication
Real-time concepts Lin Zhong ELEC424, Fall Real time Correctness – Logical correctness – Timing Hard vs. Soft – Hard: lateness is intolerable Pass/Fail.
Real-Time Kernels and Operating Systems Basic Issue - Purchase commercial “off-the- shelf” system or custom build one Basic Functions –Task scheduling.
Java How to Program, 9/e CET 3640 Professor: Dr. José M. Reyes Álamo © Copyright by Pearson Education, Inc. All Rights Reserved.
Big Picture Lab 4 Operating Systems Csaba Andras Moritz.
© Andy Wellings, 2004 Roadmap  Introduction  Concurrent Programming  Communication and Synchronization  Completing the Java Model  Overview of the.
UCDavis, ecs150 Fall /23/2007ecs150, fall Operating System ecs150 Fall 2007 : Operating System #3: Priority Inversion (a paper on the class.
UCDavis, ecs150 Spring /21/2006ecs150, spring Operating System ecs150 Spring 2006 : Operating System #3: Priority Inversion (paper) Dr. S.
Resource Access Control (Part I) The Mars Pathfinder Incident Resource Model Priority Inversion.
COMS W3156: Software Engineering, Fall 2001 Lecture #2: The Open Class Janak J Parekh
CS189A/172 - Winter 2008 Lecture 2: Software’s Chronic Crisis (No Silver Bullet)
UCDavis, ecs251 Fall /23/2007ecs251, fall Operating System Models ecs251 Fall 2007 : Operating System Models #3: Priority Inversion Dr. S.
Java How to Program, 9/e CET 3640 Professor: Dr. Reyes Álamo © Copyright by Pearson Education, Inc. All Rights Reserved.
EECS 262a Advanced Topics in Computer Systems Lecture 8 Mesa September 24 th, 2012 John Kubiatowicz and Anthony D. Joseph Electrical Engineering and Computer.
Parallel Processing (CS526) Spring 2012(Week 8).  Thread Status.  Synchronization in Shared Memory Programming(Java threads ) ◦ Locks ◦ Barriars.
Introduction to Embedded Systems
Cosc 4740 Chapter 6, Part 3 Process Synchronization.
Scheduling Basic scheduling policies, for OS schedulers (threads, tasks, processes) or thread library schedulers Review of Context Switching overheads.
Real-Time Systems Design1 Priority Inversion When a low-priority task blocks a higher-priority one, a priority inversion is said to occur Assume that priorities:
Mutual Exclusion. Readings r Silbershatz: Chapter 6.
Real Time Scheduling Telvis Calhoun CSc Outline Introduction Real-Time Scheduling Overview Tasks, Jobs and Schedules Rate/Deadline Monotonic Deferrable.
VxWorks Fall 2005 Final Project CS 450: Operating Systems Section 1 Kenneth White Josh Houck Karl Ridgeway Mike Ripley Morgan Serene.
Deadlocks Silberschatz Ch. 7 and Priority Inversion Problems.
Scheduling Lecture 6. What is Scheduling? An O/S often has many pending tasks. –Threads, async callbacks, device input. The order may matter. –Policy,
© 2000 Morgan Kaufman Overheads for Computers as Components Processes and operating systems  Operating systems.
© 2000 Morgan Kaufman Overheads for Computers as Components Processes and operating systems Operating systems. 1.
Multithreading in Java Sameer Singh Chauhan Lecturer, I. T. Dept., SVIT, Vasad.
Deadlock Detection and Recovery
Threads II IS Outline  Quiz  Thread review  Stopping a thread  java.util.Timer  Swing threads javax.swing.Timer  ProgressMonitor.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 2006 Universität Dortmund Periodic scheduling For periodic scheduling, the best that we can do is to.
15.1 Threads and Multi- threading Understanding threads and multi-threading In general, modern computers perform one task at a time It is often.
B. RAMAMURTHY 12/25/2015 Realtime System Fundamentals : Scheduling and Priority-based scheduling Pag e 1.
Rate Monotonic Analysis Rob Oshana Southern Methodist University.
Introduction to Embedded Systems Rabie A. Ramadan 5.
A presentation for Brian Evans’ Embedded Software Class By Nate Forman Liaison Technology Inc. 3/30/2000 For Real-Time Scheduling.
Amanda Johnson Hannah Young Josh Taylor Rich Carroll Troy Gladhill Saunders Roesser.
Real Time System with MVL. © 2007 MontaVista Confidential | Overview of MontaVista Agenda Why Linux Real Time? Linux Kernel Scheduler Linux RT technology.
Real-Time Operating System Design
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 3.
Readers-Writers Problem Akos Ledeczi EECE 354, Fall 2012 Vanderbilt University.
1.  System Characteristics  Features of Real-Time Systems  Implementing Real-Time Operating Systems  Real-Time CPU Scheduling  An Example: VxWorks5.x.
Where Testing Fails …. Problem Areas Stack Overflow Race Conditions Deadlock Timing Reentrancy.
Mutual Exclusion -- Addendum. Mutual Exclusion in Critical Sections.
Concurrent Programming in Java Based on Notes by J. Johns (based on Java in a Nutshell, Learning Java) Also Java Tutorial, Concurrent Programming in Java.
Scheduling Dave Eckhardt Synchronization ● “Pop Quiz” ● Project 2 ● Outline – Chapter 6.
Big Picture Lab 4 Operating Systems C Andras Moritz
Real-Time Threads Time dependent, usually wrt deadline –Periodic –Aperiodic –Sporadic Priority scheduled Fault tolerant.
© 2013 MontaVista Software, LLC. MontaVista Confidential and Proprietary. CGE7 DevRocket7 Feature Demo Divya Vyas.
RTOS Scheduling 2.0 Problems - Solutions
Scheduling Review FIFO: RR: + simple
Chapter 2 Scheduling.
Rate Monotonic Analysis For Real-Time Scheduling A presentation for
First slide Rest of project 2 due next Friday Today:
Reminders Homework 4 due next Friday Rest of project 2 due next Friday
NETWORK PROGRAMMING CNET 441
Real-Time Process Scheduling Concepts, Design and Implementations
Real-Time Process Scheduling Concepts, Design and Implementations
Presentation transcript:

15-410, F’ Scheduling on Mars Oct. 29, 2004 Dave Eckhardt Bruce Maggs L22b_Mars “Delayed Impact”

15-410, F’ What Happened On Mars? Mars Pathfinder probe (1997) Nice launch Nice transit Nice de-orbit Nice thump-down (inflatable air-bag) Nice rover disembarkation Nice rover spontaneous reboots

15-410, F’ Internal Architecture “Information bus” (blackboard/whiteboard/...) Housekeeping by high-priority bus manager thread Meteorological data gathering Occasional activity Low-priority weather data thread Communication with Earth Medium-priority communication thread Watchdog thread “Too quiet”? Reboot “Shouldn't happen” event was happening repeatedly

15-410, F’ What could go wrong? Weather data locks “bus” memory to publish High-priority bus manager must wait

15-410, F’ What could go wrong?

15-410, F’ What could go wrong?

15-410, F’ What could go wrong? Weather data locks “bus” memory to publish High-priority bus manager must wait Interrupt makes communication runnable “Medium” priority, so preempts weather data communication then attempts to lock bus Highest-priority runnable task, so it spin-waits

15-410, F’ What could go wrong?

15-410, F’ What could go wrong?

15-410, F’ What could go wrong?

15-410, F’ Solution? VxWorks has two mutex flavors Normal Priority Inheritance Rover code initialized flavors via global variables mutex_init(&bus_mem_mutex, bus_mutex_flavor); Rover flew with “debug” interpreter enabled Read-eval loop waiting for commands % assign bus_mutex_flavor = MF_P_INHERIT All fixed

15-410, F’ Weather Thread is Busy

15-410, F’ Bus Thread Waits: Priority Inherited by WX

15-410, F’ Bus Thread Waits: Priority Inherited by WX

15-410, F’ “Low-Priority” Thread Finishes Fast

15-410, F’ “Low-Priority” Thread Finishes Fast

15-410, F’ History of an Idea Priority Inheritance Protocols: An Approach to Real- Time Synchronization IEEE Transactions on Computers 39:9 Lui Sha (CMU SEI) Ragunathan Rajkumar (IBM Research  CMU ECE) John Lehoczky (CMU Statistics)

15-410, F’ History of an Idea Events “Manuscript” received Revised Published Rescues Mars Pathfinder History courtesy of Mike Jones