LCA14-104: GTS- A solution to support ARM s big.little technology. Mon-3-Mar, 11:15am, Mathieu Poirier

Size: px
Start display at page:

Download "LCA14-104: GTS- A solution to support ARM s big.little technology. Mon-3-Mar, 11:15am, Mathieu Poirier"

Transcription

1 LCA14-104: GTS- A solution to support ARM s big.little technology Mon-3-Mar, 11:15am, Mathieu Poirier

2 Today s Presentation: Things to know about Global Task Scheduling (GTS). MP patchset description and how the solution works. Configuration parameters at various levels. Continuous integration at Linaro.

3 Other Presentations on GTS: This presentation is the lighter version of two presentation Linaro has on GTS. The other runs for about 75 minutes and goes much deeper in the solution. If you are interested in the in-depth version please contact Joe Bates:

4 What is the MP Patchset? A set of patches enacting Global Task Scheduling(GTS). Developed by ARM Ltd. GTS modifies the Linux scheduler in order to place tasks on the best possible CPU. Advantages: Take full advantage of the asynchronous nature of b.l architecture. Maximum performance Minimum power consumption Better benchmark scores for thread-intensive benchmarks. Increased responsiveness by spinning off new tasks on big CPUs. Decreases power consumption, specifically with small-task packing.

5 Where to get it In a tarball from the release page: Always look for the latest vexpress-lsk release on release.linaro.org - ex. for January: February should look like: In the Linaro Stable Kernel:

6 Where to get it (continued) In the ARM big LITTLE MP tree: ** Linaro doesn t rebase the MP patchset on other kernels than the Linaro Stable Kernel.

7 MP Patchset Description General Overview: The Linux kernel builds a hierarchy of scheduling domains at boot time. The order is (Linux convention): Sibling (for Hyperthreading) MC - multi-core CPU - between clusters NUMA To understand how the kernel does this: Enable CONFIG_SCHED_DEBUG and set sched_debug=1 on the kernel cmd line In a pure SMP context load balancing is done by spreading tasks evenly among all processors. Maximisation of CPU resources Run-to-completion model

8 Domain Load Balancing - no GTS CFS (CPU level) CPU0 CPU1 CPU4 CPU3 CFS (MC level) CFS (MC level) CPU2 CFS (CPU level) Vexpress (A7x3 + A15x2)

9 How MP Works Classic load balancing between CPU domains (i.e big and LITTLE) is disabled. A derivative of Paul Turner s load_avg_contrib metric is used to decide if a task should be moved to another HMP domain. Paul s work: Migration of tasks among the CPU domains is done by comparing their loads with migration thresholds. By default, all new user tasks are placed on the big cluster.

10 Domain Load Balancing - with GTS CFS (CPU level) CPU0 CPU1 GTS CPU4 CPU3 CFS (MC level) CFS (MC level) CPU2 CFS (CPU level) Vexpress (A7x3 + A15x2)

11 Load Average Contribution and Decay Plotting of the runnable_avg_sum metric introduced by Paul Turner

12 Per Entity Load Tracking Paul Turner introduced the load average contribution metric in his work on per-entity load tracking: load_avg_contrib = task->weight * runnable_average where runnable_average is: runnable_average = runnable_avg_sum / runnable_avg_period runnable_avg_sum and runnable_avg_period are geometric series. load_avg_contrib is good for scheduling decisions but bad for task migration i.e, weight scaling doesn t reflect the true time spent by a task in the runnable state.

13 Load Average Ratio The MP patchset introduces the load average ratio: load_avg_ratio = NICE_0_LOAD * runnable_average The load average ratio allows for the comparison of tasks without their weight factor, giving the same perspective for all of them. At migration time the load average ratio is compared against two thresholds: hmp_up_threashold hmp_down_threashold

14 UP and Down Migration thresholds * Source: ARM Ltd. A task s load is compared to the up and down migration threshold during the MP domain balancing process.

15 What We ve Learned So Far The Linux scheduler will separate CPUs into domains. Tasks are spread out among the domains as equally as possible. For GTS load balancing at the CPU domain level is disabled. GTS will move tasks between CPU domains using a derivative of the load average contribution and a couple of thresholds. But when is GTS moving tasks between the CPU domains?

16 Task Migration Points 4 task migration points: When tasks are created (fork migration). At wakeup time (wakeup migration). With every scheduler tick (forced migration). When a CPU is about to become idle (idle pull).

17 Fork Migration When tasks are created (fork migration): Done by setting the task s load statistics to their maximum value. Tasks are placed on big CPUs unless they are: Kernel Threads Forked from init i.e, Android services. Android apps are forked from Zygote, hence go on big CPUs. Tasks are eventually migrated down if they aren t heavy enough.

18 Wakeup Migration At wakeup time (wakeup migration): When a task is to be placed on a CPU, the scheduler will normally prefer: The previous CPU the task ran on Or one in the same package. For GTS, the decision is based on the load a task had before it was suspended: if load(task) > hmp_up_threshold, select more potent HMP domain if load(task) < hmp_down_threshold, select less powerful HMP domain What happened in the past is likely to happen again.

19 Forced Migration With every scheduler tick (forced migration): Every CPU in the system has a scheduler tick. With each tick (minimum interval of 1 jiffies) a CPU s runqueue is rebalanced if event due. Each time the load balancer runs, the MP code will inspect the runqueue of all CPUs in the system: If LITTLE CPU can a task be moved to big cluster? if ((big CPU ) && (CPU overloaded)) offload lightest task. When offloading, always select an idle CPU to ensure CPU availability for the task. So that tasks can be migrated as quickly as possible as domains can stay balanced for a long time.

