Paper summary
Predict interference before sharing a GPU
GPU sharing is more useful when the scheduler accounts for how much each job can be slowed down.
Running training jobs together can improve GPU utilization, but interference changes completion time unevenly across job combinations. TensorShare introduces a GPU SLA: the maximum acceptable ratio of completion time under sharing to completion time with dedicated use.
Filter job pairs using predicted slowdown
An introspector profiles each job in isolation, and a learned predictor estimates slowdown for candidate pairs. The scheduler first checks matching worker counts, available GPU memory and both jobs’ GPU SLAs.
A feasible pairing must satisfy both GPU capacity and each job’s slowdown limit.
Among feasible pairs, TensorShare selects combinations to reduce completion time and GPU time. Jobs run alone when no pairing satisfies the constraints.
View full-size figureMeasure SLA violations in a physical testbed
The physical evaluation uses two GPU machines managed through Kubernetes. Experiments form queues by sampling from a pool of 29 training jobs and compare TensorShare with ordinary and reactive GPU sharing.
TensorShare reports a 0.7% GPU-SLA violation rate, reducing violations by 47.3× relative to ordinary sharing and 30.3× relative to reactive sharing. Simulated production traces and unseen-model tests are evaluated separately.
| Metric | Result |
|---|---|
| Violation rate | 0.7% |
| Reduction versus ordinary sharing | 47.3× |
| Reduction versus reactive sharing | 30.3× |
Key takeaways
- GPU sharing is a constrained performance choice. Each job’s slowdown tolerance defines which utilization gains are acceptable.
- Interference is a property of the pair. Predicting both jobs’ behavior lets the scheduler reject unsuitable combinations before co-execution.
- Capacity and SLA checks precede optimization. Completion time and GPU time guide selection among pairs that satisfy those requirements.