Grouping processors and assigning shared memory space to a group in a heterogeneous computer environment
First Claim
1. An information handling system comprising:
- a plurality of dissimilar processors;
a memory accessible by the plurality of dissimilar processors;
one or more nonvolatile storage devices accessible by the plurality of dissimilar processors; and
a tool for processing an application that includes a plurality of application execution threads, the tool comprising software code effective to;
receive a resource request from the application that is running a first application execution thread on a first processor type, the first processor type included in the plurality of dissimilar processors;
assign one or more second processor types included in the plurality of dissimilar processor types and a memory space included in the memory to a group in response to the resource request, wherein the first processor type shares the memory space with the assigned second processor types, and wherein the first processor and the assigned second processor types are heterogeneous;
execute a second application execution thread on at least one of the second processor types assigned to the group;
identify whether the application requests the memory space to be a private memory, wherein the private memory is accessible only by the assigned second processor types; and
classify the memory space as the private memory in response to the identification of the memory space as the private memory.
2 Assignments
0 Petitions
Accused Products
Abstract
Grouping processors is presented. A processing unit (PU) initiates an application and identifies the application'"'"'s requirements. The PU assigns one or more synergistic processing units (SPUs) and a memory space to the application in the form of a group. The application specifies whether the task requires shared memory or private memory. Shared memory is a memory space that is accessible by the SPUs and the PU. Private memory, however, is a memory space that is only accessible by the SPUs that are included in the group. When the application executes, the resources within the group are allocated to the application'"'"'s execution thread. Each group has its own group properties, such as address space, policies (i.e. real-time, FIFO, run-to-completion, etc.) and priority (i.e. low or high). These group properties are used during thread execution to determine which groups take precedence over other tasks.
126 Citations
16 Claims
-
1. An information handling system comprising:
-
a plurality of dissimilar processors; a memory accessible by the plurality of dissimilar processors; one or more nonvolatile storage devices accessible by the plurality of dissimilar processors; and a tool for processing an application that includes a plurality of application execution threads, the tool comprising software code effective to; receive a resource request from the application that is running a first application execution thread on a first processor type, the first processor type included in the plurality of dissimilar processors; assign one or more second processor types included in the plurality of dissimilar processor types and a memory space included in the memory to a group in response to the resource request, wherein the first processor type shares the memory space with the assigned second processor types, and wherein the first processor and the assigned second processor types are heterogeneous; execute a second application execution thread on at least one of the second processor types assigned to the group; identify whether the application requests the memory space to be a private memory, wherein the private memory is accessible only by the assigned second processor types; and classify the memory space as the private memory in response to the identification of the memory space as the private memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer program product stored on a computer storage media, the computer program product including a set of instructions that, when executed by an information handling system, causes the information handling system to perform steps comprising:
-
receiving a resource request from an application that is running a first application execution thread on a first processor type; assigning one or more second processor types and a memory space to a group in response to the resource request, wherein the first processor type shares the memory space with the assigned second processor types, and wherein the first processor and the assigned second processor types are heterogeneous; executing a second application execution thread on at least one of the second processor types assigned to the group; identifying whether the application requests the memory space to be a private memory, wherein the private memory is accessible only by the assigned second processor types; and classifying the memory space as the private memory in response to the identification of the memory space as the private memory. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification