Patent ID: 8141076

Claim:
In a processor having one or more central processors and one or more secondary processing elements, each secondary processing element having a processor unit and a local memory, a method for managing code and data on one or more of the secondary processing elements, the method comprising: under control of a policy module manager located at and running on a selected one of the one or more secondary processing elements, selecting a work queue for processing by determining a contention for a work queue in a main memory, wherein the contention is a number of secondary processing elements working on the work queue, comparing the contention to a predetermined minimum contention for the work queue, wherein the minimum contention represents a minimum number of secondary processing elements needed to process the work queue, and preferentially loading a policy module from the main memory into the local memory of the selected secondary processing element if the contention for the work queue is greater than zero but less than the minimum contention; under control of the policy module, loading one or more tasks from the work queue in the main memory into the local memory of the selected secondary processing element; performing the one or more tasks with the selected secondary processing element; and after completing the one or more tasks or upon a pre-emption, returning control of the selected secondary processing element to the policy module manager.