Resource mapping in multi-threaded central processor units
First Claim
1. A computer program product for a processor to support multiple execution of threads in parallel, the computer program product comprising:
- one or more computer-readable storage media and program instructions stored on the one or more computer-readable storage media, the program instructions comprising;
program instructions to determine that processing of a first thread of a plurality of threads is suspended due to limited availability of a first processing resource, wherein the processor supports execution of the plurality of threads in parallel;
program instructions to obtain a first lock on a second processing resource that is substitutable substitute for the first processing resource during processing of the first thread, wherein the second processing resource is included as part of a component that is external to the processor, wherein the component supports a number of threads that is less than the plurality of threads, and wherein the processing of the first thread is suspended until the first lock is available;
program instructions to process the first thread using the second processing resource, wherein the processor includes a shared register to support mapping of a portion of the plurality of threads to the component, and wherein that portion of the plurality of threads is equal to, at most, the number of threads that are supported by component;
program instructions to determine whether the first thread has been processed; and
program instructions to respond to a determination that the first thread has been processed, by releasing the first lock on the second processing resource.
1 Assignment
0 Petitions
Accused Products
Abstract
A processor determines that processing of a thread is suspended due to limited availability of a processing resource. The processor supports execution of the plurality of threads in parallel. The processor obtains a lock on a second processing resource that is substitutable as a resource during processing of the first thread. The second processing resource is included as part of a component that is external to the processor. The component supports a number of threads that is less than the plurality of threads. The processing of the thread is suspended until the lock is available. The processor processes the first thread using the second processing resource. The processor includes a shared register to support mapping a portion of the plurality of threads to the component. The portion of the plurality of threads is equal to, at most, the number of threads supported by component.
-
Citations
12 Claims
-
1. A computer program product for a processor to support multiple execution of threads in parallel, the computer program product comprising:
one or more computer-readable storage media and program instructions stored on the one or more computer-readable storage media, the program instructions comprising; program instructions to determine that processing of a first thread of a plurality of threads is suspended due to limited availability of a first processing resource, wherein the processor supports execution of the plurality of threads in parallel; program instructions to obtain a first lock on a second processing resource that is substitutable substitute for the first processing resource during processing of the first thread, wherein the second processing resource is included as part of a component that is external to the processor, wherein the component supports a number of threads that is less than the plurality of threads, and wherein the processing of the first thread is suspended until the first lock is available; program instructions to process the first thread using the second processing resource, wherein the processor includes a shared register to support mapping of a portion of the plurality of threads to the component, and wherein that portion of the plurality of threads is equal to, at most, the number of threads that are supported by component; program instructions to determine whether the first thread has been processed; and program instructions to respond to a determination that the first thread has been processed, by releasing the first lock on the second processing resource. - View Dependent Claims (2, 3, 4, 5, 6)
-
7. A computer system for a processor to support multiple execution of threads in parallel, the computer system comprising:
-
one or more computer processors; one or more computer readable storage medium; program instructions stored on the computer readable storage medium for execution by at least one of the one or more processors, the program instructions comprising; program instructions to determine that processing of a first thread of a plurality of threads is suspended due to limited availability of a first processing resource, wherein the processor supports execution of the plurality of threads in parallel; program instructions to obtain a first lock on a second processing resource that is substitutable substitute for the first processing resource during processing of the first thread, wherein the second processing resource is included as part of a component that is external to the processor, wherein the component supports a number of threads that is less than the plurality of threads, and wherein the processing of the first thread is suspended until the first lock is available; program instructions to process the first thread using the second processing resource, wherein the processor includes a shared register to support mapping of a portion of the plurality of threads to the component, and wherein that portion of the plurality of threads is equal to, at most, the number of threads that are supported by component; program instructions to determine whether the first thread has been processed; and program instructions to respond to a determination that the first thread has been processed, by releasing the first lock on the second processing resource. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification