Dynamic Resource Allocation for Priority Processing

Size: px
Start display at page:

Download "Dynamic Resource Allocation for Priority Processing"

Transcription

1 Dynamic Resource Allocation for Priority Processing Master Project Martijn van den Heuvel Systems Architecture and Networking (SAN) Department of Mathematics and Computer Science Eindhoven University of Technology the Netherlands 8 July 2009 Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

2 Outline 1 Introduction Scalable Video Algorithms Platform Real-time Systems Priority Processing 2 Resource Management Mechanisms Preliminary Termination Processor Allocation 3 Simulation Environment 4 Simulation Results Preliminary Termination Processor Allocation 5 Conclusions Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

3 Scalable Video Algorithms Motivation Trade-off: Quality versus Resources Reuse software modules Cost-effective Time-to-market (Porting to new platforms) By courtesy of Hentschel et. al. Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

4 Scalable Video Algorithms Motivation Trade-off: Quality versus Resources Reuse software modules Cost-effective Time-to-market (Porting to new platforms) By courtesy of Hentschel et. al. Demo 1... Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

5 Platform Definition Definition A platform, which is capable to run software components, is defined by: 1 hardware (resources) 2 programming language 3 operating system (OS) 4 runtime-libraries (provided by - or built on top of - OS) Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

6 Platform Definition Definition A platform, which is capable to run software components, is defined by: 1 hardware (resources) 2 programming language 3 operating system (OS) 4 runtime-libraries (provided by - or built on top of - OS) Note: A resource can also be a software entity! (We especially consider the processor) Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

7 Hardware Architectures Overview Current trend Desktop PC / Laptop Signal Processing Acceleration Telephone chips General Purpose DSP ASP Flexibility efficiency By example of: H. Corporaal, B.Mesman Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

8 Operating System Support 1 Abstraction provide generic concepts; handle complexity. 2 Virtualization same abstraction for multiple underlying systems; each user is provided a dedicated platform (sharing of platform). 3 Resource management sharing, protection of resources; optimize performance of resource usage. Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

9 Operating System Support 1 Abstraction provide generic concepts; handle complexity. 2 Virtualization same abstraction for multiple underlying systems; each user is provided a dedicated platform (sharing of platform). 3 Resource management sharing, protection of resources; optimize performance of resource usage. Research subject: Resource Management Mechanisms Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

10 Policy versus Mechanism Definition A policy defines how a system should behave (abstract). Definition A mechanism provides the instrument to implement the policy. Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

11 Policy versus Mechanism Definition A policy defines how a system should behave (abstract). Definition A mechanism provides the instrument to implement the policy. Example: processor sharing (scheduling) Policy:... Round Robin Assign time-slots, t s, alternating over tasks t s task 0 task 1 task 2... time Mechanism: priority based scheduling and pre-emption Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

12 Real-time Systems Definition A real-time system is a system which has to fulfill: 1 Functional correctness 2 Timeliness correctness Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

13 Real-time Systems Definition A real-time system is a system which has to fulfill: 1 Functional correctness 2 Timeliness correctness Requires Analysis! Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

14 Real-time Task Model Definition A task is a sequence of actions that must be performed Definition A job is an instantiation of a task Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

15 Real-time Task Model Definition A task is a sequence of actions that must be performed Definition A job is an instantiation of a task Properties of a real-time task: 1 Timing parameters known upfront, (i.e.: computation time, deadline); 2 Assume worst-case execution time (WCET) near to average-case execution time; 3 priority assignment. Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

16 Real-time Task Model Definition Fixed Priority Pre-emptive Scheduling means: 1 highest priority ready task will always execute 2 during runtime the scheduler can pre-empt a lower priority task in favor of a higher priority task Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

17 Real-time Task Model Definition Fixed Priority Pre-emptive Scheduling means: 1 highest priority ready task will always execute 2 during runtime the scheduler can pre-empt a lower priority task in favor of a higher priority task Example: FPS: Priority(task 0) > Priority(task 1) Task 0: Task 1: Phase: 2 Phase: 0 Period: 10 Period: 15 computation time: 6 computation time: 3 deadline = period Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

18 Video Processing Characteristics Periodic behavior with corresponding deadlines Data-dependent, highly Fluctuating Load Time for deinterlacing a frame (576x720) VQEG source Time(seconds) Number of processed frames WCET NOT near to average case Classical real-time approach leads to over- and under-utilization of (processor) resources. Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

19 Quality Priority Processing Concept prel. termination 100% Basic Quality (0%) 1. Basic: simple and fast output at low quality; 2. Analysis: Sort video content in order of importance; Basic Analyse Enhance time 3. Enhance: Process video content according to sorted order; Termination is allowed after a basic output is available. Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

20 Quality Priority Processing Concept prel. termination 100% Basic Quality (0%) 1. Basic: simple and fast output at low quality; 2. Analysis: Sort video content in order of importance; Basic Analyse Enhance time 3. Enhance: Process video content according to sorted order; Termination is allowed after a basic output is available. Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

21 Priority Processing - Overload Definition Overload: A task s computation time exceeds the deadline t a t d basic scalable Period (T i ) D i = T i preliminary termination time (t) Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

22 Priority Processing - Overload Definition Overload: A task s computation time exceeds the deadline t a t d basic scalable Period (T i ) D i = T i preliminary termination time (t) Required: Mechanism for preliminary termination Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

23 Priority Processing - Gain-time Definition Gain-time: Assigned, but unused processor resources becoming available for other tasks t a Gain-time t d basic scalable Period (T i ) D i = T i time (t) Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

24 Priority Processing - Gain-time Definition Gain-time: Assigned, but unused processor resources becoming available for other tasks t a Gain-time t d basic scalable Period (T i ) D i = T i time (t) Desired: Mechanism allowing gain-time consumption Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

25 Priority Processing - Competing Algorithms Multiple independent algorithms share a single processor Divide period in fixed-size quanta, e.g. time-slots t s Decision Scheduler divides time-slots: t a t d time(t) time(t) t s period(t ) Algorithm 1 Algorithm 2 Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

26 Priority Processing - Competing Algorithms Multiple independent algorithms share a single processor Divide period in fixed-size quanta, e.g. time-slots t s Decision Scheduler divides time-slots: t a t d time(t) time(t) t s period(t ) Algorithm 1 Algorithm 2 Hence: Dynamic Allocation Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

27 Priority Processing - Competing Algorithms Multiple independent algorithms share a single processor Divide period in fixed-size quanta, e.g. time-slots t s Decision Scheduler divides time-slots: t a t d time(t) t s period(t ) time(t) Algorithm 1 Algorithm 2 Required: Accounting of time on time-slot scale Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

