Process Scheduling via Memory Bandwidth Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImproveCPU-bound application performanceVSAvoidI/O-bound application QoS guarantee
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #35Parameter changes

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvesystem stabilityVSAvoidhardware resource quantity
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improvehardware resource utilizationVSAvoidshared resource congestion
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvescheduling mechanism complexityVSAvoidperformance guarantee
Core Design Contradiction:
Device complexityVSReliability

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11132220B2Process scheduling
Publication Date: 2021.09.28 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • US11132220B2 patent drawing
  • US11132220B2 patent drawing
  • US11132220B2 patent drawing

AI summary

Methods, nodes, and a system for process scheduling, as well as corresponding computer programs and computer-program products.