Process Scheduling via Memory Bandwidth Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current process schedulers face challenges in managing shared resources efficiently, leading to performance bottlenecks and instability in I/O-bound applications, particularly in multi-core systems, where CPU quotas alone are insufficient to guarantee performance and may result in missed deadlines and system instability.
Innovation Solution
A method that determines low-level and system-level metrics for hardware resources and applications, using a control node to provide constraints and instructions for optimal scheduling and allocation of processes across network nodes, considering shared resource usage and system performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If CPU time division is used as the main mechanism to partition CPU workload, then CPU-bound applications can be adequately supported, but I/O-bound applications experience performance bottlenecks due to memory accesses and shared hardware resource congestion
Solution Approach 1:
The patent changes the scheduling parameter from CPU time quantum to memory bandwidth allocation. The memory scheduler monitors memory access patterns and dynamically adjusts memory bandwidth allocation to different processes, ensuring I/O-bound applications receive sufficient memory bandwidth even when running on shared hardware resources with other processes.
Solution Approach 2:
The patent introduces a memory scheduler as an intermediary layer between the CPU scheduler and the memory subsystem. This memory scheduler acts as a mediator that manages memory bandwidth allocation independently from CPU time slicing, allowing I/O-bound applications to maintain performance guarantees without being affected by CPU scheduling decisions or shared hardware resource contention.
2Reliability
If hardware resources are overprovisioned to guarantee stable and deterministic execution environment, then system stability and QoS can be ensured, but hardware costs and resource utilization efficiency significantly increase
Solution Approach 1:
The patent implements dynamic memory bandwidth allocation that adjusts resource distribution in real-time based on actual system conditions and process needs. The memory scheduler continuously monitors memory access patterns and dynamically reconfigures bandwidth allocation, allowing the system to maintain stability with standardized hardware by adapting resource distribution to current workload requirements rather than overprovisioning for worst-case scenarios.
Solution Approach 2:
The patent employs feedback mechanisms where the memory scheduler monitors memory access patterns, bandwidth utilization, and process performance metrics. Based on this feedback, the scheduler dynamically adjusts memory bandwidth allocation to maintain QoS guarantees, allowing the system to achieve deterministic behavior through active control rather than static overprovisioning of hardware resources.
3Productivity
If multiple I/O-bound applications are co-located on single-core or multi-core CPUs for cost-saving reasons, then hardware resource utilization improves, but shared hardware resources cause congestion and performance bottlenecks
Solution Approach 1:
The patent segments memory bandwidth allocation into dedicated portions for different processes or applications sharing the same CPU core. The memory scheduler divides the total memory bandwidth into allocable units and distributes them to co-located I/O-bound applications based on their needs and priorities, preventing any single process from monopolizing memory resources and causing congestion that would affect other processes on the same core.
4Device complexity
If CPU quota is used for process scheduling in multi-core systems, then scheduling simplicity is maintained, but performance guarantees fail because processes on different cores can still interfere through shared resources
Solution Approach 1:
The patent introduces a memory scheduler as an intermediary layer that operates independently from the CPU scheduler. This memory scheduler manages memory bandwidth allocation at the memory subsystem level, ensuring that even if processes on different cores share hardware resources, each process receives guaranteed memory bandwidth through the memory scheduler's control, thus providing performance guarantees without increasing CPU scheduling complexity.
Data Source
AI summary
Methods, nodes, and a system for process scheduling, as well as corresponding computer programs and computer-program products.


