Reliable Scheduling Again – just a single hit onto a very large area.

Slides:



Advertisements
Similar presentations
FatMax Licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 LicenseCreative Commons Attribution-NonCommercial-ShareAlike 2.5.
Advertisements

So far Binary numbers Logic gates Digital circuits process data using gates – Half and full adder Data storage – Electronic memory – Magnetic memory –
Threads, SMP, and Microkernels
1/1/ / faculty of Electrical Engineering eindhoven university of technology Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir.
CSCI 4717/5717 Computer Architecture
Sensor Network Platforms and Tools
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 19 Scheduling IV.
- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Hardware/Software Codesign.
Chapter 13 Embedded Systems
Chapter 1 and 2 Computer System and Operating System Overview
Chapter 11 Operating Systems
CS533 - Concepts of Operating Systems
Device Management.
Chapter 1 and 2 Computer System and Operating System Overview
Computer Organization and Architecture
1 Operating Systems Ch An Overview. Architecture of Computer Hardware and Systems Software Irv Englander, John Wiley, Bare Bones Computer.
CprE 458/558: Real-Time Systems
Chapter 3 Overview of Operating Systems Copyright © 2008.
Chapter 1 Program Design
CSI 400/500 Operating Systems Spring 2009 Lecture #2 – Functional Parts of an Operating System Monday January 23, 2009.
EMBEDDED SOFTWARE Team victorious Team Victorious.
Universität Dortmund  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Hardware/software partitioning  Functionality to be implemented in software.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 15 Slide 1 Real-time Systems 1.
Chapter 51 Threads Chapter 5. 2 Process Characteristics  Concept of Process has two facets.  A Process is: A Unit of resource ownership:  a virtual.
CHAPTER 4: INTRODUCTION TO COMPUTER ORGANIZATION AND PROGRAMMING DESIGN Lec. Ghader Kurdi.
Chapter 3 Operating Systems Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Digital System Bus A bus in a digital system is a collection of (usually unbroken) signal lines that carry module-to-module communications. The signals.
Real-Time Software Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Chapter 6: CPU Scheduling
Computer Architecture and Operating Systems CS 3230: Operating System Section Lecture OS-3 CPU Scheduling Department of Computer Science and Software Engineering.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 3: Operating Systems Computer Science: An Overview Tenth Edition.
Architecture Support for OS CSCI 444/544 Operating Systems Fall 2008.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
DCE (distributed computing environment) DCE (distributed computing environment)
OPERATING SYSTEMS Goals of the course Definitions of operating systems Operating system goals What is not an operating system Computer architecture O/S.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
The Functions of Operating Systems Interrupts. Learning Objectives Explain how interrupts are used to obtain processor time. Explain how processing of.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
1 Sec (3.2) Operating System Architecture OS. 2 Software dividing into two categories: 1. Application software 2. System Software  Operating System 
Conformance Test Experiments for Distributed Real-Time Systems Rachel Cardell-Oliver Complex Systems Group Department of Computer Science & Software Engineering.
Chapter 4 MARIE: An Introduction to a Simple Computer.
Processor Architecture
Simics: A Full System Simulation Platform Synopsis by Jen Miller 19 March 2004.
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
CSCI1600: Embedded and Real Time Software Lecture 24: Real Time Scheduling II Steven Reiss, Fall 2015.
Embedded Computer - Definition When a microcomputer is part of a larger product, it is said to be an embedded computer. The embedded computer retrieves.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
1.  System Characteristics  Features of Real-Time Systems  Implementing Real-Time Operating Systems  Real-Time CPU Scheduling  An Example: VxWorks5.x.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
Program Design. Simple Program Design, Fourth Edition Chapter 1 2 Objectives In this chapter you will be able to: Describe the steps in the program development.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
Software Design and Architecture
Computer Systems Architecture Edited by Original lecture by Ian Sunley Areas: Computer users Basic topics What is a computer?
Real-time Software Design
Resource Management IB Computer Science.
EEE Embedded Systems Design Process in Operating Systems 서강대학교 전자공학과
The Mach System Sri Ramkrishna.
Wayne Wolf Dept. of EE Princeton University
CS 425 / ECE 428 Distributed Systems Fall 2017 Nov 16, 2017
Chapter 2.2 : Process Scheduling
Chapter 7: Designing the Architecture
Real-time Software Design
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
Chapter 5: CPU Scheduling
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Processor Fundamentals
Chapter5: CPU Scheduling
Chapter 10 Multiprocessor and Real-Time Scheduling
Presentation transcript:

Reliable Scheduling Again – just a single hit onto a very large area

DAIMIHenrik Bærbak Christensen2 Literature Christensen and Eriksen 2003: –An Architectural Style for Closed-loop Process- Control –Center for Pervasive Computing Tech Report Van der Linden 2007 –Dependability Experience in Philips

DAIMIHenrik Bærbak Christensen3 Center for Object Technology Late 1990’s I was involved in the Center for Object Technology Purpose: –The overall goal of Centre for Object Technology (COT) is to carry out research, development and technology transfer in the area of object-oriented software construction. The activities in COT are based on actual needs from the participating industrial partners.

