Task Scheduler Memory Locality Assignment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiple-processor computer systems, the scheduler typically does not consider the location of a task's allocated physical memory when assigning tasks to processors, leading to performance issues due to increased remote memory access, and existing solutions like cache-warmth approaches are inadequate, especially under high load conditions.

Innovation Solution

A method that determines the resident set size and locational information of each task's physical memory to assign tasks to the processor with the largest portion of local memory, minimizing remote memory access and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the scheduler assigns tasks to processors without considering the location of physical memory, then task assignment is simple and fast, but remote memory access increases and performance deteriorates

Engineering Contradiction:
Improvetask execution performanceVSAvoidscheduler complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The scheduler proactively determines the locational information of physical memory allocated to each task before assigning the task to a processor. This preliminary action of identifying which processor has local memory for the task's physical memory allows the scheduler to make informed assignment decisions that minimize remote memory access and maximize performance.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the scheduler considers locational information of physical memory to assign tasks, then remote memory access is reduced and performance improves, but the complexity of task assignment increases

Engineering Contradiction:
Improvetask execution performanceVSAvoidtime for task assignment
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system pre-determines the locational information of physical memory allocated to tasks before scheduling decisions are made. This preliminary determination of memory location data allows the scheduler to quickly match tasks with appropriate processors based on local memory availability, reducing the time penalty of considering additional information.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If tasks are assigned to processors with local memory, then remote memory access is minimized and performance improves, but the scheduler must gather and process additional information about memory allocation

Engineering Contradiction:
Improvesystem performanceVSAvoidinformation processing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The operating system's memory management subsystem automatically tracks and maintains locational information about physical memory allocated to tasks. This self-service mechanism means the scheduler can query already-organized memory location data without needing to independently gather or process complex memory allocation information, reducing the scheduler's information processing burden.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7689993B2Assigning tasks to processors based at least on resident set sizes of the tasks
Publication Date: 2010.03.30 X CORP
  • US7689993B2 patent drawing
  • US7689993B2 patent drawing
  • US7689993B2 patent drawing

AI summary

Tasks are assigned to processors of a system. The resident set size of each task is determined, specifying the amount of physical information allocated thereto, and locational information of this memory with respect to the processors is determined. Each task is assigned one processor, based on the task's resident set size, and the locational information of the task's allocated physical memory. Each task is attempted to be assigned to the processor closest to the largest portion of the physical memory allocated thereto. A number of the tasks may be determined as best suited to run on a given processor, but the given processor may be unable to run them all. The processor may be thus assigned only those tasks that have a greatest amount of physical memory allocated that is closest to the processor, such as the greatest amount or percentage of physical memory allocated that is local to the processor.