Patent ID: 8527988

Claim:
A method of assigning virtual-machine threads to physical processors arranged in plural proximities such that inter-processor communications between processors in different proximities are over a common bus, while inter-processor communications between processors within the same proximity are over a bus local to that proximity, said method comprising: mapping virtual-machine threads to virtual processors such that each virtual-machine thread is mapped to one virtual processor at any given time; forming, in response to the mapping of virtual-machine threads, virtual-processor groups of said virtual processors, said virtual-processor groups being formed such that each virtual-processor group has a number of virtual processors that matches a number of unassigned physical processors of a respective proximity, said virtual-processor groups being formed by selecting virtual processors that provide a total estimated virtual-machine thread interactivity for the virtual-processor group that is greater than average virtual-machine thread interactivity for virtual-processor groups having the same number of said virtual processors, total estimated virtual-machine thread interactivity being based on the virtual-machine threads mapped to virtual processors of a virtual-processor group; and assigning each of said virtual-processor groups to respective ones of said proximities so that virtual processors of a virtual-processor group are mapped to physical processors of the respective proximity so that the virtual-machine threads assigned to virtual processors of a virtual-processor group execute on respective physical processors of the proximity to which the virtual-processor group is assigned.