Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory Walther Maldonado, Patrick Marlier, Pascal Felber, Etienne Rivière University."— Presentation transcript:

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


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

Similar presentations


Ads by Google