Patent ID: 7689993
Filing Date: 2010-03-30
Classification: G06F

Abstract:
1. A method comprising: for each task of a plurality of tasks to be run on a plurality of processors of a system including a first processor and a second processor, determining a resident set size of the task specifying an amount of physical memory allocated to the task where the amount of physical memory allocated to the task has been divided over local physical memories of the processors such that the first processor has a first amount of local physical memory allocated to the task and the second processor has a second amount of local physical memory allocated to the task where the first amount is different than the second amount, and determining locational information of the amount of physical memory allocated to the task with respect to the plurality of processors where the locational information specifies that the amount of physical memory allocated to the task includes the first amount of local physical memory of the first processor that is allocated to the task and the second amount of local physical memory of the second processor that is allocated to the task; and assigning each task to one processor of the plurality of processors on which to be run, based on the resident set size of the task and the locational information of the amount of physical memory allocated to the task, each task attempted to be assigned to the one processor that is closest to a largest portion of the amount of physical memory allocated to the task, wherein where the first amount of local physical memory allocated to the task is greater than amounts of all other of the local physical memories of the processors allocated to the task, including the second amount of local physical memory allocated to the task, the task is assigned to the first processor, and wherein where the second amount of local physical memory allocated to the task is greater than amounts of all other of the local physical memories of the processors allocated to the task, including the first amount of local physical memory allocated to the task, the task is assigned to the second processor.