20 Idle Pull When a CPU is about to become idle(idle pull): When a CPU is about to go idle the scheduler will attempt to pull tasks away from other CPUs in the same domain. Happens only if the CPU average idle time is more than the estimated migration cost. Balancing within a domain is left to normal scheduler operation. If the scheduler didn t find any task to pull and CPU is in big cluster: Go through the runqueues of all online CPUs in the LITTLE cluster. If a task s load is above threshold, move it to a CPU in the big cluster. When moving a task, always look for the least loaded CPU.

21 MP Migration Types * Source: ARM Ltd.

22 Small Task Packing Scheduler will try to fit as many small task on a single CPU as possible. A small task is =< 90% of NICE_0_LOAD, i,e 921 Done on the LITTLE cluster only to make sure tasks on the big cluster have all the CPU time they need. Takes place when a task is waking up: Using the tracked load of CPU runqueues and tasks. Saturation threshold to make sure tasks offloaded from the big domain can keep being serviced. Effects of enabling small task packing: CPU operating point may increase CPUfreq governor will kick in. Wakeup latency of task may increase more tasks to run.

23 Key Things to Remember Load balancing at the CPU domain level is disabled to favour the GTS scheme. GTS works by comparing a task s runnable load ratio and migrating it to a different HMP domain if need be. There are 4 migration points: At creation time. At wakeup time. Every rebalance. When a CPU is about to become idle. Small task packing when CPU gating is possible.

24 One Last Remark GTS doesn t hotplug CPUs and is not concerned at all with hotplugging When hotplugging: It takes too long to bring a CPU in and out of service All smpboot threads need to be stopped. stop_machine threads suspend interrupts on all online CPUs. IRQs on the swapped CPU are diverted to another CPU. All processes in swapped CPU s runqueue are migrated. CPU is taken out of coherency. More CPUs means longer hotplug time per CPU. Very expensive to make a CPU coherent with the domain hierarchy again. The system needs intelligence to determine when CPUs will be swapped in and out.

25 GTS Tuning The GTS solution itself has a number of parameters that can be tuned. Examples: From /sys/kernel/hmp: up_threshold, down_threshold for task migration limits load_avg_period_ms and frequency_invariant_load_scale From the code: runqueue saturation when doing small task packing Amount of task on a runqueue to search when force migrating between domains

26 CPUFreq Governor Tuning Linaro and ARM have been using the interactive governor in their testing of the solution. Any governor can be used. b.l CPUfreq driver makes the architecture seamless to the governor. Example of interactive governor tuneables: hispeed_freq and go_hispeed_load target_loads timer_rate and min_sample_time above_hispeed_delay Governors will have tuneable parameters. Regardless of the governor used, there are parameters to adjust in order to yield the right behavior Default values are usually not what you want

27 MP Testing at Linaro As Linaro assimilate MP patches in the LSK, continuous integration testing is done daily to catch possible regressions. We run bbench with an audio track in the background good average test case. exercises both big and LITTLE clusters All automated in our LAVA environment and results verified each day. Full WA regression tests with each monthly release. TC2 is the only b.l platform being tested at Linaro - we d welcome other platforms.

28 Question and Acknowledgements Special thanks to: Chris Redpath (ARM) Robin Randhawa (ARM) Vincent Guittot (Linaro)

29 More about Linaro Connect: More about Linaro: More about Linaro engineering: Linaro members:

Power Management for Embedded Systems

Power Management for Embedded Systems Power Management for Embedded Systems Minsoo Ryu Hanyang University Why Power Management? Battery-operated devices Smartphones, digital cameras, and laptops use batteries Power savings and battery run

More information

POWER MANAGEMENT AND ENERGY EFFICIENCY

POWER MANAGEMENT AND ENERGY EFFICIENCY POWER MANAGEMENT AND ENERGY EFFICIENCY * Adopted Power Management for Embedded Systems, Minsoo Ryu 2017 Operating Systems Design Euiseong Seo (euiseong@skku.edu) Need for Power Management Power consumption

More information

ARM Vision for Thermal Management and Energy Aware Scheduling on Linux

ARM Vision for Thermal Management and Energy Aware Scheduling on Linux ARM Vision for Management and Energy Aware Scheduling on Linux Charles Garcia-Tobin, Software Power Architect, ARM Thomas Molgaard, Director of Product Management, ARM ARM Tech Symposia China 2015 November

More information

Towards Power Management for FreeBSD

Towards Power Management for FreeBSD Towards Power Management for FreeBSD Robin Randhawa robin.randhawa@arm.com FreeBSD Developer Summit Computer Laboratory University of Cambridge August 2015 Agenda An overview of Energy Aware Scheduling

More information

ò mm_struct represents an address space in kernel ò task represents a thread in the kernel ò A task points to 0 or 1 mm_structs

ò mm_struct represents an address space in kernel ò task represents a thread in the kernel ò A task points to 0 or 1 mm_structs Last time We went through the high-level theory of scheduling algorithms Scheduling Today: View into how Linux makes its scheduling decisions Don Porter CSE 306 Lecture goals Understand low-level building

More information

Scheduling. Don Porter CSE 306

Scheduling. Don Porter CSE 306 Scheduling Don Porter CSE 306 Last time ò We went through the high-level theory of scheduling algorithms ò Today: View into how Linux makes its scheduling decisions Lecture goals ò Understand low-level

More information

EECS 750: Advanced Operating Systems. 01/29 /2014 Heechul Yun

EECS 750: Advanced Operating Systems. 01/29 /2014 Heechul Yun EECS 750: Advanced Operating Systems 01/29 /2014 Heechul Yun 1 Administrative Next summary assignment Resource Containers: A New Facility for Resource Management in Server Systems, OSDI 99 due by 11:59

More information

ò Paper reading assigned for next Tuesday ò Understand low-level building blocks of a scheduler User Kernel ò Understand competing policy goals

ò Paper reading assigned for next Tuesday ò Understand low-level building blocks of a scheduler User Kernel ò Understand competing policy goals Housekeeping Paper reading assigned for next Tuesday Scheduling Don Porter CSE 506 Memory Management Logical Diagram Binary Memory Formats Allocators Threads Today s Lecture Switching System to CPU Calls

More information

A Study on C-group controlled big.little Architecture

A Study on C-group controlled big.little Architecture A Study on C-group controlled big.little Architecture Renesas Electronics Corporation New Solutions Platform Business Division Renesas Solutions Corporation Advanced Software Platform Development Department

More information

MediaTek CorePilot. Heterogeneous Multi-Processing Technology. Delivering extreme compute performance with maximum power efficiency

MediaTek CorePilot. Heterogeneous Multi-Processing Technology. Delivering extreme compute performance with maximum power efficiency MediaTek CorePilot Heterogeneous Multi-Processing Technology Delivering extreme compute performance with maximum power efficiency In July 2013, MediaTek delivered the industry s first mobile system on

More information

Enabling Arm DynamIQ support. Dan Handley (Arm) Ionela Voinescu (Arm) Vincent Guittot (Linaro)

Enabling Arm DynamIQ support. Dan Handley (Arm) Ionela Voinescu (Arm) Vincent Guittot (Linaro) Enabling Arm DynamIQ support Dan Handley (Arm) Ionela Voinescu (Arm) Vincent Guittot (Linaro) Agenda DynamIQ introduction DynamIQ and Arm Trusted Firmware OS Power Management with DynamIQ L3 partial power-down

More information

Intelligent Power Allocation for Consumer & Embedded Thermal Control

Intelligent Power Allocation for Consumer & Embedded Thermal Control Intelligent Power Allocation for Consumer & Embedded Thermal Control Ian Rickards ARM Ltd, Cambridge UK ELC San Diego 5-April-2016 Existing Linux Thermal Framework Trip1 Trip0 Thermal trip mechanism using

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

How to get realistic C-states latency and residency? Vincent Guittot

How to get realistic C-states latency and residency? Vincent Guittot How to get realistic C-states latency and residency? Vincent Guittot Agenda Overview Exit latency Enter latency Residency Conclusion Overview Overview PMWG uses hikey960 for testing our dev on b/l system

More information

SoC Idling & CPU Cluster PM

SoC Idling & CPU Cluster PM SoC Idling & CPU Cluster PM Presented by Ulf Hansson Lina Iyer Kevin Hilman Date BKK16-410 March 10, 2016 Event Linaro Connect BKK16 SoC Idling & CPU Cluster PM Idle management of devices via runtime PM

More information

<Insert Picture Here> Boost Linux Performance with Enhancements from Oracle

<Insert Picture Here> Boost Linux Performance with Enhancements from Oracle Boost Linux Performance with Enhancements from Oracle Chris Mason Director of Linux Kernel Engineering Linux Performance on Large Systems Exadata Hardware How large systems are different

More information

KEYNOTE FOR

KEYNOTE FOR THE OS SCHEDULER: A PERFORMANCE-CRITICAL COMPONENT IN LINUX CLUSTER ENVIRONMENTS KEYNOTE FOR BPOE-9 @ASPLOS2018 THE NINTH WORKSHOP ON BIG DATA BENCHMARKS, PERFORMANCE, OPTIMIZATION AND EMERGING HARDWARE

More information

Linux Plumber Conference Scheduler micro-conf

Linux Plumber Conference Scheduler micro-conf Linux Plumber Conference 2012 Scheduler micro-conf Topics How to keep CPU quiescent? Sharing information with other frameworks Tasks placement for asymmetric system RT scheduler

More information

CS 326: Operating Systems. CPU Scheduling. Lecture 6

CS 326: Operating Systems. CPU Scheduling. Lecture 6 CS 326: Operating Systems CPU Scheduling Lecture 6 Today s Schedule Agenda? Context Switches and Interrupts Basic Scheduling Algorithms Scheduling with I/O Symmetric multiprocessing 2/7/18 CS 326: Operating

More information

ARM big.little Technology Unleashed An Improved User Experience Delivered

ARM big.little Technology Unleashed An Improved User Experience Delivered ARM big.little Technology Unleashed An Improved User Experience Delivered Govind Wathan Product Specialist Cortex -A Mobile & Consumer CPU Products 1 Agenda Introduction to big.little Technology Benefits

More information

Kernel Korner What's New in the 2.6 Scheduler

Kernel Korner What's New in the 2.6 Scheduler Kernel Korner What's New in the 2.6 Scheduler When large SMP systems started spending more time scheduling processes than running them, it was time for a change. by Rick Lindsley As work began on the 2.5

More information

Who stole my CPU? Leonid Podolny Vineeth Remanan Pillai. Systems DigitalOcean

