Enforcing Quality of Service Through Hardware Resource Aware Process Scheduling
- Resource Type
- Conference
- Authors
- Jagemar, Marcus; Ermedahl, Andreas; Eldh, Sigrid; Behnam, Moris; Lisper, Bjorn
- Source
- 2018 IEEE 23rd International Conference on Emerging Technologies and Factory Automation (ETFA) Emerging Technologies and Factory Automation (ETFA), 2018 IEEE 23rd International Conference on. 1:329-336 Sep, 2018
- Subject
- Communication, Networking and Broadcast Technologies
Components, Circuits, Devices and Systems
Computing and Processing
Robotics and Control Systems
Signal Processing and Analysis
Phasor measurement units
Quality of service
Monitoring
Resource management
Job shop scheduling
Correlation
Linux
- Language
- ISSN
- 1946-0759
Hardware manufacturers are forced to improve system performance continuously due to advanced and computationally demanding system functions. Unfortunately - more powerful hardware leads to increased costs. Instead, companies attempt to improve performance by consolidating multiple functions to share the same hardware to exploit existing performance instead. In legacy systems, each function had individual execution environment that guaranteed HW resource isolation and therefore the Quality of Service (QoS). Consolidation of multiple functions increases the risk of shared resource congestion. Current process schedulers focus on time quanta and do not consider shared resources. We present a novel process scheduler that complements current process schedulers by enforcing QoS though Shared Resource Aware (SRA) process scheduling. The SRA scheduler programs the Performance Monitoring Unit (PMU) to generate an overflow interrupt when reaching the assigned process resource quota. The scheduler has the possibility to swap out the process when receiving the interrupt allowing it to enforce the QoS for the scheduled process. We have implemented our scheduling policy as a new scheduling class in Linux. Our experiments show that it efficiently enforces QoS without seriously affect the shared resource usage of other processes executing on the same HW.