Execution Architecture for Real-Time Systems by Ton Kostelijk

Execution Architecture for Real-Time Systems by Ton Kostelijk

Execution Architecture for Real-Time Systems Dr. A.P. Kostelijk (Ton) Version 0.1 Ton Kostelijk - Philips Digital 1 Systems Labs Content • Discussion on You: performance issues • Discussion • Introductory examples • OS: process context switch, process- creation, thread, co-operative / • Various scheduling preemptive multi-tasking, exercises scheduling, EDF, RMS, RMA. • How to design concur- rency / multi-tasking • RMA exercise Version 0.1 Ton Kostelijk - Philips Digital 2 Systems Labs Discussion on performance issues SW HW Version 0.1 Ton Kostelijk - Philips Digital 3 Systems Labs Model: Levels of execution Execution architecture 1. Task and priority assignment Execution architecture SW 2. Algorithms, source code Compiler 3. Machine code, CPU HW arch, settings HW 4. Busses and buffering: data comm. HW arch, settings 5. Device access Version 0.1 Ton Kostelijk - Philips Digital 4 Systems Labs Content • Discussion on You: performance issues • Discussion • Introductory examples • OS: process context switch, process- creation, thread, preemptive • Various scheduling multi-tasking, scheduling, EDF, exercises RMS, RMA. • How to design concur- rency / multi-tasking • RMA exercise Version 0.1 Ton Kostelijk - Philips Digital 5 Systems Labs Example 1: a coffee machine a = place new filter; 1 b = add new coffee; 1 ED c = fill water reservoir; 2 D DL DI d = heat water and pour; 2 D F G PDLQ ^D E F G ` W PDLQ ^F D E G ` W PDLQ ^DBL FBL DBI E FBI G ` W Version 0.1 Ton Kostelijk - Philips Digital 6 Systems Labs Observations • Timing requirements of actions are determined by dependency relations and deadlines. • Hard-coded schedule of actions: + Reliable, easy testable + For small systems might be the best choice. Version 0.1 Ton Kostelijk - Philips Digital 7 Systems Labs Example 2: a TV system 720 pixels 50 fields per second 625 Odd field TV signal Even field TxtTxt lines in vertical blanking x1 y1 x2 Remote control Led flashing Led off Led flashing ≈ xi +yi 1ms Version 0.1 Ton Kostelijk - Philips Digital 8 Systems Labs Example 2: a TV system • Simultaneous TV-system activities, e.g., – 1) TXT processing and – 2) be able to respond to a Remote Cntrl key-press. • One can include RC command checks in the TXT processing code. Mix unrelated things. • RC-key press Timing Requirement is 0.5 s, TXT processing Timing Req. is 20 ms. Version 0.1 Ton Kostelijk - Philips Digital 9 Systems Labs Observations revised • Timing requirements of actions are determined by dependency relations and deadlines. • Interrupts can be used for concurrency. – The RC-bit level is handled in this way. • Hard-coded schedule: – it mixes unrelated functionality, and – lacks extendibility. – For small systems might be the best choice. Version 0.1 Ton Kostelijk - Philips Digital 10 Systems Labs Device - CPU Access • Polling Int. CPU cntl Each x ms bus ‘check status’; • Interrupt data status – signal: handshake reg reg – forces next instruction to be a predetermined routine call Device mechanism Version 0.1 Ton Kostelijk - Philips Digital 11 Systems Labs Operating system, overview • Supports concurrency, based on the concept of ‘process’, a virtual processor. • Supports functions to handle problems caused by concurrency, e.g., mutual exclusion for a single-client resource. • Auxiliary functions, like date/time, file system, networking, security, etc. etc. Version 0.1 Ton Kostelijk - Philips Digital 12 Systems Labs Why multiple processes? • Ease of programming: Separate programs execute quasi-parallel on a CPU. • Handle urgency in particular for real-time activities. • Utilisation of idle time. Continue with other processing when an activity is waiting for external response. Version 0.1 Ton Kostelijk - Philips Digital 13 Systems Labs Processes • A process is a unique execution of a program or function, managed by the OS. – Several copies of a program may run simultaneously or at different times. • A process has its own state: – processor status (registers, IR) – memory • stack, heap, process-status Version 0.1 Ton Kostelijk - Philips Digital 14 Systems Labs Processes and CPUs • Activation record: copy of process state. Process 1’s PC • Context switch: Activation record – current CPU context registers goes out; Process 2 ’s – new CPU context goes Activation CPU in. Record ... memory Version 0.1 Ton Kostelijk - Philips Digital 15 Systems Labs Threads • Separate memory spaces per process require a Memory Management Unit (by using virtual memory). • Thread = lightweight process: a process that shares memory space with other processes. • Threads versus Processes: a reliability / safety and cost issue. Version 0.1 Ton Kostelijk - Philips Digital 16 Systems Labs Context switching • Initiation? • Switch to what other process? • Answers = Characteristic of Operating System – Preemptive multitasking Version 0.1 Ton Kostelijk - Philips Digital 17 Systems Labs Preemptive context switching • OS saves current process’s state in an activation record. • OS chooses next process p to run (scheduling). • OS installs activation record p as current CPU state, and the next process resumes. • Do CPU caches improve context switching? Version 0.1 Ton Kostelijk - Philips Digital 18 Systems Labs Process state • A process can be in one of three states: executing gets data – executing on the CPU; gets and CPU preempted – ready to run; CPU needs – blocking / waiting for data data. gets data • Context switch caused ready waiting needs data when other process is made ready, like IPC, mutex, semaphores, etc. Version 0.1 Ton Kostelijk - Philips Digital 19 Systems Labs OS-call and scheduler OS-call Resume P P1 x OS layer Ready AR1 AR2 Scheduler Blocked ARa ARb Version 0.1 Ton Kostelijk - Philips Digital 20 Systems Labs Interrupts and scheduler P P 1 1 Resume Px OS layer Resume Ready AR1 AR2 Interrupt Scheduler Routine Blocked ARa ARb AR1 AR1 Interrupt Interrupt with OS-call in Routine Version 0.1 Ton Kostelijk - Philips Digital 21 Systems Labs Preemptive multitasking • Most powerful form of multitasking: – OS controls when contexts switch; (cause) – OS determines what process runs next. • Cause: – interrupts, e.g., a timer, – inter-process-calls, etc. → anything that can make a process ready to run Version 0.1 Ton Kostelijk - Philips Digital 22 Systems Labs Flow of control with preemption Timer-tick TXT-slicer interrupt cause cause P1 OS P1 OS P2 time SW AnimationSW Animation TXT processing Version 0.1 Ton Kostelijk - Philips Digital 23 Systems Labs Embedded vs. general-purpose scheduling • Workstations try to avoid starving processes of CPU access. – Fairness = access to CPU. • Embedded systems must meet deadlines. – Low-priority processes may not run for a long time. Risk of starvation. Version 0.1 Ton Kostelijk - Philips Digital 24 Systems Labs Priority-driven scheduling • Each process has a priority. • CPU goes to highest-priority process that is ready. • Priorities determine scheduling policy: – fixed priority; – time-varying priorities. – round-robin scheduling in case of equal priorities Version 0.1 Ton Kostelijk - Philips Digital 25 Systems Labs Priority-based Tasks k … … Interrupt-levels 2 1 → m … Process / Thread 2 Priority 1 Version 0.1 Ton Kostelijk - Philips Digital 26 Systems Labs Priority-driven scheduling example •Rules: – each process has a fixed priority (3 = highest); – highest-priority ready process gets CPU; – process continues until done. • Processes – P1: priority 3, execution time 10 – P2: priority 2, execution time 30 – P3: priority 1, execution time 20 Version 0.1 Ton Kostelijk - Philips Digital 27 Systems Labs Priority-driven scheduling example P3 ready t=18 P2 ready t=0 P1 ready t=15 P2 P1 P2 P3 0 10 20 30 40 50 60 time Version 0.1 Ton Kostelijk - Philips Digital 28 Systems Labs Simplified model • Zero context switch time. • No data dependencies between processes. • Process execution time is constant. • Deadline is at end of period. • Highest-priority ready process runs. Version 0.1 Ton Kostelijk - Philips Digital 29 Systems Labs Earliest-deadline-first scheduling •EDF: dynamic priority scheduling scheme. • Process closest to its deadline is given highest priority. In other words: the deadlines must be available. • Requires recalculating process-priorities at every context switch-cause. Version 0.1 Ton Kostelijk - Philips Digital 30 Systems Labs Exercise: Earliest Deadline First 7KUHDG 3HULRG GHDGOLQH 3URFHVVLQJ /RDG 7KUHDG 7KUHDG 7KUHDG Suppose at t = 0, all threads are ready to process the arrived trigger. 09151823 3 Thread 1 Thread 2 Thread 3 Version 0.1 Ton Kostelijk - Philips Digital 31 Systems Labs Answer to exercise: EDF 7KUHDG 3HULRG GHDGOLQH 3URFHVVLQJ /RDG 7KUHDG 7KUHDG 7KUHDG 88.3 % 0 9 15 18 23 333 Thread 1 5 2 3 Thread 2 1 4 Thread 3 Version 0.1 Ton Kostelijk - Philips Digital 32 Systems Labs EDF evaluation • EDF can utilize 100% of CPU. • Overhead in context-switching is large. • Deadlines (not only repetition rates) must explicitly be available in the system. • Theoretically attractive, but hardly ever used. Version 0.1 Ton Kostelijk - Philips Digital 33 Systems Labs Rate-Monotonic Scheduling •RMS: static priority scheduling scheme. • Priority assignment: the shorter deadline, the higher the priority. Version 0.1 Ton Kostelijk - Philips Digital 34 Systems Labs Exercise: Rate-Monotonic S 7KUHDG 3ULRULW\ 3HULRG GHDGOLQH 3URFHVVLQJ /RDG 7KUHDG 7KUHDG 7KUHDG 88.3% Suppose at t = 0, all threads are ready to process the arrived trigger. 0 9 15 18 23 Thread 1 Thread 2 Thread 3 Version 0.1 Ton Kostelijk - Philips Digital 35 Systems Labs Answer to exercise: RMS (vs EDF) 7KUHDG 3ULRULW\ 3HULRG GHDGOLQH 3URFHVVLQJ /RDG 7KUHDG +LJK 7KUHDG 0HGLXP 7KUHDG /RZ 88.3 % 0 9 15 18 23 Thread 1 333 Thread 2 5 3 2 Thread 3 1 3 -1 ?? Version 0.1 Ton Kostelijk - Philips Digital 36 Systems Labs Answer to exercise: RMS (vs EDF) 0 9 15 18 23 Thread 1 333 5 2 3 Thread 2 Thread 3 1 4 0 9 15 18 23 Thread 1 333 Thread 2 5 3 2 Thread 3 1 3 -1 ?? Version 0.1 Ton Kostelijk - Philips Digital 37 Systems Labs RMS evaluation • RMS cannot utilize 100% = 1.0 of CPU, but for 1,2,3,4 … ∞ processes: 1.00, 0.83, 0.78, 0.76, … log 2 = 0.69.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    80 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us