1 / 15

Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory

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). Problems.

crevan
Download Presentation

Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 T1 S ✘ R ✘ R ✘ ✘ R T2 ✔ S T3 S ✔ S ✔ T4 ✔ S

  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 T1 S ✔ S ✔ T2 S ✘ ✘ ✘ ✘ ✘ ✔ S ✘ ✘ ✘ ✘ ✔ T1 S ✔ S ✔ S ✔ S ✔ T2 S ✘ R ✘ R ✘ R ✘ R

  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 Contributions

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

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

  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 Contributions OPT VR IVC ← throughput predictability →

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

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

  12. Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory Irrevocable (IVC) ← throughput predictability → Contributions • Ensures commit • Lowest overhead • Enables RO transactions to commit • Hinders parallelism T1 S R W ✘ T2 S(IVC) R ✔ T3 S(RO) R ✔ T4 S R ✔ OPT VR IVC

  13. Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory 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

  14. 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

  15. 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

More Related