Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory Walther Maldonado, Patrick Marlier, Pascal Felber, Etienne Rivière University.

Slides:



Advertisements
Similar presentations
Scheduling CSCI 3753 Operating Systems Spring 2005 Prof. Rick Han.
Advertisements

Scheduling Memory Transactions. Synchronization alternatives: Transactional Memory  A (memory) transaction is a sequence of memory reads and writes executed.
Scheduling-based TM Contention Management A survey talk 3 rd workshop on the Theory of Transactional Memory, Sep 22-23, 2011, Rome Danny Hendler Ben-Gurion.
CPU Scheduling Questions answered in this lecture: What is scheduling vs. allocation? What is preemptive vs. non-preemptive scheduling? What are FCFS,
CPU SCHEDULING RONG ZHENG. OVERVIEW Why scheduling? Non-preemptive vs Preemptive policies FCFS, SJF, Round robin, multilevel queues with feedback, guaranteed.
Chapter 5 CPU Scheduling. CPU Scheduling Topics: Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
Cs238 CPU Scheduling Dr. Alan R. Davis.
Operating System Process Scheduling (Ch 4.2, )
Operating System I Process Scheduling. Schedulers F Short-Term –“Which process gets the CPU?” –Fast, since once per 100 ms F Long-Term (batch) –“Which.
Chapter 6: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 Chapter 6: CPU Scheduling Basic.
Scheduling Memory Transactions Parallel computing day, Ben-Gurion University, October 20, 2009.
Dresden—December 11, 2001 The BEST Desktop Soft Real-Time Scheduler Scott Banachowski and Scott Brandt University of California, Santa Cruz
Cs238 CPU Scheduling Dr. Alan R. Davis. CPU Scheduling The objective of multiprogramming is to have some process running at all times, to maximize CPU.
Real-Time Kernels and Operating Systems. Operating System: Software that coordinates multiple tasks in processor, including peripheral interfacing Types.
Job scheduling Queue discipline.
Slide 6-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 6 Threads and Scheduling 6.
Operating System Process Scheduling (Ch 4.2, )
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
 2004 Deitel & Associates, Inc. All rights reserved. 1 Chapter 8 – Processor Scheduling Outline 8.1 Introduction 8.2Scheduling Levels 8.3Preemptive vs.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Module 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