Who stole my CPU? Leonid Podolny Vineeth Remanan Pillai.  Systems DigitalOcean Who stole my CPU? Leonid Podolny Vineeth Remanan Pillai leonid@ vineeth@ Systems Engineering @ DigitalOcean 1 2 Introduction DigitalOcean Providing developers and businesses a reliable, easy-to-use cloud

More information

A Lightweight Pseudo CPU Hotplug Mechanism for Mobile Devices

A Lightweight Pseudo CPU Hotplug Mechanism for Mobile Devices 2016 10th International Conference on Next Generation Mobile Applications, Security and Technologies A Lightweight Pseudo CPU Hotplug Mechanism for Mobile Devices Kyoung Don Jang, Dong Hyun Kang, Do Hyoung

More information

Load Balancing. Minsoo Ryu. Department of Computer Science and Engineering. Hanyang University. Real-Time Computing and Communications Lab.

Load Balancing. Minsoo Ryu. Department of Computer Science and Engineering. Hanyang University. Real-Time Computing and Communications Lab. Load Balancing Minsoo Ryu Department of Computer Science and Engineering 2 1 Concepts of Load Balancing Page X 2 Load Balancing Algorithms Page X 3 Overhead of Load Balancing Page X 4 Load Balancing in

More information

Operating Systems Design 25. Power Management. Paul Krzyzanowski

Operating Systems Design 25. Power Management. Paul Krzyzanowski Operating Systems Design 25. Power Management Paul Krzyzanowski pxk@cs.rutgers.edu 1 Power Management Goal: Improve the battery life of mobile devices 2 CPU Voltage & Frequency Scaling Dynamic CPU Frequency

More information

POWER-AWARE SOFTWARE ON ARM. Paul Fox

POWER-AWARE SOFTWARE ON ARM. Paul Fox POWER-AWARE SOFTWARE ON ARM Paul Fox OUTLINE MOTIVATION LINUX POWER MANAGEMENT INTERFACES A UNIFIED POWER MANAGEMENT SYSTEM EXPERIMENTAL RESULTS AND FUTURE WORK 2 MOTIVATION MOTIVATION» ARM SoCs designed

More information

Scheduling in the Supermarket

Scheduling in the Supermarket Scheduling in the Supermarket Consider a line of people waiting in front of the checkout in the grocery store. In what order should the cashier process their purchases? Scheduling Criteria CPU utilization

More information

Scheduling, part 2. Don Porter CSE 506

Scheduling, part 2. Don Porter CSE 506 Scheduling, part 2 Don Porter CSE 506 Logical Diagram Binary Memory Formats Allocators Threads Today s Lecture Switching System to CPU Calls RCU scheduling File System Networking Sync User Kernel Memory

More information

Dongjun Shin Samsung Electronics

Dongjun Shin Samsung Electronics 2014.10.31. Dongjun Shin Samsung Electronics Contents 2 Background Understanding CPU behavior Experiments Improvement idea Revisiting Linux I/O stack Conclusion Background Definition 3 CPU bound A computer

More information

Understand Linux Components

Understand Linux Components Understand Linux Components Kill Bugs, and Fix Wasteful Code Klaas van Gend 1 Agenda Linux is not a single building block Buy, Build, Borrow Deploy vs. Debug Demo: Use GDB Lab: Kill a bug Power Management

More information

The Embedded Linux Problem

The Embedded Linux Problem The Embedded Linux Problem Mark.gross@intel.com Android-Linux kernel Architect February 2013 outline Little about me Intro History Environment Key questions Techniques Moving modules out of tree Summary

More information

Analysis of the BFS Scheduler in FreeBSD

Analysis of the BFS Scheduler in FreeBSD CS2106R Final Report Analysis of the BFS Scheduler in FreeBSD By Vaarnan Drolia Department of Computer Science School of Computing National University of Singapore 2011/12 CS2106R Final Report Analysis

More information

MediaTek CorePilot 2.0. Delivering extreme compute performance with maximum power efficiency

MediaTek CorePilot 2.0. Delivering extreme compute performance with maximum power efficiency MediaTek CorePilot 2.0 Heterogeneous Computing Technology Delivering extreme compute performance with maximum power efficiency In July 2013, MediaTek delivered the industry s first mobile system on a chip

More information

Roadmap for This Lecture

Roadmap for This Lecture Thread Scheduling 1 Roadmap for This Lecture Overview Priorities Scheduling States Scheduling Data Structures Quantum Scheduling Scenarios Priority Adjustments (boosts and decays) Multiprocessor Scheduling

More information

T. Cucinotta Real-Time Systems Lab (ReTiS) Scuola Superiore Sant'Anna Pisa Italy 1. Real-Time Scheduling on Linux and SCHED_DEADLINE

T. Cucinotta Real-Time Systems Lab (ReTiS) Scuola Superiore Sant'Anna Pisa Italy 1. Real-Time Scheduling on Linux and SCHED_DEADLINE T. Cucinotta Real-Time Systems Lab (ReTiS) Scuola Superiore Sant'Anna Pisa Italy 1 Real-Time Scheduling on Linux and SCHED_DEADLINE Linux CPU Schedulers Scheduling classes and policies Classes listed in

More information

SFO The Linux Kernel Scheduler. Viresh Kumar (PMWG)

SFO The Linux Kernel Scheduler. Viresh Kumar (PMWG) SFO17-421 The Linux Kernel Scheduler Viresh Kumar (PMWG) Topics CPU Scheduler The O(1) scheduler Current scheduler design Scheduling classes schedule() Scheduling classes and policies Sched class: STOP