DAIMIHenrik Bærbak Christensen4 One Case Danfoss was very happy about the outcome and continued into a new project together with us. Purpose –Develop a new embedded motor control system Basically a closed-loop control system: –Sample process variable, calculate response, enact –Architectural Drivers Performance: –Extremely high sampling rate to provide ultra high motor control Modifiability –Plug-n-play configuration of distributed system

DAIMIHenrik Bærbak Christensen5 Deployment view, Archecture 1 Digital Input Card CC A/D Card Discrete Input Sampling Input Sampling Store Event Store Reference Handler Feedback Handler Command Handler Reference (setpoint): The freq. the motor must operate at. Feedback (input): Measured freq.

DAIMIHenrik Bærbak Christensen6 Problem Problem: –Handling of state information in feedback closed-loop process-control distributed embedded systems (inhale!) –Hard deadlines for state information delivery –Very short control intervals –Need for secure synchronisation of input variables –Minimal memory footprint –Focus on maintainability of solution

DAIMIHenrik Bærbak Christensen7 First Idea The project was called OO-Dist = Object- oriented Distributed (something). Proposal: Distributed Objects and RMI/CORBA like semantics.

DAIMIHenrik Bærbak Christensen8 Deployment view, Archecture 1 Digital Input Card CC A/D Card Discrete Input Sampling Input Sampling Store Event Store Reference Handler Feedback Handler Command Handler Commandhandler:run() { SamplingStore ss1 = lookup(“s1”); double v = ss1.fetchValue(); …

DAIMIHenrik Bærbak Christensen9 Scheduling … is problematic. Timing is everything! –Must know time of sampling precisely! Otherwise the control calculations become wrong –Must finish motor control tasks within a N millisecond cycle Otherwise we do not control the motor precisely CC Reference Handler Feedback Handler Command Handler

DAIMIHenrik Bærbak Christensen10 Global clock Time is divided into control intervals The global clock ensure that all nodes agree on start time of these periods Node 1 Node 2 Node 3 Node 4 control interval i control interval i+1

DAIMIHenrik Bærbak Christensen11 A scenario P-Node 1 P-Node 2 C-Node Input signal - early computation Store - early computation Consumer – fixed time computation All stores are consistent PC-Node

DAIMIHenrik Bærbak Christensen12 Challenges Concurrency –In each device there are concurrent tasks, and how to ensure consistency of read/written state variables? Timing –How to guaranty that all input/feedback variables are read, stable (all nodes agree), and available in time for the control algorithm to process them –How to guaranty that there is enough time within each control interval to finish the control algorithm

DAIMIHenrik Bærbak Christensen13 A Proposal Blackboard architecture, using CAN bus Digital Input Card CC A/D Card Discrete Input Sampling Input Sampling Store Event Store Reference Handler Feedback Handler Command Handler BlackBoard

DAIMIHenrik Bærbak Christensen14 A Proposal All communication between processes/objects is only via reading or writing state variables in the distributed store –i.e. no ‘method calls’ between (remote) objects Strict sequence of each task’s run method –A.step(); B.step(); C.step(); [start over again once the next control interval starts]

DAIMIHenrik Bærbak Christensen15 Scenario A feedback value is read (using one node) and used by the motor control (on another node).

DAIMIHenrik Bærbak Christensen16 What do we gain? No synchronization problems –CAN bus ensures distributed store consistency across all nodes –No concurrent access due to strict sequencing of each process’ execution Strict timing analysis possible –Read/write variable is constant time, thus time budget of each task can be made isolated Compare if all components could call methods in all other components!!! Require global analysis –Task sequencing under strict control

DAIMIHenrik Bærbak Christensen17 What do we gain? Performance –The main architectural driver –Simple analysis can guaranty the deadlines are met Modifiability –Distributed system, adding new devices is simple –Configurable set of tasks –Simple component model, easy to understand and reason about Testability –Easy to test components on a PC rather than on embedded device

Relations Philips Experience

DAIMIHenrik Bærbak Christensen19 Virtual Processors van der Linden describe virtual processors: –Processes are assigned a category (own, MMI, …) –Specific time is guarantied for each category Round robin scheduling: –Round-robin (RR) is one of the simplest scheduling algorithms for processes in an operating system, which assigns time slices to each process in equal portions and in circular order, handling all processes without priority.scheduling algorithmsprocessesoperating systemtime slicespriority –If time slice not used, handed over to other categories as outlined

DAIMIHenrik Bærbak Christensen20 What do they gain? No starvation/competition between processes –Each category has its own “virtual processor” Even in overload situations, core processing is guarantied –As e.g. background tasks cannot steal processing power from OWN tasks –Operators/users can always interact with device

DAIMIHenrik Bærbak Christensen21 What they both require! That you can write your own process scheduler! Most OS view this as such an intimate detail that you cannot alter it –Instead you express yourself in complex concepts like priorities etc., but these are not easy to translate into hard-real time constraints

DAIMIHenrik Bærbak Christensen22 Summary If dependability rely in hard-real time processing –Like controlling the motor of a crane holding 100 tons of cargo above the head of workers… Then the scheduling algorithms and the architecture / component model becomes vital for dependability and performance Traditional OS scheduling models not always the obvious choice.