More Scheduling cs550 Operating Systems David Monismith.
Cosc 4740 Chapter 6, Part 3 Process Synchronization.
ICS Principles of Operating Systems Lecture 5 - CPU Scheduling Prof. Nalini Venkatasubramanian
CSS430 CPU Scheduling1 Textbook Ch6 These slides were compiled from the Applied OSC textbook slides (Silberschatz, Galvin, and Gagne) and the instructor’s.
Chapter 101 Multiprocessor and Real- Time Scheduling Chapter 10.
CPU Scheduling CSCI 444/544 Operating Systems Fall 2008.
ICOM Noack Scheduling For Distributed Systems Classification – degree of coupling Classification – granularity Local vs centralized scheduling Methods.
Survey of Real Time Databases Telvis Calhoun CSc 6710.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
Lecture 7: Scheduling preemptive/non-preemptive scheduler CPU bursts
Chapter 5: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 5: CPU Scheduling Basic Concepts Scheduling Criteria.
Chapter 5: Process Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Basic Concepts Maximum CPU utilization can be obtained.
1 11/29/2015 Chapter 6: CPU Scheduling l Basic Concepts l Scheduling Criteria l Scheduling Algorithms l Multiple-Processor Scheduling l Real-Time Scheduling.
Cpr E 308 Spring 2005 Process Scheduling Basic Question: Which process goes next? Personal Computers –Few processes, interactive, low response time Batch.
Embedded Systems OS. Reference Materials The Concise Handbook of Real- Time Systems TimeSys Corporation.
1 CS.217 Operating System By Ajarn..Sutapart Sappajak,METC,MSIT Chapter 5 CPU Scheduling Slide 1 Chapter 5 CPU Scheduling.
Performance Performance is about time and the software system’s ability to meet timing requirements.
1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling.
1 Uniprocessor Scheduling Chapter 3. 2 Alternating Sequence of CPU And I/O Bursts.
Operating Systems Unit 5: – Processor scheduling – Java – Linux – Windows XP Operating Systems.
Lecture 4 CPU scheduling. Basic Concepts Single Process  one process at a time Maximum CPU utilization obtained with multiprogramming CPU idle :waiting.
CPU scheduling.  Single Process  one process at a time  Maximum CPU utilization obtained with multiprogramming  CPU idle :waiting time is wasted 2.
Basic Concepts Maximum CPU utilization obtained with multiprogramming
Real-Time Operating Systems RTOS For Embedded systems.
Workshop on Transactional Memory 2012 Walther Maldonado Moreira University of Neuchâtel (UNINE), Switzerland Pascal Felber UNINE Gilles Muller INRIA, France.
REAL-TIME OPERATING SYSTEMS
Scheduling of Non-Real-Time Tasks in Linux (SCHED_NORMAL/SCHED_OTHER)
Wayne Wolf Dept. of EE Princeton University
Chapter 8 – Processor Scheduling
Operating Systems Processes Scheduling.
Real-time Software Design
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Lecture 21: Introduction to Process Scheduling
Chapter 6: CPU Scheduling
Outline Scheduling algorithms Multi-processor scheduling
Chapter 6: CPU Scheduling
Lecture 21: Introduction to Process Scheduling
Scheduling of Regular Tasks in Linux
Chapter 10 Multiprocessor and Real-Time Scheduling
Operating System , Fall 2000 EA101 W 9:00-10:00 F 9:00-11:00
Shortest-Job-First (SJR) Scheduling
Chapter 6: CPU Scheduling
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Scheduling of Regular Tasks in Linux
Presentation transcript:

Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory Walther Maldonado, Patrick Marlier, Pascal Felber, Etienne Rivière University of Neuchâtel, Switzerland Julia Lawall (DIKU, Denmark) Gilles Muller (INRIA, France)

Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory Problems ● Target : situations where conflicts degrade performance because of how transactions are scheduled ● Two scenarios considered : ● Performance on high-contention settings (i.e.: large number of threads) ● Responsiveness for reactive applications

Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory High contention scenario ● Long transactions abort frequently S ✘ S ✔ ✘✘ RR ✘ R T2 T1 S S ✔ ✔ S ✔ T3 T4

Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory High contention scenario ● Transactions which re-execute immediately are likely to abort again... ●...but exponential back-offs are imprecise S ✘ SSSS ✔✔✔✔ ✘ RR ✘ R T1 T2 S ✘ SS ✔ ✘ ✔✔ ✘✘ ✔ ✘✘ T1 T2 R ✘ ✘✘ S ✘

Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory Deadlines & Real Time ● Reactive (soft real time ) applications have time constraints ● Quality of Service : acceptable miss rate ● Example : Rendering ● Target : 60 fps, deadline : 16ms / frame ● We need an acceptable QoS for the reactive transaction (s) ● QoS : 95% (57 fps) ● QoS : 80% (48 fps) ● Minimize penalty on other (computing) transactions

Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory Scheduling Approach ● Add Serializing Contention Managers to TinySTM ● Hard Serializing ● Soft Serializing ● Add Linux kernel specific support ● Time Slice extensions

Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory Serializing ● Conflict bookkeeping ● Hard Serializing (kernel queue) ● Soft Serializing (yield + priority) S S ✔ T1 T2 ✘ R ✔ S S ✔ T1 T2 ✘ R ✔ Reschedule / yield

Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory Time Slice Extensions ● Time-Slice Extension S T1 ✘ ✔ S ✔ Yield

Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory Considerations for Deadlines ● Hypothesis: ● Stable transaction length ● Only one thread with deadlines ● Approach based on changing execution modes on abort depending on remaining time before the deadline OPTVRIVC ← throughput predictability →

Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory Optimistic (OPT) S S ✔ T1 T2 ✘ WR R OPTVRIVC Highest throughput Low overhead Fast reads  Does not detect R/W conflicts until commit ← throughput predictability →

Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory Visible Reads (VR) S(VR) S T1 T2 ✔ R R ✘ W→ ← throughput predictability → OPTVRIVC Reads can be seen by other transactions Enables detecting R/W conflicts  High overhead for Reads

Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory Irrevocable (IVC) S(IVC) S T1 T2 ✔ WR R S T4 R ✔ S(RO) T3 R ✔ ✘ ← throughput predictability → OPTVRIVC Ensures commit Lowest overhead Enables RO transactions to commit  Hinders parallelism

Implementation Monitoring of transaction execution time Keep previous executions Time slice extension at the kernel level Disable time sampling in case of preemption Adaptive run-time system implemented in TinySTM Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory

Results at a glance ● Scheduling: less or no degradation when the number of thread increases ● Performance varies widely based on workload ● Future work → a workload adapting contention manager ● Soft-realtime: less degradation of non-real time transactions while maintaining 99% success rate for the real-time one ● Future work → support of multiple threads with deadlines Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory

Detailed results PP0PP 2010 Scheduling support for transactional memory contention management DSN 2011 Deadline-Aware Scheduling for Software Transactional Memory Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory