Task Scheduler Memory Locality Assignment
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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
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.
Data Source
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.


