Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory

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

description

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. - PowerPoint PPT Presentation

Transcript of Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory

Page 1: 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)

Page 2: Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory

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

Page 3: Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory

Kernel-Assisted Scheduling and Deadline Support for Software Kernel-Assisted Scheduling and Deadline Support for Software Transactional MemoryTransactional Memory

High contention scenario

● Long transactions abort frequently

S ✘

S ✔

✘ ✘R R ✘ R

T2

T1

S S ✔✔

S ✔

T3

T4

Page 4: Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory

Kernel-Assisted Scheduling and Deadline Support for Software Kernel-Assisted Scheduling and Deadline Support for Software Transactional MemoryTransactional Memory

High contention scenario

● Transactions which re-execute immediately are likely to abort again...

● ...but exponential back-offs are imprecise

S ✘

S S S S ✔✔✔✔

✘R R ✘ R

T1

T2

S ✘

S S

✔✘

✔ ✔

✘✘ ✔ ✘ ✘

T1

T2

R✘

✘✘ S ✘

Page 5: Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory

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

Page 6: Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory

Kernel-Assisted Scheduling and Deadline Support for Software Kernel-Assisted Scheduling and Deadline Support for Software Transactional MemoryTransactional Memory

Scheduling Approach

● Add Serializing Contention Managers to TinySTM● Hard Serializing● Soft Serializing

● Add Linux kernel specific support ● Time Slice extensions

ContributionsContributions

Page 7: Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory

Kernel-Assisted Scheduling and Deadline Support for Software Kernel-Assisted Scheduling and Deadline Support for Software Transactional MemoryTransactional Memory

Serializing

● Conflict bookkeeping

● Hard Serializing (kernel queue)

● Soft Serializing (yield + priority)

ContributionsContributions

S

S ✔T1

T2

✘ R ✔

S

S ✔T1

T2

✘ R ✔Reschedule /yield

Page 8: Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory

Kernel-Assisted Scheduling and Deadline Support for Software Kernel-Assisted Scheduling and Deadline Support for Software Transactional MemoryTransactional Memory

Time Slice Extensions

● Time-Slice Extension

ContributionsContributions

ST1

✘ ✔

ST1

✔ Yield

Page 9: Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory

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

ContributionsContributions

OPT VR IVC

← throughputpredictability →

Page 10: Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory

Kernel-Assisted Scheduling and Deadline Support for Software Kernel-Assisted Scheduling and Deadline Support for Software Transactional MemoryTransactional Memory

Optimistic (OPT)

ContributionsContributions

S

S ✔T1

T2

WR

R

OPT VR IVC

Highest throughputLow overheadFast readsDoes not detect R/W conflicts until commit

← throughputpredictability →

Page 11: Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory

Kernel-Assisted Scheduling and Deadline Support for Software Kernel-Assisted Scheduling and Deadline Support for Software Transactional MemoryTransactional Memory

Visible Reads (VR)

ContributionsContributions

S(VR)

ST1

T2

R

R

✘W→

← throughput predictability →

OPT VR IVC

Reads can be seen by other transactionsEnables detecting R/W conflictsHigh overhead for Reads

Page 12: Kernel-Assisted Scheduling and Deadline Support for Software Transactional Memory

Kernel-Assisted Scheduling and Deadline Support for Software Kernel-Assisted Scheduling and Deadline Support for Software Transactional MemoryTransactional Memory

Irrevocable (IVC)

ContributionsContributions

S(IVC)

ST1

T2

WR

R

ST4

R ✔

S(RO)T3

R ✔

← throughput predictability →

OPT VR IVC

Ensures commitLowest overheadEnables RO transactions to commitHinders parallelism

Page 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

Kernel-Assisted Scheduling and Deadline Support for Software Kernel-Assisted Scheduling and Deadline Support for Software Transactional MemoryTransactional Memory

Page 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

Kernel-Assisted Scheduling and Deadline Support for Software Kernel-Assisted Scheduling and Deadline Support for Software Transactional MemoryTransactional Memory

Page 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

Kernel-Assisted Scheduling and Deadline Support for Software Kernel-Assisted Scheduling and Deadline Support for Software Transactional MemoryTransactional Memory