Task Scheduling for Multicore Embedded Devices
|
|
|
- Dustin Franklin Williams
- 10 years ago
- Views:
Transcription
1 Embedded Linux Conference 2013 Task Scheduling for Multicore Embedded Devices Gap-Joo Na
2 Contents 2
3 What is multicore?? 1. Multicore trends 2. New Architectures 3. Software Support 3
4 Multicore Trends on Embedded Devices Multicore based Application Processor market is expanding (Billion Dollars) AP Market CPU Market About 49% growth each year AP surpass CPU by 2015 Global Server/Desktop CPU and Application Processor Market Forecast 4
5 Multicore based Embedded Devices Ex) Quad-core CPU:Exynos 4412, Snapdragon S4, Tegra 4, etc 5
6 New Mobile Processor Archtecture [1] A Multi-Core CPU Architecture for Low Power and High Performance Tegra3 Architecture Power-Performance gain curve of vsmp technology 6
7 New Mobile Processor Archtecture [2] Cortex-A15 and Cortex-A7 are ISA identical Cortex-A15 achieves high performance Cortex-A7 is highly energy efficient Samsung, Exynos 5410 : 4 big cores(cotex-a15) + 4 small cores(cotex-a7) big.little Architecture Cortex-A15-Cortex-A7 DVFS Curves 7
8 Software Issues in Multicore Useful programing libraries and models are needed for multicore - Ex) OpenMP, OpenCL, More software development tools are needed for multicore Continuously, enhanced OS features are needed for multicore - Load balancing issue, Cache affinity, Traditional kernel technique Energy efficient SW technique Heterogeneous SW technique Virtual SW technique 8
9 1. Before v After v Current Scheduler 9
10 Scheduler Before Kernel V2.6 User circular queue & Minimal design Round-Robin scheduling policy - Ring type runqueue for runnable task Scheduling class supporting - Real-Time, Non Real-Time Task Class Including SMP(Symmetric Multiprocessing) support Lack of scalability Weak for real-time systems Single runqueue supporting - Throughput oriented design - O(N) complexity: the time it takes to schedule a task is a function of the number of tasks in the system 10
11 The early 2.6 Scheduler O(1) complexity supporting : using bitmap operation Dual runqueues - Active run queue - Expired run queue Much more scalable Incorporated interactivity metrics - Numerous heuristics (I/O, processor bound) bitmap schedule() sched_find_first_set() The Runqueue of Priority 140 The Runqueue of Priority 139 The Runqueue of Priority 138 The Runqueue of Priority 137 Slow response time - Frequent time slice allocation Throughput fall - Excessive switching overhead None fair condition - Nice 0 (100ms), Nice 1(95ms) => 5% - Nice 18(10ms), Nice 19(5ms) => 50% The Runqueue of Priority 3 The Runqueue of Priority 2 The Runqueue of Priority 1 The Runqueue of Priority 0 The early 2.6 scheduler data structure 11
12 Current Scheduler The main idea is to maintain balance(fairness) in providing processor time to tasks To determine the balance, the CFS maintains the amount of time provided to a given task in what s called the virtual time The CFS maintains a time-ordered red-black tree - Self balancing - O(log n) time complexity SMP affinity Basic load balancing Priorities and CFS CFS group scheduling (after ) Example of a red-black tree 12
13 1. Load Balancing 2. Limitations 3. Requirement of multicore embedded devices 1 3
14 Load Balancing of CFS (1) Is there the busiest queue?? Runqueue Tree(Core 1) Runqueue Tree(Core 4) Migration Core 4 is the busiest queue Migration tasks Start Load Balancing in CFS 1. Task Fok, Exec, Wakeup 2. Idle Runqueue 3. Periodic Checking Algorithm (check and find busiest runqueue) Core1 Core2 Core3 Core4 14
15 Load Balancing of CFS (2) Load of runqueue : Amount of load to be moved : CFS does not move any task if the following condition holds : 15
16 Limitations of CFS (1) Fail to achieve fairness in multicore T1 Nice :0 Weight : 1024 T2 Nice :5 Weight : 335 T3 Nice :5 Weight : 335 T4 Nice :5 Weight : 335 T5 Nice :5 Weight : 335 Weight of R1 (runqueue of core1) : 1024 Weight of R2 (runqueue of core2) : 335 * 4 = 1340 Average of runque Load : 1182 R1 R2 T1 Nice :0 Weight : 1024 T2 Nice :5 Weight : 335 T3 Nice :5 Weight : 335 T4 Nice :5 Weight : 335 L imbal = min(min(1340, 1182), ) = 158 But, 158 < 335/2 Load Balancing will not be performed T5 Nice :5 Weight : 335 T1 weight = (T2~T5) weight X 3 Core1 Core2 Run Time of T1 = Run Time of (T2~T5) X 4 => Fairness will be broken. 16
17 Multicore and CFS Load Balancing - The most effective distribution is to have equal amounts of each core - Global fairness is most important Caches of Processors - CPU-affinity should be considered - Cache effectiveness vs. Global fairness I/O intensive processing Small number of tasks Foreground vs. Background Task Interactive task (touch screen GUI) Energy efficient Web-based application 17
18 1. Introduction 2. Basic Concept 3. Operation 4. Weak Points 1 8
19 DWRR(Distributed Weighted Round-Robun) Li, T., Baumberger, D., and Hahn, S.: "Efficient and scalable multiprocessor fair scheduling using distributed weighted round-robin", ACM SIGPLAN Notices, 2009, 44, (4), pp Manages task fairness every round RQ : runqueue EQ : Expired RQ All queue : red-black Tree RQ EQ RQ EQ RQ EQ RQ EQ Core1 Core2 Core3 Core4 19
20 Basic Concept Round : the shortest time period during which every thread in the system completes at least one of its round slice Round Slice : w*b (w : thread s weight, B : system-wide constant) Round Balancing - It allows threads to go through the same number of rounds in any time interval. - Whenever a CPU finishes round balancing to move over threads from other CPUs before advancing to the next round 20
21 Operation of DWRR Locally fair (½) (½) Source : Li, T., Baumberger, D., and Hahn, S.: "Efficient and scalable multiprocessor fair scheduling using distributed weighted round-robin", ACM SIGPLAN Notices, 2009, 44, (4), pp
22 DWRR Weak Points DWRR can always guarantee higher fairness among tasks But, DWRR may suffer from poor interactivity due to the existence of two runqueues originated from O(1) scheduler Frequent task migration may cause migration overhead DWRR has several practical implementation issues 22
23 1. Test Environment 2. Fairness Test 3. Scheduler Benchmark 4. CPU Intensive Workload 5. Database Workload 6. JavaScript Benchmark 2 3
24 Test Environment Target Board : OdroidQ (hardkernel) - Exynos 4412 ARM Cotex-A9 Quad Core - Linaro Ubuntu Kernel version CFS (sched_min_granularity = 0.75ms, sched_latency = 6ms, sched_nr_latency = 8 ) - DWRR (round slice = 25msec) Arm Quad Core Architecture Target System 24
25 Fairness Test Test Method - Creates and runs 5 threads on 4 multicores - Measures average utilization of each cores and calculates standard deviation CFS (3.0.15) CFS with DWRR (3.0.15) 25
26 Scheduler Performance When a scheduler has a large number of threads competing for some set of mutexes Commnad : - sysbench num-threads=32 test=threads thead-yields=100 0 thread-locks= 8 run scheduler CFS (sched_granularity = 0.75) CFS (sched_granularity = 0.5) CFS (sched_granularity = 0.25) Total time s s s s Total Number of Events DWRR (round_slice unit = 0.25) Total time taken by event execution Threads Fairness Events (avg/stddev) : /9.67 Events (avg/stddev) : /10.60 Events (avg/stddev) : /6.98 Events (avg/stddev) : /41.63 Execution time (avg/stddev) : /0.01 Execution time (avg/stddev) : /0.01 Execution time (avg/stddev) : /0.01 Execution time (avg/stddev) : /
27 CPU Intensive Test Mplayer benchmark nosound ao null vo null robot_720p.mp4 - Running time : 150s scheduler CFS (sched_granularity = 0.75) CFS (sched_granularity = 0.5) CFS (sched_granularity = 0.25) DWRR (round_slice unit = 0.25) BenchmarkS Video Codec : s Video Out : 0.016s Audio : 0s Sys : 1.138s Video Codec : s Video Out : 0.017s Audio : 0s Sys : 2.381s Video Codec : s Video Out : 0.017s Audio : 0s Sys : 6.104s Video Codec : s Video Out : 0.014s Audio : 0s Sys : 1.024s Total : s Total : s Total : s Total : s Benchmark% Video Codec : % Video Out : % Sys : % Video Codec : % Video Out : % Sys : % Video Codec : % Video Out : % Sys : % Video Codec : % Video Out : % Sys : % Total : 100% Total : 100% Total : 100% Total : 100% 27
28 Database Workload Benchmark : Sysbench, Database : Mysql - sysbench --test=oltp --mysql-user=sbtest --mysql-password=sbtest --mysqltable-engine=myisam --oltp-table-size= mysqlsocket=/var/run/mysqld/mysqld.sock prepare - sysbench --test=oltp --mysql-user=sbtest --mysql-password=sbtest --oltp-tablesize= mysql-socket=/var/run/mysqld/mysqld.sock --max-requests= oltp-read-only --num-threads=16 run scheduler CFS (sched_granularity = 0.75) CFS (sched_granularity = 0.5) CFS (sched_granularity = 0.25) DWRR (round_slice unit = 0.25) Query Performed Read : Write : 0 Other : Total : Read : Write : 0 Other : Total : Read : Write : 0 Other : Total : Read : Write : 0 Other : Total : Transactions ( per sec.) ( per sec.) ( per sec.) ( per sec.) 28
29 JavaScript Benchmark scheduler CFS (sched_granularity = 0.75) CFS (sched_granularity = 0.5) CFS (sched_granularity = 0.25) DWRR (round_slice unit = 0.25) Total ms +/- 0.8% ms +/- 0.6% ms +/- 0.6% ms +/- 1.3% 3d 265.7ms +/- 1.5% 374.0ms +/- 1.5% 371.6ms +/- 1.8% 273.4ms +/- 2.9% access 191.0ms +/- 2.8% 299.7ms +/- 2.8% 301.9ms +/- 4.0% 194.3ms +/- 4.8% bitops 102.5ms +/- 2.3% 178.1ms +/- 3.3% 176.1ms +/- 2.5% 105.6ms +/- 7.0% controlflow 14.5ms +/- 4.2% 23.1ms +/- 6.6% 22.2ms +/- 3.0% 14.4ms +/- 5.3% cryoto 148.1ms +/- 6.8% 190.5ms +/- 1.6% 192.7ms +/- 2.4% 145.2ms +/- 2.7% date 200.3ms +/- 6.7% 283.9ms +/- 2.7% 288.6ms +/- 2.0% 199.7ms +/- 4.6% math 205.0ms +/- 1.3% 207.3ms +/- 2.2% 205.0ms +/- 1.3% 124.2ms +/- 4.6% regexp 123.1ms +/- 1.1% 99.3ms +/- 2.0% 99.4s +/- 3.3% 65.2ms +/- 5.1% string 417.3ms +/- 2.2% 633.2ms +/- 1.1% 626.9ms +/- 0.7% 411.2ms +/- 1.7% 29
30 3 0
31 Conclusion and future work Multicore processors are becoming an integral part of embedded devices In Linux, CFS is the best scheduler until now - CFS performs load balancing depending on task s weight - The weight-based algorithms fails to achieve global fairness in practical DWRR can be new trial to improve the multicore in terms of fairness Rethink the scheduler for multicore embedded devices. Optimal load balancing algorithm Enhanced runqueue structure Per core scheduler policy 31
32
EECS 750: Advanced Operating Systems. 01/28 /2015 Heechul Yun
EECS 750: Advanced Operating Systems 01/28 /2015 Heechul Yun 1 Recap: Completely Fair Scheduler(CFS) Each task maintains its virtual time V i = E i 1 w i, where E is executed time, w is a weight Pick the
Linux scheduler history. We will be talking about the O(1) scheduler
CPU Scheduling Linux scheduler history We will be talking about the O(1) scheduler SMP Support in 2.4 and 2.6 versions 2.4 Kernel 2.6 Kernel CPU1 CPU2 CPU3 CPU1 CPU2 CPU3 Linux Scheduling 3 scheduling
Process Scheduling II
Process Scheduling II COMS W4118 Prof. Kaustubh R. Joshi [email protected] hdp://www.cs.columbia.edu/~krj/os References: OperaWng Systems Concepts (9e), Linux Kernel Development, previous W4118s Copyright
Update on big.little scheduling experiments. Morten Rasmussen Technology Researcher
Update on big.little scheduling experiments Morten Rasmussen Technology Researcher 1 Agenda Why is big.little different from SMP? Summary of previous experiments on emulated big.little. New results for
CPU Scheduling Outline
CPU Scheduling Outline What is scheduling in the OS? What are common scheduling criteria? How to evaluate scheduling algorithms? What are common scheduling algorithms? How is thread scheduling different
CHAPTER 1 INTRODUCTION
1 CHAPTER 1 INTRODUCTION 1.1 MOTIVATION OF RESEARCH Multicore processors have two or more execution cores (processors) implemented on a single chip having their own set of execution and architectural recourses.
Scheduling. Scheduling. Scheduling levels. Decision to switch the running process can take place under the following circumstances:
Scheduling Scheduling Scheduling levels Long-term scheduling. Selects which jobs shall be allowed to enter the system. Only used in batch systems. Medium-term scheduling. Performs swapin-swapout operations
Process Scheduling in Linux
The Gate of the AOSP #4 : Gerrit, Memory & Performance Process Scheduling in Linux 2013. 3. 29 Namhyung Kim Outline 1 Process scheduling 2 SMP scheduling 3 Group scheduling - www.kandroid.org 2/ 41 Process
Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6
Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6 Winter Term 2008 / 2009 Jun.-Prof. Dr. André Brinkmann [email protected] Universität Paderborn PC² Agenda Multiprocessor and
W4118 Operating Systems. Instructor: Junfeng Yang
W4118 Operating Systems Instructor: Junfeng Yang Outline Advanced scheduling issues Multilevel queue scheduling Multiprocessor scheduling issues Real-time scheduling Scheduling in Linux Scheduling algorithm
ò Paper reading assigned for next Thursday ò Lab 2 due next Friday ò What is cooperative multitasking? ò What is preemptive multitasking?
Housekeeping Paper reading assigned for next Thursday Scheduling Lab 2 due next Friday Don Porter CSE 506 Lecture goals Undergrad review Understand low-level building blocks of a scheduler Understand competing
An Adaptive Task-Core Ratio Load Balancing Strategy for Multi-core Processors
An Adaptive Task-Core Ratio Load Balancing Strategy for Multi-core Processors Ian K. T. Tan, Member, IACSIT, Chai Ian, and Poo Kuan Hoong Abstract With the proliferation of multi-core processors in servers,
2. is the number of processes that are completed per time unit. A) CPU utilization B) Response time C) Turnaround time D) Throughput
Import Settings: Base Settings: Brownstone Default Highest Answer Letter: D Multiple Keywords in Same Paragraph: No Chapter: Chapter 5 Multiple Choice 1. Which of the following is true of cooperative scheduling?
Process Scheduling CS 241. February 24, 2012. Copyright University of Illinois CS 241 Staff
Process Scheduling CS 241 February 24, 2012 Copyright University of Illinois CS 241 Staff 1 Announcements Mid-semester feedback survey (linked off web page) MP4 due Friday (not Tuesday) Midterm Next Tuesday,
Linux Process Scheduling. sched.c. schedule() scheduler_tick() hooks. try_to_wake_up() ... CFS CPU 0 CPU 1 CPU 2 CPU 3
Linux Process Scheduling sched.c schedule() scheduler_tick() try_to_wake_up() hooks RT CPU 0 CPU 1 CFS CPU 2 CPU 3 Linux Process Scheduling 1. Task Classification 2. Scheduler Skeleton 3. Completely Fair
Chapter 5 Process Scheduling
Chapter 5 Process Scheduling CPU Scheduling Objective: Basic Scheduling Concepts CPU Scheduling Algorithms Why Multiprogramming? Maximize CPU/Resources Utilization (Based on Some Criteria) CPU Scheduling
Real-Time Scheduling 1 / 39
Real-Time Scheduling 1 / 39 Multiple Real-Time Processes A runs every 30 msec; each time it needs 10 msec of CPU time B runs 25 times/sec for 15 msec C runs 20 times/sec for 5 msec For our equation, A
Objectives. Chapter 5: Process Scheduling. Chapter 5: Process Scheduling. 5.1 Basic Concepts. To introduce CPU scheduling
Objectives To introduce CPU scheduling To describe various CPU-scheduling algorithms Chapter 5: Process Scheduling To discuss evaluation criteria for selecting the CPUscheduling algorithm for a particular
CPU Scheduling. Core Definitions
CPU Scheduling General rule keep the CPU busy; an idle CPU is a wasted CPU Major source of CPU idleness: I/O (or waiting for it) Many programs have a characteristic CPU I/O burst cycle alternating phases
Comp 204: Computer Systems and Their Implementation. Lecture 12: Scheduling Algorithms cont d
Comp 204: Computer Systems and Their Implementation Lecture 12: Scheduling Algorithms cont d 1 Today Scheduling continued Multilevel queues Examples Thread scheduling 2 Question A starvation-free job-scheduling
Multilevel Load Balancing in NUMA Computers
FACULDADE DE INFORMÁTICA PUCRS - Brazil http://www.pucrs.br/inf/pos/ Multilevel Load Balancing in NUMA Computers M. Corrêa, R. Chanin, A. Sales, R. Scheer, A. Zorzo Technical Report Series Number 049 July,
Main Points. Scheduling policy: what to do next, when there are multiple threads ready to run. Definitions. Uniprocessor policies
Scheduling Main Points Scheduling policy: what to do next, when there are multiple threads ready to run Or multiple packets to send, or web requests to serve, or Definitions response time, throughput,
Scheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum
Scheduling Yücel Saygın These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum 1 Scheduling Introduction to Scheduling (1) Bursts of CPU usage alternate with periods
Linux Scheduler Analysis and Tuning for Parallel Processing on the Raspberry PI Platform. Ed Spetka Mike Kohler
Linux Scheduler Analysis and Tuning for Parallel Processing on the Raspberry PI Platform Ed Spetka Mike Kohler Outline Abstract Hardware Overview Completely Fair Scheduler Design Theory Breakdown of the
Job Scheduling Model
Scheduling 1 Job Scheduling Model problem scenario: a set of jobs needs to be executed using a single server, on which only one job at a time may run for theith job, we have an arrival timea i and a run
Overview of the Linux Scheduler Framework
Overview of the Linux Scheduler Framework WORKSHOP ON REAL-TIME SCHEDULING IN THE LINUX KERNEL Pisa, June 27th, 2014 Marco Cesati University of Rome Tor Vergata Marco Cesati (Univ. of Rome Tor Vergata)
Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run
SFWR ENG 3BB4 Software Design 3 Concurrent System Design 2 SFWR ENG 3BB4 Software Design 3 Concurrent System Design 11.8 10 CPU Scheduling Chapter 11 CPU Scheduling Policies Deciding which process to run
Chapter 5: CPU Scheduling. Operating System Concepts 8 th Edition
Chapter 5: CPU Scheduling Silberschatz, Galvin and Gagne 2009 Chapter 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Operating
Operating Systems Concepts: Chapter 7: Scheduling Strategies
Operating Systems Concepts: Chapter 7: Scheduling Strategies Olav Beckmann Huxley 449 http://www.doc.ic.ac.uk/~ob3 Acknowledgements: There are lots. See end of Chapter 1. Home Page for the course: http://www.doc.ic.ac.uk/~ob3/teaching/operatingsystemsconcepts/
ICS 143 - Principles of Operating Systems
ICS 143 - Principles of Operating Systems Lecture 5 - CPU Scheduling Prof. Nalini Venkatasubramanian [email protected] Note that some slides are adapted from course text slides 2008 Silberschatz. Some
Chapter 5 Linux Load Balancing Mechanisms
Chapter 5 Linux Load Balancing Mechanisms Load balancing mechanisms in multiprocessor systems have two compatible objectives. One is to prevent processors from being idle while others processors still
Effective Computing with SMP Linux
Effective Computing with SMP Linux Multi-processor systems were once a feature of high-end servers and mainframes, but today, even desktops for personal use have multiple processors. Linux is a popular
CPU SCHEDULING (CONT D) NESTED SCHEDULING FUNCTIONS
CPU SCHEDULING CPU SCHEDULING (CONT D) Aims to assign processes to be executed by the CPU in a way that meets system objectives such as response time, throughput, and processor efficiency Broken down into
ò Scheduling overview, key trade-offs, etc. ò O(1) scheduler older Linux scheduler ò Today: Completely Fair Scheduler (CFS) new hotness
Last time Scheduling overview, key trade-offs, etc. O(1) scheduler older Linux scheduler Scheduling, part 2 Don Porter CSE 506 Today: Completely Fair Scheduler (CFS) new hotness Other advanced scheduling
Road Map. Scheduling. Types of Scheduling. Scheduling. CPU Scheduling. Job Scheduling. Dickinson College Computer Science 354 Spring 2010.
Road Map Scheduling Dickinson College Computer Science 354 Spring 2010 Past: What an OS is, why we have them, what they do. Base hardware and support for operating systems Process Management Threads Present:
CPU Scheduling. Basic Concepts. Basic Concepts (2) Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems
Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems Based on original slides by Silberschatz, Galvin and Gagne 1 Basic Concepts CPU I/O Burst Cycle Process execution
Completely Fair Scheduler and its tuning 1
Completely Fair Scheduler and its tuning 1 Jacek Kobus and Rafał Szklarski 1 Introduction The introduction of a new, the so called completely fair scheduler (CFS) to the Linux kernel 2.6.23 (October 2007)
MySQL performance in a cloud. Mark Callaghan
MySQL performance in a cloud Mark Callaghan Special thanks Eric Hammond (http://www.anvilon.com) provided documentation that made all of my work much easier. What is this thing called a cloud? Deployment
Konzepte von Betriebssystem-Komponenten. Linux Scheduler. Valderine Kom Kenmegne [email protected]. Proseminar KVBK Linux Scheduler Valderine Kom
Konzepte von Betriebssystem-Komponenten Linux Scheduler Kenmegne [email protected] 1 Contents: 1. Introduction 2. Scheduler Policy in Operating System 2.1 Scheduling Objectives 2.2 Some Scheduling
Lecture Outline Overview of real-time scheduling algorithms Outline relative strengths, weaknesses
Overview of Real-Time Scheduling Embedded Real-Time Software Lecture 3 Lecture Outline Overview of real-time scheduling algorithms Clock-driven Weighted round-robin Priority-driven Dynamic vs. static Deadline
Linux O(1) CPU Scheduler. Amit Gud amit (dot) gud (at) veritas (dot) com http://amitgud.tk
Linux O(1) CPU Scheduler Amit Gud amit (dot) gud (at) veritas (dot) com http://amitgud.tk April 27, 2005 Agenda CPU scheduler basics CPU scheduler algorithms overview Linux CPU scheduler goals What is
CPU Scheduling. CSC 256/456 - Operating Systems Fall 2014. TA: Mohammad Hedayati
CPU Scheduling CSC 256/456 - Operating Systems Fall 2014 TA: Mohammad Hedayati Agenda Scheduling Policy Criteria Scheduling Policy Options (on Uniprocessor) Multiprocessor scheduling considerations CPU
Multi-core and Linux* Kernel
Multi-core and Linux* Kernel Suresh Siddha Intel Open Source Technology Center Abstract Semiconductor technological advances in the recent years have led to the inclusion of multiple CPU execution cores
Scheduling 0 : Levels. High level scheduling: Medium level scheduling: Low level scheduling
Scheduling 0 : Levels High level scheduling: Deciding whether another process can run is process table full? user process limit reached? load to swap space or memory? Medium level scheduling: Balancing
Comparing Power Saving Techniques for Multi cores ARM Platforms
Comparing Power Saving Techniques for Multi cores ARM Platforms Content Why to use CPU hotplug? Tests environment CPU hotplug constraints What we have / What we want How to
10.04.2008. Thomas Fahrig Senior Developer Hypervisor Team. Hypervisor Architecture Terminology Goals Basics Details
Thomas Fahrig Senior Developer Hypervisor Team Hypervisor Architecture Terminology Goals Basics Details Scheduling Interval External Interrupt Handling Reserves, Weights and Caps Context Switch Waiting
Chapter 1: Introduction. What is an Operating System?
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real -Time Systems Handheld Systems Computing Environments
Operating Systems. III. Scheduling. http://soc.eurecom.fr/os/
Operating Systems Institut Mines-Telecom III. Scheduling Ludovic Apvrille [email protected] Eurecom, office 470 http://soc.eurecom.fr/os/ Outline Basics of Scheduling Definitions Switching
Linux Scheduler. Linux Scheduler
or or Affinity Basic Interactive es 1 / 40 Reality... or or Affinity Basic Interactive es The Linux scheduler tries to be very efficient To do that, it uses some complex data structures Some of what it
big.little Technology Moves Towards Fully Heterogeneous Global Task Scheduling Improving Energy Efficiency and Performance in Mobile Devices
big.little Technology Moves Towards Fully Heterogeneous Global Task Scheduling Improving Energy Efficiency and Performance in Mobile Devices Brian Jeff November, 2013 Abstract ARM big.little processing
Feb.2012 Benefits of the big.little Architecture
Feb.2012 Benefits of the big.little Architecture Hyun-Duk Cho, Ph. D. Principal Engineer ([email protected]) Kisuk Chung, Senior Engineer ([email protected]) Taehoon Kim, Vice President ([email protected])
Readings for this topic: Silberschatz/Galvin/Gagne Chapter 5
77 16 CPU Scheduling Readings for this topic: Silberschatz/Galvin/Gagne Chapter 5 Until now you have heard about processes and memory. From now on you ll hear about resources, the things operated upon
Scheduling policy. ULK3e 7.1. Operating Systems: Scheduling in Linux p. 1
Scheduling policy ULK3e 7.1 Goals fast process response time good throughput for background jobs avoidance of process starvation reconciliation of needs of low- and high-priority processes Operating Systems:
OS OBJECTIVE QUESTIONS
OS OBJECTIVE QUESTIONS Which one of the following is Little s formula Where n is the average queue length, W is the time that a process waits 1)n=Lambda*W 2)n=Lambda/W 3)n=Lambda^W 4)n=Lambda*(W-n) Answer:1
An Enhanced CPU Scheduler for XEN Hypervisor to Improve Performance in Virtualized Environment
An Enhanced CPU Scheduler for XEN Hypervisor to Improve Performance in Virtualized Environment Chia-Ying Tseng 1 and Yi-Ling Chung Department of Computer Science and Engineering, Tatung University #40,
Multi-core Programming System Overview
Multi-core Programming System Overview Based on slides from Intel Software College and Multi-Core Programming increasing performance through software multi-threading by Shameem Akhter and Jason Roberts,
A Group based Time Quantum Round Robin Algorithm using Min-Max Spread Measure
A Group based Quantum Round Robin Algorithm using Min-Max Spread Measure Sanjaya Kumar Panda Department of CSE NIT, Rourkela Debasis Dash Department of CSE NIT, Rourkela Jitendra Kumar Rout Department
4003-440/4003-713 Operating Systems I. Process Scheduling. Warren R. Carithers ([email protected]) Rob Duncan ([email protected])
4003-440/4003-713 Operating Systems I Process Scheduling Warren R. Carithers ([email protected]) Rob Duncan ([email protected]) Review: Scheduling Policy Ideally, a scheduling policy should: Be: fair, predictable
Announcements. Basic Concepts. Histogram of Typical CPU- Burst Times. Dispatcher. CPU Scheduler. Burst Cycle. Reading
Announcements Reading Chapter 5 Chapter 7 (Monday or Wednesday) Basic Concepts CPU I/O burst cycle Process execution consists of a cycle of CPU execution and I/O wait. CPU burst distribution What are the
A Dynamic Resource Management with Energy Saving Mechanism for Supporting Cloud Computing
A Dynamic Resource Management with Energy Saving Mechanism for Supporting Cloud Computing Liang-Teh Lee, Kang-Yuan Liu, Hui-Yang Huang and Chia-Ying Tseng Department of Computer Science and Engineering,
Applied Micro development platform. ZT Systems (ST based) HP Redstone platform. Mitac Dell Copper platform. ARM in Servers
ZT Systems (ST based) Applied Micro development platform HP Redstone platform Mitac Dell Copper platform ARM in Servers 1 Server Ecosystem Momentum 2009: Internal ARM trials hosting part of website on
Objectives. Chapter 5: CPU Scheduling. CPU Scheduler. Non-preemptive and preemptive. Dispatcher. Alternating Sequence of CPU And I/O Bursts
Objectives Chapter 5: CPU Scheduling Introduce CPU scheduling, which is the basis for multiprogrammed operating systems Describe various CPU-scheduling algorithms Discuss evaluation criteria for selecting
Load-Balancing for Improving User Responsiveness on Multicore Embedded Systems
Load-Balancing for Improving User Responsiveness on Multicore Embedded Systems 2012 Linux Symposium Geunsik Lim Sungkyungkwan University Samsung Electronics [email protected] [email protected]
Linux Load Balancing
Linux Load Balancing Hyunmin Yoon 2 Load Balancing Linux scheduler attempts to evenly distribute load across CPUs Load of CPU (run queue): sum of task weights Load balancing is triggered by Timer interrupts
MyISAM Default Storage Engine before MySQL 5.5 Table level locking Small footprint on disk Read Only during backups GIS and FTS indexing Copyright 2014, Oracle and/or its affiliates. All rights reserved.
big.little Technology: The Future of Mobile Making very high performance available in a mobile envelope without sacrificing energy efficiency
big.little Technology: The Future of Mobile Making very high performance available in a mobile envelope without sacrificing energy efficiency Introduction With the evolution from the first mobile phones
Operatin g Systems: Internals and Design Principle s. Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings
Operatin g Systems: Internals and Design Principle s Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings Operating Systems: Internals and Design Principles Bear in mind,
<Insert Picture Here> An Experimental Model to Analyze OpenMP Applications for System Utilization
An Experimental Model to Analyze OpenMP Applications for System Utilization Mark Woodyard Principal Software Engineer 1 The following is an overview of a research project. It is intended
Application Performance Analysis of the Cortex-A9 MPCore
This project in ARM is in part funded by ICT-eMuCo, a European project supported under the Seventh Framework Programme (7FP) for research and technological development Application Performance Analysis
OPERATING SYSTEMS SCHEDULING
OPERATING SYSTEMS SCHEDULING Jerry Breecher 5: CPU- 1 CPU What Is In This Chapter? This chapter is about how to get a process attached to a processor. It centers around efficient algorithms that perform
Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies
Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies Kurt Klemperer, Principal System Performance Engineer [email protected] Agenda Session Length:
Operating System: Scheduling
Process Management Operating System: Scheduling OS maintains a data structure for each process called Process Control Block (PCB) Information associated with each PCB: Process state: e.g. ready, or waiting
Load Balancing on Speed
Load Balancing on Speed Steven Hofmeyr, Costin Iancu, Filip Blagojević Lawrence Berkeley National Laboratory {shofmeyr, cciancu, fblagojevic}@lbl.gov Abstract To fully exploit multicore processors, applications
Embedded Systems: map to FPGA, GPU, CPU?
Embedded Systems: map to FPGA, GPU, CPU? Jos van Eijndhoven [email protected] Bits&Chips Embedded systems Nov 7, 2013 # of transistors Moore s law versus Amdahl s law Computational Capacity Hardware
CFS-v: I/O Demand-driven VM Scheduler in KVM
CFS-v: Demand-driven VM Scheduler in KVM Hyotaek Shim and Sung-Min Lee (hyotaek.shim, [email protected] com) Software R&D Center, Samsung Electronics 2014. 10. 16 Problem in Server Consolidation 2/16
Introduction. Application Performance in the QLinux Multimedia Operating System. Solution: QLinux. Introduction. Outline. QLinux Design Principles
Application Performance in the QLinux Multimedia Operating System Sundaram, A. Chandra, P. Goyal, P. Shenoy, J. Sahni and H. Vin Umass Amherst, U of Texas Austin ACM Multimedia, 2000 Introduction General
Case Study I: A Database Service
Case Study I: A Database Service Prof. Daniel A. Menascé Department of Computer Science George Mason University www.cs.gmu.edu/faculty/menasce.html 1 Copyright Notice Most of the figures in this set of
Memory Access Control in Multiprocessor for Real-time Systems with Mixed Criticality
Memory Access Control in Multiprocessor for Real-time Systems with Mixed Criticality Heechul Yun +, Gang Yao +, Rodolfo Pellizzoni *, Marco Caccamo +, Lui Sha + University of Illinois at Urbana and Champaign
Introduction 1 Performance on Hosted Server 1. Benchmarks 2. System Requirements 7 Load Balancing 7
Introduction 1 Performance on Hosted Server 1 Figure 1: Real World Performance 1 Benchmarks 2 System configuration used for benchmarks 2 Figure 2a: New tickets per minute on E5440 processors 3 Figure 2b:
Threads Scheduling on Linux Operating Systems
Threads Scheduling on Linux Operating Systems Igli Tafa 1, Stavri Thomollari 2, Julian Fejzaj 3 Polytechnic University of Tirana, Faculty of Information Technology 1,2 University of Tirana, Faculty of
Optimizing Shared Resource Contention in HPC Clusters
Optimizing Shared Resource Contention in HPC Clusters Sergey Blagodurov Simon Fraser University Alexandra Fedorova Simon Fraser University Abstract Contention for shared resources in HPC clusters occurs
Hardware accelerated Virtualization in the ARM Cortex Processors
Hardware accelerated Virtualization in the ARM Cortex Processors John Goodacre Director, Program Management ARM Processor Division ARM Ltd. Cambridge UK 2nd November 2010 Sponsored by: & & New Capabilities
Scaling Objectivity Database Performance with Panasas Scale-Out NAS Storage
White Paper Scaling Objectivity Database Performance with Panasas Scale-Out NAS Storage A Benchmark Report August 211 Background Objectivity/DB uses a powerful distributed processing architecture to manage
W4118 Operating Systems. Instructor: Junfeng Yang
W4118 Operating Systems Instructor: Junfeng Yang Outline Introduction to scheduling Scheduling algorithms 1 Direction within course Until now: interrupts, processes, threads, synchronization Mostly mechanisms
Thread level parallelism
Thread level parallelism ILP is used in straight line code or loops Cache miss (off-chip cache and main memory) is unlikely to be hidden using ILP. Thread level parallelism is used instead. Thread: process
Power Management in the Linux Kernel
Power Management in the Linux Kernel Tate Hornbeck, Peter Hokanson 7 April 2011 Intel Open Source Technology Center Venkatesh Pallipadi Senior Staff Software Engineer 2001 - Joined Intel Processor and
Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat
Why Computers Are Getting Slower (and what we can do about it) Rik van Riel Sr. Software Engineer, Red Hat Why Computers Are Getting Slower The traditional approach better performance Why computers are
CloudCmp:Comparing Cloud Providers. Raja Abhinay Moparthi
CloudCmp:Comparing Cloud Providers Raja Abhinay Moparthi 1 Outline Motivation Cloud Computing Service Models Charging schemes Cloud Common Services Goal CloudCom Working Challenges Designing Benchmark
POWER EFFICIENT SCHEDULING FOR
POWER EFFICIENT SCHEDULING FOR A CLOUD SYSTEM Joachim Sjöblom Master of Science Thesis Supervisor: Prof. Johan Lilius Advisor: Dr. Sébastien Lafond Embedded Systems Laboratory Department of Information
Why Relative Share Does Not Work
Why Relative Share Does Not Work Introduction Velocity Software, Inc March 2010 Rob van der Heij rvdheij @ velocitysoftware.com Installations that run their production and development Linux servers on