28 Priority Processing - Competing Algorithms Multiple independent algorithms share a single processor Divide period in fixed-size quanta, e.g. time-slots t s Decision Scheduler divides time-slots: t a t d time(t) t s period(t ) time(t) Algorithm 1 Algorithm 2 Required: Accounting of time on time-slot scale Demo 2... Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

29 Outline 1 Introduction Scalable Video Algorithms Platform Real-time Systems Priority Processing 2 Resource Management Mechanisms Preliminary Termination Processor Allocation 3 Simulation Environment 4 Simulation Results Preliminary Termination Processor Allocation 5 Conclusions Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

30 System Support Application Level Priority Processing Architecture (1/2) Scalable Priority Processing Algorithm 1 progress budget Scalable Priority Processing Algorithm 2 Decision Scheduler progress budget uses Resource Management Platform Decision scheduler aims at maximizing total progress of algorithms Decision Scheduler defines a scheduling policy, e.g. based on Reinforcement Learning or Round Robin Focus is on mechanisms to support (optimize) the decision scheduler Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

31 System Support Application Level Priority Processing Architecture (2/2) Scalable Priority Processing Algorithm 1 progress budget Scalable Priority Processing Algorithm 2 Decision Scheduler progress budget Resource Management Platform uses Distribution of Responsibilities: Application Specific (Policy) System Support (Mechanism) Roll-forward when deadline reached Resource distribution (Reinforcement Learning policy) Monitor Progress values Preliminary termination Allocation of processor (Scheduling) Account consumed time (time-slots) Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

32 Resource Management Mechanisms Goal: Share processor resources among competing priority processing algorithms as efficient as possible. Compare performance of different implementations for the mechanisms: 1 Preliminary Termination 2 Processor Allocation Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

33 Resource Management Mechanisms Goal: Share processor resources among competing priority processing algorithms as efficient as possible. Compare performance of different implementations for the mechanisms: 1 Preliminary Termination 2 Processor Allocation Note: Accounting is missing and left for discussion. Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

34 Preliminary Termination Terminate all jobs when deadline is reached: 1 Cooperative termination (polling): Decision Scheduler sets a flag when the deadline expires; Algorithms check on regular intervals for deadline expiration. 1 w h i l e (! endofframe and! d e a d l i n e E x p i r e d ) 2 p r o c e s s N e x t B l o c k ( ) ; Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

35 Preliminary Termination Terminate all jobs when deadline is reached: 1 Cooperative termination (polling): Decision Scheduler sets a flag when the deadline expires; Algorithms check on regular intervals for deadline expiration. 1 w h i l e (! endofframe and! d e a d l i n e E x p i r e d ) 2 p r o c e s s N e x t B l o c k ( ) ; 2 A-synchronous signalling: Decision Scheduler sends a signal causing all algorithms to preliminary terminate jobs Control Signal Alg. 1 proceed with next frame Signal handler terminatejob(); Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

36 Processor Allocation Dynamically Allocate Processor Resources: 1 Suspend-resume tasks: Suspend only in favor of others! Resume t activate t deadline Suspend t s period(t ) time(t) Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

37 Processor Allocation Dynamically Allocate Processor Resources: 1 Suspend-resume tasks: Suspend only in favor of others! Resume t activate t deadline Suspend t s period(t ) 2 Manipulate priorities: Substitute: suspend assign low priority resume assign high priority Low priority tasks can use gain-time. time(t) Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

38 Outline 1 Introduction Scalable Video Algorithms Platform Real-time Systems Priority Processing 2 Resource Management Mechanisms Preliminary Termination Processor Allocation 3 Simulation Environment 4 Simulation Results Preliminary Termination Processor Allocation 5 Conclusions Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

39 Simulation Environment Priority Processing Applications are prototyped using: Matlab-Simulink (version 2007b) Microsoft Windows XP: use Fixed Priority Scheduler (FPS) administrator privileges required Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

40 Simulation Environment Priority Processing Applications are prototyped using: Matlab-Simulink (version 2007b) Microsoft Windows XP: use Fixed Priority Scheduler (FPS) administrator privileges required General Purpose Multi-core machine: Scalable Video Algorithms Decision Scheduler Matlab environment (extract results from simulation) Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

41 Simulation Environment Priority Processing Applications are prototyped using: Matlab-Simulink (version 2007b) Microsoft Windows XP: use Fixed Priority Scheduler (FPS) administrator privileges required General Purpose Multi-core machine: Scalable Video Algorithms Decision Scheduler Matlab environment (extract results from simulation) Video sequences from VQEG Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

42 Outline 1 Introduction Scalable Video Algorithms Platform Real-time Systems Priority Processing 2 Resource Management Mechanisms Preliminary Termination Processor Allocation 3 Simulation Environment 4 Simulation Results Preliminary Termination Processor Allocation 5 Conclusions Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

43 Preliminary Termination - Overhead Computational Overhead of polling-based mechanisms: Relative Computation Time (% add. time) Polling overhead for scalable deinterlacer (VQEG source 6) Pixel-based polling Block-based polling Number of processed frames Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

44 Preliminary Termination - Overhead Computational Overhead of polling-based mechanisms: Relative Computation Time (% add. time) Polling overhead for scalable deinterlacer (VQEG source 6) Pixel-based polling Block-based polling Number of processed frames Conclusion: Polling causes small overhead on general purpose machines. Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

45 Preliminary Termination - Latency (1/2) Polling based termination latencies: Latency(µs) Termination latency for deinterlacer (VQEG src6) 60 Latency (dl = 60 ms) Number of processed frames Latency(µs) Termination Latency for deinterlacer (VQEG src6) 60 Latency (dl = 60 ms) Number of processed frames Block-based polling Pixel-based polling Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

46 Preliminary Termination - Latency (1/2) Polling based termination latencies: Latency(µs) Termination latency for deinterlacer (VQEG src6) 60 Latency (dl = 60 ms) Number of processed frames Latency(µs) Termination Latency for deinterlacer (VQEG src6) 60 Latency (dl = 60 ms) Number of processed frames Block-based polling Pixel-based polling Conclusion: Lowerbound on latency due to OS overhead. Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

47 Preliminary Termination - Latency (2/2) Termination latencies (comparison on Linux platform): Termination latency for deinterlacer (VQEG src6) Per block flag polling Per pixel flag polling Signalling 120 Latency(µs) Progress value (% of processed blocks) Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

48 Preliminary Termination - Latency (2/2) Termination latencies (comparison on Linux platform): Termination latency for deinterlacer (VQEG src6) Per block flag polling Per pixel flag polling Signalling 120 Latency(µs) Progress value (% of processed blocks) Recommendation: Use block-based polling on general purpose machines Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

49 Processor Allocation - Gain-time How suitable is Priority Processing for gain-time consumption? 1 Use Round Robin policy within Decision Scheduler 2 Non-optimal scheduling (leaving gain-time) Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

50 Processor Allocation - Gain-time How suitable is Priority Processing for gain-time consumption? 1 Use Round Robin policy within Decision Scheduler 2 Non-optimal scheduling (leaving gain-time) Priority Manipulation vs. Suspend/Resume using RR Relative Gain (% processed blocks) Period(ms) Enhancement Filter Deinterlacer Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

51 Processor Allocation - Gain-time How suitable is Priority Processing for gain-time consumption? 1 Use Round Robin policy within Decision Scheduler 2 Non-optimal scheduling (leaving gain-time) Priority Manipulation vs. Suspend/Resume using RR Relative Gain (% processed blocks) Period(ms) Enhancement Filter Deinterlacer Conclusion: Priority manipulation allows gain-time consumption Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

52 Optimized Control 1 Use block-based polling 2 Use Windows FPS 3 Reduced context-switching 4 Allow gain-time consumption Relative Gain (% processed blocks) Priority Manipulation vs. Suspend/Resume using RL Period(ms) Enhancement Filter Deinterlacer Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

53 Optimized Control 1 Use block-based polling 2 Use Windows FPS 3 Reduced context-switching 4 Allow gain-time consumption Relative Gain (% processed blocks) Priority Manipulation vs. Suspend/Resume using RL Period(ms) Enhancement Filter Deinterlacer Conclusion: Significant improvement by reducing control overhead Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

54 Outline 1 Introduction Scalable Video Algorithms Platform Real-time Systems Priority Processing 2 Resource Management Mechanisms Preliminary Termination Processor Allocation 3 Simulation Environment 4 Simulation Results Preliminary Termination Processor Allocation 5 Conclusions Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

55 Conclusions Identification of 3 mechanisms for dynamic resource allocation: 1 Preliminary termination: Most platforms, including Windows, do not support signalling Polling is preferred (trade-off granularity) Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

56 Conclusions Identification of 3 mechanisms for dynamic resource allocation: 1 Preliminary termination: Most platforms, including Windows, do not support signalling Polling is preferred (trade-off granularity) 2 Processor allocation: Reduced context-switching Priority manipulation allows gain-time consumption Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

57 Conclusions Identification of 3 mechanisms for dynamic resource allocation: 1 Preliminary termination: Most platforms, including Windows, do not support signalling Polling is preferred (trade-off granularity) 2 Processor allocation: Reduced context-switching Priority manipulation allows gain-time consumption 3 Accounting: On a time-slot scale Relies on availability of high-resolution timers Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

58 Conclusions Identification of 3 mechanisms for dynamic resource allocation: 1 Preliminary termination: Most platforms, including Windows, do not support signalling Polling is preferred (trade-off granularity) 2 Processor allocation: Reduced context-switching Priority manipulation allows gain-time consumption 3 Accounting: On a time-slot scale Relies on availability of high-resolution timers Open challenges: 1 Optimize processor utilization: Overhead caused by interference of simulation environment Optimize memory management 2 Mapping on embedded platform (real-time environment) Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

59 References L. F. Bic and A. C. Shaw. Operating Systems Principles. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, C. Hentschel and S. Schiemenz. Priority-processing for optimized real-time performance with limited processing resources. International Conference on Consumer Electronics (ICCE), Digest of Technical Papers., Jan S. Schiemenz. Echtzeitsteuerung von skalierbaren Priority-Processing Algorithmen. Tagungsband ITG Fachtagung - Elektronische Medien, pages , March Martijn van den Heuvel (TU/e, SAN) Dynamic Resource Allocation 8 July / 34

Dynamic Resource Allocation for Priority Processing

Dynamic Resource Allocation for Priority Processing Dynamic Resource Allocation for Priority Processing Master Project Martijn van den Heuvel m.m.h.p.v.d.heuvel@student.tue.nl Systems Architecture and Networking (SAN) Department of Mathematics and Computer

More information

Dynamic resource allocation for real-time priority processing applications van den Heuvel, M.M.H.P.; Bril, R.J.; Schiemenz, S.; Hentschel, C.

Dynamic resource allocation for real-time priority processing applications van den Heuvel, M.M.H.P.; Bril, R.J.; Schiemenz, S.; Hentschel, C. Dynamic resource allocation for real-time priority processing applications van den Heuvel, M.M.H.P.; Bril, R.J.; Schiemenz, S.; Hentschel, C. Published in: IEEE Transactions on Consumer Electronics DOI:

More information

SMD149 - Operating Systems

SMD149 - Operating Systems SMD149 - Operating Systems Roland Parviainen November 3, 2005 1 / 45 Outline Overview 2 / 45 Process (tasks) are necessary for concurrency Instance of a program in execution Next invocation of the program

More information

NuttX Realtime Programming

NuttX Realtime Programming NuttX RTOS NuttX Realtime Programming Gregory Nutt Overview Interrupts Cooperative Scheduling Tasks Work Queues Realtime Schedulers Real Time == == Deterministic Response Latency Stimulus Response Deadline

More information

Implementing Scheduling Algorithms. Real-Time and Embedded Systems (M) Lecture 9

Implementing Scheduling Algorithms. Real-Time and Embedded Systems (M) Lecture 9 Implementing Scheduling Algorithms Real-Time and Embedded Systems (M) Lecture 9 Lecture Outline Implementing real time systems Key concepts and constraints System architectures: Cyclic executive Microkernel

More information

Lecture Topics. Announcements. Today: Uniprocessor Scheduling (Stallings, chapter ) Next: Advanced Scheduling (Stallings, chapter

Lecture Topics. Announcements. Today: Uniprocessor Scheduling (Stallings, chapter ) Next: Advanced Scheduling (Stallings, chapter Lecture Topics Today: Uniprocessor Scheduling (Stallings, chapter 9.1-9.3) Next: Advanced Scheduling (Stallings, chapter 10.1-10.4) 1 Announcements Self-Study Exercise #10 Project #8 (due 11/16) Project

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2017 Lecture 10 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 Chapter 6: CPU Scheduling Basic Concepts

More information

GLOSSARY. VisualDSP++ Kernel (VDK) User s Guide B-1

GLOSSARY. VisualDSP++ Kernel (VDK) User s Guide B-1 B GLOSSARY Application Programming Interface (API) A library of C/C++ functions and assembly macros that define VDK services. These services are essential for kernel-based application programs. The services

More information

OPERATING SYSTEMS CS3502 Spring Processor Scheduling. Chapter 5

OPERATING SYSTEMS CS3502 Spring Processor Scheduling. Chapter 5 OPERATING SYSTEMS CS3502 Spring 2018 Processor Scheduling Chapter 5 Goals of Processor Scheduling Scheduling is the sharing of the CPU among the processes in the ready queue The critical activities are:

More information

Operating System Concepts Ch. 5: Scheduling

Operating System Concepts Ch. 5: Scheduling Operating System Concepts Ch. 5: Scheduling Silberschatz, Galvin & Gagne Scheduling In a multi-programmed system, multiple processes may be loaded into memory at the same time. We need a procedure, or

More information

Task Scheduling of Real- Time Media Processing with Hardware-Assisted Virtualization Heikki Holopainen

Task Scheduling of Real- Time Media Processing with Hardware-Assisted Virtualization Heikki Holopainen Task Scheduling of Real- Time Media Processing with Hardware-Assisted Virtualization Heikki Holopainen Aalto University School of Electrical Engineering Degree Programme in Communications Engineering Supervisor:

More information

Subject Name: OPERATING SYSTEMS. Subject Code: 10EC65. Prepared By: Kala H S and Remya R. Department: ECE. Date:

Subject Name: OPERATING SYSTEMS. Subject Code: 10EC65. Prepared By: Kala H S and Remya R. Department: ECE. Date: Subject Name: OPERATING SYSTEMS Subject Code: 10EC65 Prepared By: Kala H S and Remya R Department: ECE Date: Unit 7 SCHEDULING TOPICS TO BE COVERED Preliminaries Non-preemptive scheduling policies Preemptive

More information

Operating Systems. Lecture Process Scheduling. Golestan University. Hossein Momeni

Operating Systems. Lecture Process Scheduling. Golestan University. Hossein Momeni Operating Systems Lecture 2.2 - Process Scheduling Golestan University Hossein Momeni momeni@iust.ac.ir Scheduling What is scheduling? Goals Mechanisms Scheduling on batch systems Scheduling on interactive

More information

Comparison of scheduling in RTLinux and QNX. Andreas Lindqvist, Tommy Persson,

Comparison of scheduling in RTLinux and QNX. Andreas Lindqvist, Tommy Persson, Comparison of scheduling in RTLinux and QNX Andreas Lindqvist, andli299@student.liu.se Tommy Persson, tompe015@student.liu.se 19 November 2006 Abstract The purpose of this report was to learn more about

More information

Process Scheduling Part 2

Process Scheduling Part 2 Operating Systems and Computer Networks Process Scheduling Part 2 pascal.klein@uni-due.de Alexander Maxeiner, M.Sc. Faculty of Engineering Agenda Process Management Time Sharing Synchronization of Processes

More information

An Improved Priority Dynamic Quantum Time Round-Robin Scheduling Algorithm

An Improved Priority Dynamic Quantum Time Round-Robin Scheduling Algorithm An Improved Priority Dynamic Quantum Time Round-Robin Scheduling Algorithm Nirali A. Patel PG Student, Information Technology, L.D. College Of Engineering,Ahmedabad,India ABSTRACT In real-time embedded

More information

Scheduling - Overview

Scheduling - Overview Scheduling - Overview Quick review of textbook scheduling Linux 2.4 scheduler implementation overview Linux 2.4 scheduler code Modified Linux 2.4 scheduler Linux 2.6 scheduler comments Possible Goals of

More information

Scheduling Algorithm and Analysis

Scheduling Algorithm and Analysis Scheduling Algorithm and Analysis Model and Cyclic Scheduling (Module 27) Yann-Hang Lee Arizona State University yhlee@asu.edu (480) 727-7507 Summer 2014 Task Scheduling Schedule: to determine which task

More information

A Predictable RTOS. Mantis Cheng Department of Computer Science University of Victoria

A Predictable RTOS. Mantis Cheng Department of Computer Science University of Victoria A Predictable RTOS Mantis Cheng Department of Computer Science University of Victoria Outline I. Analysis of Timeliness Requirements II. Analysis of IO Requirements III. Time in Scheduling IV. IO in Scheduling

More information

CPU Scheduling. Operating Systems (Fall/Winter 2018) Yajin Zhou ( Zhejiang University

CPU Scheduling. Operating Systems (Fall/Winter 2018) Yajin Zhou (  Zhejiang University Operating Systems (Fall/Winter 2018) CPU Scheduling Yajin Zhou (http://yajin.org) Zhejiang University Acknowledgement: some pages are based on the slides from Zhi Wang(fsu). Review Motivation to use threads

More information

Real-time Support in Operating Systems

Real-time Support in Operating Systems Real-time Support in Operating Systems Colin Perkins teaching/2003-2004/rtes4/lecture11.pdf Lecture Outline Overview of the rest of the module Real-time support in operating systems Overview of concepts

More information

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition Chapter 6: CPU Scheduling Silberschatz, Galvin and Gagne 2013 Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Real-Time

More information

AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel. Alexander Züpke, Marc Bommert, Daniel Lohmann

AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel. Alexander Züpke, Marc Bommert, Daniel Lohmann AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel Alexander Züpke, Marc Bommert, Daniel Lohmann alexander.zuepke@hs-rm.de, marc.bommert@hs-rm.de, lohmann@cs.fau.de Motivation Automotive and Avionic industry

More information

Department of Computer Science Institute for System Architecture, Operating Systems Group REAL-TIME MICHAEL ROITZSCH OVERVIEW

Department of Computer Science Institute for System Architecture, Operating Systems Group REAL-TIME MICHAEL ROITZSCH OVERVIEW Department of Computer Science Institute for System Architecture, Operating Systems Group REAL-TIME MICHAEL ROITZSCH OVERVIEW 2 SO FAR talked about in-kernel building blocks: threads memory IPC drivers

More information

Scheduling. The Basics

Scheduling. The Basics The Basics refers to a set of policies and mechanisms to control the order of work to be performed by a computer system. Of all the resources in a computer system that are scheduled before use, the CPU

More information

Concurrent Programming. Implementation Alternatives. Content. Real-Time Systems, Lecture 2. Historical Implementation Alternatives.

Concurrent Programming. Implementation Alternatives. Content. Real-Time Systems, Lecture 2. Historical Implementation Alternatives. Content Concurrent Programming Real-Time Systems, Lecture 2 [Real-Time Control System: Chapter 3] 1. Implementation Alternatives Martina Maggio 19 January 2017 Lund University, Department of Automatic

More information

Operating Systems Design Fall 2010 Exam 1 Review. Paul Krzyzanowski

Operating Systems Design Fall 2010 Exam 1 Review. Paul Krzyzanowski Operating Systems Design Fall 2010 Exam 1 Review Paul Krzyzanowski pxk@cs.rutgers.edu 1 Question 1 To a programmer, a system call looks just like a function call. Explain the difference in the underlying

More information

Concurrent Programming

Concurrent Programming Concurrent Programming Real-Time Systems, Lecture 2 Martina Maggio 19 January 2017 Lund University, Department of Automatic Control www.control.lth.se/course/frtn01 Content [Real-Time Control System: Chapter

More information

CSCI-GA Operating Systems Lecture 3: Processes and Threads -Part 2 Scheduling Hubertus Franke

CSCI-GA Operating Systems Lecture 3: Processes and Threads -Part 2 Scheduling Hubertus Franke CSCI-GA.2250-001 Operating Systems Lecture 3: Processes and Threads -Part 2 Scheduling Hubertus Franke frankeh@cs.nyu.edu Processes Vs Threads The unit of dispatching is referred to as a thread or lightweight

More information

Hardware/Software Codesign of Schedulers for Real Time Systems

Hardware/Software Codesign of Schedulers for Real Time Systems Hardware/Software Codesign of Schedulers for Real Time Systems Jorge Ortiz Committee David Andrews, Chair Douglas Niehaus Perry Alexander Presentation Outline Background Prior work in hybrid co-design

More information

Concurrent activities in daily life. Real world exposed programs. Scheduling of programs. Tasks in engine system. Engine system

Concurrent activities in daily life. Real world exposed programs. Scheduling of programs. Tasks in engine system. Engine system Real world exposed programs Programs written to interact with the real world, outside the computer Programs handle input and output of data in pace matching the real world processes Necessitates ability

More information

PBS PROFESSIONAL VS. MICROSOFT HPC PACK

PBS PROFESSIONAL VS. MICROSOFT HPC PACK PBS PROFESSIONAL VS. MICROSOFT HPC PACK On the Microsoft Windows Platform PBS Professional offers many features which are not supported by Microsoft HPC Pack. SOME OF THE IMPORTANT ADVANTAGES OF PBS PROFESSIONAL

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2019 Lecture 8 Scheduling Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ POSIX: Portable Operating

More information

Real-Time Mixed-Criticality Wormhole Networks

Real-Time Mixed-Criticality Wormhole Networks eal-time Mixed-Criticality Wormhole Networks Leandro Soares Indrusiak eal-time Systems Group Department of Computer Science University of York United Kingdom eal-time Systems Group 1 Outline Wormhole Networks

More information

Micrium µc/os II RTOS Introduction EE J. E. Lumpp

Micrium µc/os II RTOS Introduction EE J. E. Lumpp Micrium µc/os II RTOS Introduction (by Jean Labrosse) EE599 001 Fall 2012 J. E. Lumpp μc/os II μc/os II is a highly portable, ROMable, very scalable, preemptive real time, deterministic, multitasking kernel

More information

REAL-TIME MULTITASKING KERNEL FOR IBM-BASED MICROCOMPUTERS

REAL-TIME MULTITASKING KERNEL FOR IBM-BASED MICROCOMPUTERS Malaysian Journal of Computer Science, Vol. 9 No. 1, June 1996, pp. 12-17 REAL-TIME MULTITASKING KERNEL FOR IBM-BASED MICROCOMPUTERS Mohammed Samaka School of Computer Science Universiti Sains Malaysia

More information

Resource Management IB Computer Science. Content developed by Dartford Grammar School Computer Science Department

Resource Management IB Computer Science. Content developed by Dartford Grammar School Computer Science Department Resource Management IB Computer Science Content developed by Dartford Grammar School Computer Science Department HL Topics 1-7, D1-4 1: System design 2: Computer Organisation 3: Networks 4: Computational

More information

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory Commercial Real-time Operating Systems An Introduction Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory swamis@iastate.edu Outline Introduction RTOS Issues and functionalities LynxOS

More information

Operating Systems 2010/2011

Operating Systems 2010/2011 Operating Systems 2010/2011 Introduction Johan Lukkien 1 Agenda OS: place in the system Some common notions Motivation & OS tasks Extra-functional requirements Course overview Read chapters 1 + 2 2 A computer

More information

Thanks to... Composing and synchronizing real-time components through virtual platforms in vehicular systems

Thanks to... Composing and synchronizing real-time components through virtual platforms in vehicular systems Thanks to... Composing and synchronizing real-time components through virtual platforms in vehicular systems Promotor and co-promotor: Prof. Johan J. Lukkien Dr. Reinder J. Bril Martijn van den Heuvel

More information

Implementing Sporadic Servers in Ada

Implementing Sporadic Servers in Ada Technical Report CMU/SEI-90-TR-6 ESD-90-TR-207 Implementing Sporadic Servers in Ada Brinkley Sprunt Lui Sha May 1990 Technical Report CMU/SEI-90-TR-6 ESD-90-TR-207 May 1990 Implementing Sporadic Servers

More information

Reservation-Based Scheduling for IRQ Threads

Reservation-Based Scheduling for IRQ Threads Reservation-Based Scheduling for IRQ Threads Luca Abeni, Nicola Manica, Luigi Palopoli luca.abeni@unitn.it, nicola.manica@gmail.com, palopoli@dit.unitn.it University of Trento, Trento - Italy Reservation-Based

More information

Efficient Event-Triggered Tasks in an RTOS

Efficient Event-Triggered Tasks in an RTOS Efficient Event-Triggered Tasks in an RTOS Kaj Hänninen 1,2, John Lundbäck 2, Kurt-Lennart Lundbäck 2, Jukka Mäki-Turja 1, Mikael Nolin 1 1 Mälardalen Real-Time Research Centre, Västerås Sweden 2 Arcticus-Systems,

More information

Preliminary design and validation of a modular framework for predictable composition of medical imaging applications

Preliminary design and validation of a modular framework for predictable composition of medical imaging applications Preliminary design and validation of a modular framework for predictable composition of medical imaging applications 7 th July 2015 Martijn van den Heuvel S.C. Cracana H. Salunkhe J.J. Lukkien A. Lele

More information

International Journal of Advanced Research in Computer Science and Software Engineering

International Journal of Advanced Research in Computer Science and Software Engineering Volume 3, Issue 4, April 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Reducing the Number

More information

Operating Systems CMPSCI 377 Spring Mark Corner University of Massachusetts Amherst

Operating Systems CMPSCI 377 Spring Mark Corner University of Massachusetts Amherst Operating Systems CMPSCI 377 Spring 2017 Mark Corner University of Massachusetts Amherst Multilevel Feedback Queues (MLFQ) Multilevel feedback queues use past behavior to predict the future and assign

More information

3.1 Introduction. Computers perform operations concurrently

3.1 Introduction. Computers perform operations concurrently PROCESS CONCEPTS 1 3.1 Introduction Computers perform operations concurrently For example, compiling a program, sending a file to a printer, rendering a Web page, playing music and receiving e-mail Processes

More information

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document. ARM Cortex-M3 CCS

CODE TIME TECHNOLOGIES. Abassi RTOS. Porting Document. ARM Cortex-M3 CCS CODE TIME TECHNOLOGIES Abassi RTOS Porting Document ARM Cortex-M3 CCS Copyright Information This document is copyright Code Time Technologies Inc. 2011,2012. All rights reserved. No part of this document

More information

CISC 7310X. C05: CPU Scheduling. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 3/1/2018 CUNY Brooklyn College

CISC 7310X. C05: CPU Scheduling. Hui Chen Department of Computer & Information Science CUNY Brooklyn College. 3/1/2018 CUNY Brooklyn College CISC 7310X C05: CPU Scheduling Hui Chen Department of Computer & Information Science CUNY Brooklyn College 3/1/2018 CUNY Brooklyn College 1 Outline Recap & issues CPU Scheduling Concepts Goals and criteria

More information

ECE 477 Digital Systems Senior Design Project. Module 10 Embedded Software Development

ECE 477 Digital Systems Senior Design Project. Module 10 Embedded Software Development 2011 by D. G. Meyer ECE 477 Digital Systems Senior Design Project Module 10 Embedded Software Development Outline Memory Models Memory Sections Discussion Application Code Organization Memory Models -

More information

Process- Concept &Process Scheduling OPERATING SYSTEMS

Process- Concept &Process Scheduling OPERATING SYSTEMS OPERATING SYSTEMS Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne PROCESS MANAGEMENT Current day computer systems allow multiple

More information

Aperiodic Servers (Issues)

Aperiodic Servers (Issues) Aperiodic Servers (Issues) Interference Causes more interference than simple periodic tasks Increased context switching Cache interference Accounting Context switch time Again, possibly more context switches

More information

Efficient Throughput-Guarantees for Latency-Sensitive Networks-On-Chip

Efficient Throughput-Guarantees for Latency-Sensitive Networks-On-Chip ASP-DAC 2010 20 Jan 2010 Session 6C Efficient Throughput-Guarantees for Latency-Sensitive Networks-On-Chip Jonas Diemer, Rolf Ernst TU Braunschweig, Germany diemer@ida.ing.tu-bs.de Michael Kauschke Intel,

More information

Simulating a Multicore Scheduler of Real-Time Control Systems in Simulink

Simulating a Multicore Scheduler of Real-Time Control Systems in Simulink Simulating a Multicore Scheduler of Real-Time Control Systems in Simulink Wei Li, Ramamurthy Mani, Pieter J Mosterman, and Teresa Hubscher-Younger MathWorks 4 Apple Hill Drive, Natick MA 01760, USA {Wei.Li,

More information

Lecture 3: Concurrency & Tasking

Lecture 3: Concurrency & Tasking Lecture 3: Concurrency & Tasking 1 Real time systems interact asynchronously with external entities and must cope with multiple threads of control and react to events - the executing programs need to share

More information

Announcements. Program #1. Reading. Due 2/15 at 5:00 pm. Finish scheduling Process Synchronization: Chapter 6 (8 th Ed) or Chapter 7 (6 th Ed)

Announcements. Program #1. Reading. Due 2/15 at 5:00 pm. Finish scheduling Process Synchronization: Chapter 6 (8 th Ed) or Chapter 7 (6 th Ed) Announcements Program #1 Due 2/15 at 5:00 pm Reading Finish scheduling Process Synchronization: Chapter 6 (8 th Ed) or Chapter 7 (6 th Ed) 1 Scheduling criteria Per processor, or system oriented CPU utilization

More information

Subject Name:Operating system. Subject Code:10EC35. Prepared By:Remya Ramesan and Kala H.S. Department:ECE. Date:

Subject Name:Operating system. Subject Code:10EC35. Prepared By:Remya Ramesan and Kala H.S. Department:ECE. Date: Subject Name:Operating system Subject Code:10EC35 Prepared By:Remya Ramesan and Kala H.S. Department:ECE Date:24-02-2015 UNIT 1 INTRODUCTION AND OVERVIEW OF OPERATING SYSTEM Operating system, Goals of

More information

Dr. D. M. Akbar Hussain DE5 Department of Electronic Systems

Dr. D. M. Akbar Hussain DE5 Department of Electronic Systems Process /Task 1 Process Management Creation & termination of processes (user + System) Interleaving the execution of processes Scheduling of processes Synchronization mechanism between processes Communication

More information

Asynchronous Events on Linux

Asynchronous Events on Linux Asynchronous Events on Linux Frederic.Rossi@Ericsson.CA Open System Lab Systems Research June 25, 2002 Ericsson Research Canada Introduction Linux performs well as a general purpose OS but doesn t satisfy

More information

EMBEDDED OPERATING SYSTEMS

EMBEDDED OPERATING SYSTEMS EMBEDDED OPERATING SYSTEMS Embedded Operating Systems Requirements Real-time OSes General requirements Scheduling, task switching, and I/O Require the support of an OS for embedded applications Some very

More information

PROCESS SCHEDULING Operating Systems Design Euiseong Seo

PROCESS SCHEDULING Operating Systems Design Euiseong Seo PROCESS SCHEDULING 2017 Operating Systems Design Euiseong Seo (euiseong@skku.edu) Histogram of CPU Burst Cycles Alternating Sequence of CPU and IO Processor Scheduling Selects from among the processes

More information

PROBABILISTIC SCHEDULING MICHAEL ROITZSCH

PROBABILISTIC SCHEDULING MICHAEL ROITZSCH Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group PROBABILISTIC SCHEDULING MICHAEL ROITZSCH DESKTOP REAL-TIME 2 PROBLEM worst case execution time (WCET) largely exceeds

More information

Operating Systems Unit 6. Memory Management

Operating Systems Unit 6. Memory Management Unit 6 Memory Management Structure 6.1 Introduction Objectives 6.2 Logical versus Physical Address Space 6.3 Swapping 6.4 Contiguous Allocation Single partition Allocation Multiple Partition Allocation

More information

Building a Fast, Virtualized Data Plane with Programmable Hardware. Bilal Anwer Nick Feamster

Building a Fast, Virtualized Data Plane with Programmable Hardware. Bilal Anwer Nick Feamster Building a Fast, Virtualized Data Plane with Programmable Hardware Bilal Anwer Nick Feamster 1 Network Virtualization Network virtualization enables many virtual networks to share the same physical network

More information

Embedded Systems: Hardware Components (part II) Todor Stefanov

Embedded Systems: Hardware Components (part II) Todor Stefanov Embedded Systems: Hardware Components (part II) Todor Stefanov Leiden Embedded Research Center, Leiden Institute of Advanced Computer Science Leiden University, The Netherlands Outline Generic Embedded

More information

CSCE Operating Systems Scheduling. Qiang Zeng, Ph.D. Fall 2018

CSCE Operating Systems Scheduling. Qiang Zeng, Ph.D. Fall 2018 CSCE 311 - Operating Systems Scheduling Qiang Zeng, Ph.D. Fall 2018 Resource Allocation Graph describing the traffic jam CSCE 311 - Operating Systems 2 Conditions for Deadlock Mutual Exclusion Hold-and-Wait

More information

Implementing Task Schedulers (1) Real-Time and Embedded Systems (M) Lecture 10

Implementing Task Schedulers (1) Real-Time and Embedded Systems (M) Lecture 10 Implementing Task Schedulers (1) Real-Time and Embedded Systems (M) Lecture 10 Lecture Outline Implementing priority scheduling: Tasks, threads and queues Building a priority scheduler Fixed priority scheduling

More information

Scheduling. Scheduling 1/51

Scheduling. Scheduling 1/51 Scheduling 1/51 Scheduler Scheduling Scheduler allocates cpu(s) to threads and processes. This action is known as scheduling. The scheduler is a part of the process manager code that handles scheduling.

More information

Introduction to Embedded Systems

Introduction to Embedded Systems Introduction to Embedded Systems Sanjit A. Seshia UC Berkeley EECS 9/9A Fall 0 008-0: E. A. Lee, A. L. Sangiovanni-Vincentelli, S. A. Seshia. All rights reserved. Chapter : Operating Systems, Microkernels,

More information

Operating Systems. Introduction & Overview. Outline for today s lecture. Administrivia. ITS 225: Operating Systems. Lecture 1

Operating Systems. Introduction & Overview. Outline for today s lecture. Administrivia. ITS 225: Operating Systems. Lecture 1 ITS 225: Operating Systems Operating Systems Lecture 1 Introduction & Overview Jan 15, 2004 Dr. Matthew Dailey Information Technology Program Sirindhorn International Institute of Technology Thammasat

More information

ParalleX. A Cure for Scaling Impaired Parallel Applications. Hartmut Kaiser

ParalleX. A Cure for Scaling Impaired Parallel Applications. Hartmut Kaiser ParalleX A Cure for Scaling Impaired Parallel Applications Hartmut Kaiser (hkaiser@cct.lsu.edu) 2 Tianhe-1A 2.566 Petaflops Rmax Heterogeneous Architecture: 14,336 Intel Xeon CPUs 7,168 Nvidia Tesla M2050

More information

Embedded Systems. 5. Operating Systems. Lothar Thiele. Computer Engineering and Networks Laboratory

Embedded Systems. 5. Operating Systems. Lothar Thiele. Computer Engineering and Networks Laboratory Embedded Systems 5. Operating Systems Lothar Thiele Computer Engineering and Networks Laboratory Embedded Operating Systems 5 2 Embedded Operating System (OS) Why an operating system (OS) at all? Same

More information

CPU Scheduling. Schedulers. CPSC 313: Intro to Computer Systems. Intro to Scheduling. Schedulers in the OS

CPU Scheduling. Schedulers. CPSC 313: Intro to Computer Systems. Intro to Scheduling. Schedulers in the OS Schedulers in the OS Scheduling Structure of a Scheduler Scheduling = Selection + Dispatching Criteria for scheduling Scheduling Algorithms FIFO/FCFS SPF / SRTF Priority - Based Schedulers start long-term

More information

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective. Part I: Operating system overview: Processes and threads

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective. Part I: Operating system overview: Processes and threads ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective Part I: Operating system overview: Processes and threads 1 Overview Process concept Process scheduling Thread

More information

Multimedia Systems 2011/2012

Multimedia Systems 2011/2012 Multimedia Systems 2011/2012 System Architecture Prof. Dr. Paul Müller University of Kaiserslautern Department of Computer Science Integrated Communication Systems ICSY http://www.icsy.de Sitemap 2 Hardware

More information

Grasp: Tracing, Visualizing and Measuring the Behavior of Real-Time Systems

Grasp: Tracing, Visualizing and Measuring the Behavior of Real-Time Systems Grasp: Tracing, Visualizing and Measuring the Behavior of Real-Time Systems Mike Holenderski, Martijn M.H.P. van den Heuvel, Reinder J. Bril and Johan J. Lukkien Department of Mathematics and Computer

More information

Scheduling. CSC400 - Operating Systems. 7: Scheduling. J. Sumey. one of the main tasks of an OS. the scheduler / dispatcher

Scheduling. CSC400 - Operating Systems. 7: Scheduling. J. Sumey. one of the main tasks of an OS. the scheduler / dispatcher CSC400 - Operating Systems 7: Scheduling J. Sumey Scheduling one of the main tasks of an OS the scheduler / dispatcher concerned with deciding which runnable process/thread should get the CPU next occurs

More information

Scheduling. Scheduling 1/51

Scheduling. Scheduling 1/51 Scheduling 1/51 Learning Objectives Scheduling To understand the role of a scheduler in an operating system To understand the scheduling mechanism To understand scheduling strategies such as non-preemptive

More information

Operating System Review Part

Operating System Review Part Operating System Review Part CMSC 602 Operating Systems Ju Wang, 2003 Fall Virginia Commonwealth University Review Outline Definition Memory Management Objective Paging Scheme Virtual Memory System and

More information

CPU Scheduling: Objectives

CPU Scheduling: Objectives CPU Scheduling: Objectives CPU scheduling, the basis for multiprogrammed operating systems CPU-scheduling algorithms Evaluation criteria for selecting a CPU-scheduling algorithm for a particular system

More information

Resource Reservation & Resource Servers

Resource Reservation & Resource Servers Resource Reservation & Resource Servers Resource Reservation Application Hard real-time, Soft real-time, Others? Platform Hardware Resources: CPU cycles, memory blocks 1 Applications Hard-deadline tasks

More information

HPX. High Performance ParalleX CCT Tech Talk Series. Hartmut Kaiser

HPX. High Performance ParalleX CCT Tech Talk Series. Hartmut Kaiser HPX High Performance CCT Tech Talk Hartmut Kaiser (hkaiser@cct.lsu.edu) 2 What s HPX? Exemplar runtime system implementation Targeting conventional architectures (Linux based SMPs and clusters) Currently,

More information

Communication Patterns in Safety Critical Systems for ADAS & Autonomous Vehicles Thorsten Wilmer Tech AD Berlin, 5. March 2018

Communication Patterns in Safety Critical Systems for ADAS & Autonomous Vehicles Thorsten Wilmer Tech AD Berlin, 5. March 2018 Communication Patterns in Safety Critical Systems for ADAS & Autonomous Vehicles Thorsten Wilmer Tech AD Berlin, 5. March 2018 Agenda Motivation Introduction of Safety Components Introduction to ARMv8

More information

Multiprocessor and Real- Time Scheduling. Chapter 10

Multiprocessor and Real- Time Scheduling. Chapter 10 Multiprocessor and Real- Time Scheduling Chapter 10 Classifications of Multiprocessor Loosely coupled multiprocessor each processor has its own memory and I/O channels Functionally specialized processors

More information

Process Concepts. CSC400 - Operating Systems. 3. Process Concepts. J. Sumey

Process Concepts. CSC400 - Operating Systems. 3. Process Concepts. J. Sumey CSC400 - Operating Systems 3. Process Concepts J. Sumey Overview Concurrency Processes & Process States Process Accounting Interrupts & Interrupt Processing Interprocess Communication CSC400 - Process

More information

For use by students enrolled in #71251 CSE430 Fall 2012 at Arizona State University. Do not use if not enrolled.

For use by students enrolled in #71251 CSE430 Fall 2012 at Arizona State University. Do not use if not enrolled. Operating Systems: Internals and Design Principles Chapter 4 Threads Seventh Edition By William Stallings Operating Systems: Internals and Design Principles The basic idea is that the several components

More information

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition

Chapter 6: CPU Scheduling. Operating System Concepts 9 th Edition Chapter 6: CPU Scheduling Silberschatz, Galvin and Gagne 2013 Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Real-Time

More information

Lecture: Embedded Software Architectures

Lecture: Embedded Software Architectures Lecture: Embedded Software Architectures Jan Vitek ECE/CS Spring 2011 Reading List 2 Mandatory Reading Chapter 5 of ECS textbook Optional Reading - N/A Software Architecture 3 A software architecture gives

More information

Real-Time Architectures 2003/2004. Resource Reservation. Description. Resource reservation. Reinder J. Bril

Real-Time Architectures 2003/2004. Resource Reservation. Description. Resource reservation. Reinder J. Bril Real-Time Architectures 2003/2004 Resource reservation Reinder J. Bril 03-05-2004 1 Resource Reservation Description Example Application domains Some issues Concluding remark 2 Description Resource reservation

More information

IT 540 Operating Systems ECE519 Advanced Operating Systems

IT 540 Operating Systems ECE519 Advanced Operating Systems IT 540 Operating Systems ECE519 Advanced Operating Systems Prof. Dr. Hasan Hüseyin BALIK (3 rd Week) (Advanced) Operating Systems 3. Process Description and Control 3. Outline What Is a Process? Process

More information

Last 2 Classes: Introduction to Operating Systems & C++ tutorial. Today: OS and Computer Architecture

Last 2 Classes: Introduction to Operating Systems & C++ tutorial. Today: OS and Computer Architecture Last 2 Classes: Introduction to Operating Systems & C++ tutorial User apps OS Virtual machine interface hardware physical machine interface An operating system is the interface between the user and the

More information

238P: Operating Systems. Lecture 14: Process scheduling

238P: Operating Systems. Lecture 14: Process scheduling 238P: Operating Systems Lecture 14: Process scheduling This lecture is heavily based on the material developed by Don Porter Anton Burtsev November, 2017 Cooperative vs preemptive What is cooperative multitasking?

More information

Part I Introduction Hardware and OS Review

Part I Introduction Hardware and OS Review Part I Introduction Hardware and OS Review The scientist described what is: the engineer creates what never was. Spring 2018 Theodor von 1 Karman The father of supersonic flight Multiprocessor Systems

More information

(b) External fragmentation can happen in a virtual memory paging system.

(b) External fragmentation can happen in a virtual memory paging system. Alexandria University Faculty of Engineering Electrical Engineering - Communications Spring 2015 Final Exam CS333: Operating Systems Wednesday, June 17, 2015 Allowed Time: 3 Hours Maximum: 75 points Note:

More information

Problems Kernel Scheduler User Level Scheduler Universität Karlsruhe (TU), System Architecture Group

Problems Kernel Scheduler User Level Scheduler Universität Karlsruhe (TU), System Architecture Group 3 Scheduling Problems Kernel Scheduler User Level Scheduler 2009 Universität Karlsruhe (TU), System Architecture Group 1 Intended Schedule Motivation Abstract Scheduling Problem Scheduling Goals Scheduling

More information

Unit 3 : Process Management

Unit 3 : Process Management Unit : Process Management Processes are the most widely used units of computation in programming and systems, although object and threads are becoming more prominent in contemporary systems. Process management

More information

Operating Systemss and Multicore Programming (1DT089)

Operating Systemss and Multicore Programming (1DT089) Operating Systemss and Multicore Programming (1DT089) Introduction to Operating Systemss (Chapter 1) Wednesday january 23 Uppsala University 2013 karl.marklund@it.uu.se Chapter 1: Introduction Chapter

More information

Virtual Memory Outline

Virtual Memory Outline Virtual Memory Outline Background Demand Paging Copy-on-Write Page Replacement Allocation of Frames Thrashing Memory-Mapped Files Allocating Kernel Memory Other Considerations Operating-System Examples

More information

Virtual Machine Design

Virtual Machine Design Virtual Machine Design Lecture 4: Multithreading and Synchronization Antero Taivalsaari September 2003 Session #2026: J2MEPlatform, Connected Limited Device Configuration (CLDC) Lecture Goals Give an overview

More information

Operating Systems (Classroom Practice Booklet Solutions)

Operating Systems (Classroom Practice Booklet Solutions) Operating Systems (Classroom Practice Booklet Solutions) 1. Process Management I 1. Ans: (c) 2. Ans: (c) 3. Ans: (a) Sol: Software Interrupt is generated as a result of execution of a privileged instruction.

More information