More information

Course Syllabus. Operating Systems

Course Syllabus. Operating Systems Course Syllabus. Introduction - History; Views; Concepts; Structure 2. Process Management - Processes; State + Resources; Threads; Unix implementation of Processes 3. Scheduling Paradigms; Unix; Modeling

More information

Xen scheduler status. George Dunlap Citrix Systems R&D Ltd, UK

Xen scheduler status. George Dunlap Citrix Systems R&D Ltd, UK Xen scheduler status George Dunlap Citrix Systems R&D Ltd, UK george.dunlap@eu.citrix.com Goals for talk Understand the problem: Why a new scheduler? Understand reset events in credit1 and credit2 algorithms

More information

Automatic NUMA Balancing. Rik van Riel, Principal Software Engineer, Red Hat Vinod Chegu, Master Technologist, HP

Automatic NUMA Balancing. Rik van Riel, Principal Software Engineer, Red Hat Vinod Chegu, Master Technologist, HP Automatic NUMA Balancing Rik van Riel, Principal Software Engineer, Red Hat Vinod Chegu, Master Technologist, HP Automatic NUMA Balancing Agenda What is NUMA, anyway? Automatic NUMA balancing internals

More information

Copyright 2017 ARM Limited or its affiliates. All rights reserved.

Copyright 2017 ARM Limited or its affiliates. All rights reserved. Page 1 of 33 Revision Information The following revisions have been made to this document. Date Version Confidentiality Change 31 March 2017 1.0 Non-confidential Initial version of the document 30 October

More information

UTILIZING A BIG.LITTLE TM SOLUTION IN AUTOMOTIVE

UTILIZING A BIG.LITTLE TM SOLUTION IN AUTOMOTIVE UTILIZING A BIG.LITTLE TM SOLUTION IN AUTOMOTIVE JUN. 20, 2018 YOSHIYUKI ITO AUTOMOTIVE INFORMATION SOLUTION BUSINESS DIVISION RENESAS ELECTRONICS CORPORATION Today s Topics & Goal Requirement for big.little

More information

Getting RCU Further Out Of The Way

Getting RCU Further Out Of The Way Paul E. McKenney, IBM Distinguished Engineer, Linux Technology Center (Linaro) 31 August 2012 2012 Linux Plumbers Conference, Real Time Microconference RCU Was Once A Major Real-Time Obstacle rcu_read_lock()

More information

Red Hat Summit 2009 Rik van Riel

Red Hat Summit 2009 Rik van Riel 1 The Turtle And The Hare A Tale of Two Kernels Rik van Riel Senior Software Engineer, Red Hat September 3, 2009 2 The Turtle And The Hare A Tale of Two Kernels Rik van Riel Senior Software Engineer, Red

More information

Timers 1 / 46. Jiffies. Potent and Evil Magic

Timers 1 / 46. Jiffies. Potent and Evil Magic Timers 1 / 46 Jiffies Each timer tick, a variable called jiffies is incremented It is thus (roughly) the number of HZ since system boot A 32-bit counter incremented at 1000 Hz wraps around in about 50

More information

Review of the Stable Realtime Release Process

Review of the Stable Realtime Release Process Review of the Stable Realtime Release Process An unscientific, slightly opinionated stab at the current status... With the intent of generating some discussion. Frank Rowand, Sony Network Entertainment

More information

Abstract. Testing Parameters. Introduction. Hardware Platform. Native System

Abstract. Testing Parameters. Introduction. Hardware Platform. Native System Abstract In this paper, we address the latency issue in RT- XEN virtual machines that are available in Xen 4.5. Despite the advantages of applying virtualization to systems, the default credit scheduler

More information

Thread Scheduling. in FreeBSD September 2004 QUEUE rants:

Thread Scheduling. in FreeBSD September 2004 QUEUE rants: Thread Scheduling 58 September 2004 QUEUE rants: feedback@acmqueue.com MARSHALL KIRK McKUSICK, CONSULTANT GEORGE V. NEVILLE-NEIL, CONSULTANT A busy system makes thousands of scheduling decisions per second,

More information

Multi-Level Feedback Queues

Multi-Level Feedback Queues CS 326: Operating Systems Multi-Level Feedback Queues Lecture 8 Today s Schedule Building an Ideal Scheduler Priority-Based Scheduling Multi-Level Queues Multi-Level Feedback Queues Scheduling Domains

More information

Evaluation of Real-time Performance in Embedded Linux. Hiraku Toyooka, Hitachi. LinuxCon Europe Hitachi, Ltd All rights reserved.

Evaluation of Real-time Performance in Embedded Linux. Hiraku Toyooka, Hitachi. LinuxCon Europe Hitachi, Ltd All rights reserved. Evaluation of Real-time Performance in Embedded Linux LinuxCon Europe 2014 Hiraku Toyooka, Hitachi 1 whoami Hiraku Toyooka Software engineer at Hitachi " Working on operating systems Linux (mainly) for

More information

PyTimechart practical. Pierre Tardy Software Engineer - UMG October 2011

PyTimechart practical. Pierre Tardy Software Engineer - UMG October 2011 PyTimechart practical Pierre Tardy Software Engineer - UMG October 2011 Intel Employee since 2009 Working on Intel s phone platforms Meego Android Power Management Tools (pytimechart, buildbot) Open-Source

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

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

