Download presentation
Presentation is loading. Please wait.
Published byPierce Dean Modified over 9 years ago
1
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)
2
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
3
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
4
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 ✘
5
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
6
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
7
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
8
Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory Time Slice Extensions ● Time-Slice Extension S T1 ✘ ✔ S ✔ Yield
9
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 →
10
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 →
11
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
12
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
13
Implementation Monitoring of transaction execution time Keep previous 10 000 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
14
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
15
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.