Scheduling the Intel Core i7

Scheduling the Intel Core i7 Third Year Project Report University of Manchester SCHOOL OF COMPUTER SCIENCE Scheduling the Intel Core i7 Ibrahim Alsuheabani Degree Programme: BSc Software Engineering Supervisor: Prof. Alasdair Rawsthorne

More information

Announcements. Reading. Project #1 due in 1 week at 5:00 pm Scheduling Chapter 6 (6 th ed) or Chapter 5 (8 th ed) CMSC 412 S14 (lect 5)

Announcements. Reading. Project #1 due in 1 week at 5:00 pm Scheduling Chapter 6 (6 th ed) or Chapter 5 (8 th ed) CMSC 412 S14 (lect 5) Announcements Reading Project #1 due in 1 week at 5:00 pm Scheduling Chapter 6 (6 th ed) or Chapter 5 (8 th ed) 1 Relationship between Kernel mod and User Mode User Process Kernel System Calls User Process

More information

PAGE REPLACEMENT. Operating Systems 2015 Spring by Euiseong Seo

PAGE REPLACEMENT. Operating Systems 2015 Spring by Euiseong Seo PAGE REPLACEMENT Operating Systems 2015 Spring by Euiseong Seo Today s Topics What if the physical memory becomes full? Page replacement algorithms How to manage memory among competing processes? Advanced

More information

Understanding Real Time Linux. Alex Shi

Understanding Real Time Linux. Alex Shi Understanding Real Time Linux Alex Shi Agenda What s real time OS RTL project status RT testing and tracing Reasons of latency and solutions for them Resources Summary What s real time OS Real time and

More information

QoS Handling with DVFS (CPUfreq & Devfreq)

QoS Handling with DVFS (CPUfreq & Devfreq) QoS Handling with DVFS (CPUfreq & Devfreq) MyungJoo Ham SW Center, 1 Performance Issues of DVFS Performance Sucks w/ DVFS! Battery-life Still Matters More Devices (components) w/ DVFS More Performance

More information

Per-entity Load Tracking

Per-entity Load Tracking Per-entity Load Tracking Hyunmin Yoon 어코드사업단 리눅스 CFS 와로드밸런서 교육 2 Per-entity Load Tracking Purpose Fair and responsive scheduling Maximizing system throughput Minimizing power consumption Problem of previous

More information

Enhancing Linux Scheduler Scalability

Enhancing Linux Scheduler Scalability Enhancing Linux Scheduler Scalability Mike Kravetz IBM Linux Technology Center Hubertus Franke, Shailabh Nagar, Rajan Ravindran IBM Thomas J. Watson Research Center {mkravetz,frankeh,nagar,rajancr}@us.ibm.com

More information

Multiprocessor Systems. Chapter 8, 8.1

Multiprocessor Systems. Chapter 8, 8.1 Multiprocessor Systems Chapter 8, 8.1 1 Learning Outcomes An understanding of the structure and limits of multiprocessor hardware. An appreciation of approaches to operating system support for multiprocessor

More information

CFS-v: I/O Demand-driven VM Scheduler in KVM

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, sung.min.lee@samsung.com) Software R&D Center, Samsung Electronics 2014. 10. 16 Problem in Server Consolidation 2/16

More information

CS Computer Systems. Lecture 6: Process Scheduling

CS Computer Systems. Lecture 6: Process Scheduling CS 5600 Computer Systems Lecture 6: Process Scheduling Scheduling Basics Simple Schedulers Priority Schedulers Fair Share Schedulers Multi-CPU Scheduling Case Study: The Linux Kernel 2 Setting the Stage

More information

Case Study: Challenges and Benefits in Integrating Real Time patch in PowerPc Based Media System

Case Study: Challenges and Benefits in Integrating Real Time patch in PowerPc Based Media System Case Study: Challenges and Benefits in Integrating Real Time patch in PowerPc Based Media System Manikandan Ramachandran Infosys Technologies Limited Electronic City, Hosur Road, Bengaluru 560100,India

More information

A case for bad big.little switching: How to scale power-performance in SI-HMP

A case for bad big.little switching: How to scale power-performance in SI-HMP A case for bad big.little switching: How to scale power-performance in SI-HMP Seehwan Yoo seehwan.yoo@mobileos.dankook.ac.kr Sang-Ah Lee sanga13@mobileos.dankook.ac.kr YoonSeok Shim sys11@mobileos.dankook.ac.kr

More information

W4118: advanced scheduling

W4118: advanced scheduling W4118: advanced scheduling Instructor: Junfeng Yang References: Modern Operating Systems (3 rd edition), Operating Systems Concepts (8 th edition), previous W4118, and OS at MIT, Stanford, and UWisc Outline

More information

By Arjan Van De Ven, Senior Staff Software Engineer at Intel.

By Arjan Van De Ven, Senior Staff Software Engineer at Intel. Absolute Power By Arjan Van De Ven, Senior Staff Software Engineer at Intel. Abstract: Power consumption is a hot topic from laptop, to datacenter. Recently, the Linux kernel has made huge steps forward

More information

Keeping up with LTS Linux Kernel Functional Testing on Devices

Keeping up with LTS Linux Kernel Functional Testing on Devices Keeping up with LTS Linux Kernel Functional Testing on Devices Tom Gall Director, Linaro Mobile Group Who is Linaro? Linaro is leading software collaboration in the ARM ecosystem Instead of duplicating

More information

Helio X20: The First Tri-Gear Mobile SoC with CorePilot 3.0 Technology

Helio X20: The First Tri-Gear Mobile SoC with CorePilot 3.0 Technology Helio X20: The First Tri-Gear Mobile SoC with CorePilot 3.0 Technology Tsung-Yao Lin, g-hsien Lee, Loda Chou, Clavin Peng, Jih-g Hsu, Jia-g Chen, John-CC Chen, Alex Chiou, Artis Chiu, David Lee, Carrie

More information

Resource Containers. A new facility for resource management in server systems. Presented by Uday Ananth. G. Banga, P. Druschel, J. C.

Resource Containers. A new facility for resource management in server systems. Presented by Uday Ananth. G. Banga, P. Druschel, J. C. Resource Containers A new facility for resource management in server systems G. Banga, P. Druschel, J. C. Mogul OSDI 1999 Presented by Uday Ananth Lessons in history.. Web servers have become predominantly

More information

Module 18: "TLP on Chip: HT/SMT and CMP" Lecture 39: "Simultaneous Multithreading and Chip-multiprocessing" TLP on Chip: HT/SMT and CMP SMT

Module 18: TLP on Chip: HT/SMT and CMP Lecture 39: Simultaneous Multithreading and Chip-multiprocessing TLP on Chip: HT/SMT and CMP SMT TLP on Chip: HT/SMT and CMP SMT Multi-threading Problems of SMT CMP Why CMP? Moore s law Power consumption? Clustered arch. ABCs of CMP Shared cache design Hierarchical MP file:///e /parallel_com_arch/lecture39/39_1.htm[6/13/2012

More information

Process Time. Steven M. Bellovin January 25,

Process Time. Steven M. Bellovin January 25, Multiprogramming Computers don t really run multiple programs simultaneously; it just appears that way Each process runs to completion, but intermixed with other processes Process 1 6 ticks Process 2 Process

More information

Energy Efficiency in Operating Systems

Energy Efficiency in Operating Systems Devices Timer interrupts CPU idling CPU frequency scaling Energy-aware scheduling Energy Efficiency in Operating Systems Björn Brömstrup Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik

More information

MiAMI: Multi-Core Aware Processor Affinity for TCP/IP over Multiple Network Interfaces

MiAMI: Multi-Core Aware Processor Affinity for TCP/IP over Multiple Network Interfaces MiAMI: Multi-Core Aware Processor Affinity for TCP/IP over Multiple Network Interfaces Hye-Churn Jang Hyun-Wook (Jin) Jin Department of Computer Science and Engineering Konkuk University Seoul, Korea {comfact,

More information

ARM Intelligent Power Allocation

ARM Intelligent Power Allocation ARM Intelligent Power Allocation 1 Agenda Background and Motivation What is ARM Intelligent Power Allocation? Results Status and Conclusions 2 Power Consumption Scenarios The illustration to the right

More information

Energy Efficiency Analysis of Heterogeneous Platforms: Early Experiences

Energy Efficiency Analysis of Heterogeneous Platforms: Early Experiences Energy Efficiency Analysis of Heterogeneous Platforms: Early Experiences Youhuizi Li, Weisong Shi, Congfeng Jiang, Jilin Zhang and Jian Wan Key Laboratory of Complex Systems Modeling and Simulation, Hangzhou

More information

When the OS gets in the way

When the OS gets in the way When the OS gets in the way (and what you can do about it) Mark Price @epickrram LMAX Exchange Linux When the OS gets in the way (and what you can do about it) Mark Price @epickrram LMAX Exchange It s

More information

Integrating CPU and GPU, The ARM Methodology. Edvard Sørgård, Senior Principal Graphics Architect, ARM Ian Rickards, Senior Product Manager, ARM

Integrating CPU and GPU, The ARM Methodology. Edvard Sørgård, Senior Principal Graphics Architect, ARM Ian Rickards, Senior Product Manager, ARM Integrating CPU and GPU, The ARM Methodology Edvard Sørgård, Senior Principal Graphics Architect, ARM Ian Rickards, Senior Product Manager, ARM The ARM Business Model Global leader in the development of

More information

Performance Tools for Technical Computing

Performance Tools for Technical Computing Christian Terboven terboven@rz.rwth-aachen.de Center for Computing and Communication RWTH Aachen University Intel Software Conference 2010 April 13th, Barcelona, Spain Agenda o Motivation and Methodology

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

Native POSIX Thread Library (NPTL) CSE 506 Don Porter

Native POSIX Thread Library (NPTL) CSE 506 Don Porter Native POSIX Thread Library (NPTL) CSE 506 Don Porter Logical Diagram Binary Memory Threads Formats Allocators Today s Lecture Scheduling System Calls threads RCU File System Networking Sync User Kernel

More information

ECE 669 Parallel Computer Architecture

ECE 669 Parallel Computer Architecture ECE 669 Parallel Computer Architecture Lecture 9 Workload Evaluation Outline Evaluation of applications is important Simulation of sample data sets provides important information Working sets indicate

More information

Processes and Threads. Processes and Threads. Processes (2) Processes (1)

Processes and Threads. Processes and Threads. Processes (2) Processes (1) Processes and Threads (Topic 2-1) 2 홍성수 Processes and Threads Question: What is a process and why is it useful? Why? With many things happening at once in a system, need some way of separating them all

More information

EECS 482 Introduction to Operating Systems

EECS 482 Introduction to Operating Systems EECS 482 Introduction to Operating Systems Winter 2018 Harsha V. Madhyastha Monitors vs. Semaphores Monitors: Custom user-defined conditions Developer must control access to variables Semaphores: Access

More information

Maintaining Linux Long Term & Adding Specific Features in Telecom Systems. Keika Kobayashi NEC Communication Systems Sep 29, Japan2010

Maintaining Linux Long Term & Adding Specific Features in Telecom Systems. Keika Kobayashi NEC Communication Systems Sep 29, Japan2010 Maintaining Linux Long Term & Adding Specific Features in Telecom Systems Keika Kobayashi NEC Communication Systems Sep 29, 2010@LinuxCon Japan2010 OUTLINE 1. Background 2. What we did 1. Keep kernel stable.

More information

Operating Systems. Process scheduling. Thomas Ropars.

Operating Systems. Process scheduling. Thomas Ropars. 1 Operating Systems Process scheduling Thomas Ropars thomas.ropars@univ-grenoble-alpes.fr 2018 References The content of these lectures is inspired by: The lecture notes of Renaud Lachaize. The lecture

More information

- information for users and developers - Dominik Brodowski some additions and corrections by Nico Golde

- information for users and developers - Dominik Brodowski some additions and corrections by Nico Golde 1 von 5 11.10.2016 10:03 CPU frequency and voltage scaling code in the Linux(TM) kernel L i n u x C P U F r e q C P U F r e q G o v e r n o r s - information for users and developers - Dominik Brodowski

More information

Q&A updates 2 Question 1: Question 2: Question 3:

Q&A updates 2 Question 1: Question 2: Question 3: Q&A updates 2 Question 1: I am the member of asc15. I encounter a problem when I execute a mic problem. The compile is right, but when I execute it, it appears the wrong message that "On the remote process,

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

Motivation. Threads. Multithreaded Server Architecture. Thread of execution. Chapter 4

Motivation. Threads. Multithreaded Server Architecture. Thread of execution. Chapter 4 Motivation Threads Chapter 4 Most modern applications are multithreaded Threads run within application Multiple tasks with the application can be implemented by separate Update display Fetch data Spell

More information

Big.LITTLE Processing with ARM Cortex -A15 & Cortex-A7

Big.LITTLE Processing with ARM Cortex -A15 & Cortex-A7 Big.LITTLE Processing with ARM Cortex -A15 & Cortex-A7 Improving Energy Efficiency in High-Performance Mobile Platforms Peter Greenhalgh, ARM September 2011 This paper presents the rationale and design

More information

State of the Linux Kernel

State of the Linux Kernel State of the Linux Kernel Timothy D. Witham Chief Technology Officer Open Source Development Labs, Inc. 1 Agenda Process Performance/Scalability Responsiveness Usability Improvements Device support Multimedia

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

Adventures In Real-Time Performance Tuning, Part 2

Adventures In Real-Time Performance Tuning, Part 2 Adventures In Real-Time Performance Tuning, Part 2 The real-time for Linux patchset does not guarantee adequate real-time behavior for all target platforms. When using real-time Linux on a new platform

More information

I/O and virtualization

I/O and virtualization I/O and virtualization CSE-C3200 Operating systems Autumn 2015 (I), Lecture 8 Vesa Hirvisalo Today I/O management Control of I/O Data transfers, DMA (Direct Memory Access) Buffering Single buffering Double

More information

int $0x32 // call interrupt number 50

int $0x32 // call interrupt number 50 Kernel Programming: Process isolation, goal to make programs run fast and reliably o Processes should not affect others, unless there s a specific and allowed communication channel o Each process can act

More information

Distributed Systems 27. Process Migration & Allocation

Distributed Systems 27. Process Migration & Allocation Distributed Systems 27. Process Migration & Allocation Paul Krzyzanowski pxk@cs.rutgers.edu 12/16/2011 1 Processor allocation Easy with multiprocessor systems Every processor has access to the same memory

More information

Akaros. Barret Rhoden, Kevin Klues, Andrew Waterman, Ron Minnich, David Zhu, Eric Brewer UC Berkeley and Google

Akaros. Barret Rhoden, Kevin Klues, Andrew Waterman, Ron Minnich, David Zhu, Eric Brewer UC Berkeley and Google Akaros Barret Rhoden, Kevin Klues, Andrew Waterman, Ron Minnich, David Zhu, Eric Brewer UC Berkeley and Google High Level View Research OS, made for single nodes Large-scale SMP / many-core architectures

More information

Introduction to Embedded Systems. Lab Logistics

Introduction to Embedded Systems. Lab Logistics Introduction to Embedded Systems CS/ECE 6780/5780 Al Davis Today s topics: lab logistics interrupt synchronization reentrant code 1 CS 5780 Lab Logistics Lab2 Status Wed: 3/11 teams have completed their

More information

ARM instruction sets and CPUs for wide-ranging applications

ARM instruction sets and CPUs for wide-ranging applications ARM instruction sets and CPUs for wide-ranging applications Chris Turner Director, CPU technology marketing ARM Tech Forum Taipei July 4 th 2017 ARM computing is everywhere #1 shipping GPU in the world

More information

Scheduling Mar. 19, 2018

Scheduling Mar. 19, 2018 15-410...Everything old is new again... Scheduling Mar. 19, 2018 Dave Eckhardt Brian Railing Roger Dannenberg 1 Outline Chapter 5 (or Chapter 7): Scheduling Scheduling-people/textbook terminology note

More information