Conditionally updating shared variable directory (SVD) information in a parallel computer
First Claim
1. A parallel computer for conditionally updating shared variable directory (SVD) information, the parallel computer comprising a plurality of threads of execution, the threads organized into tasks, the parallel computer further comprising memory partitioned to provide each thread with a private memory and a shared memory, the parallel computer comprising computer processors operatively coupled to the memory having disposed within it computer program instructions that, when executed by the computer processors, cause the parallel computer to function by:
- receiving, by a runtime optimizer of a second task, a broadcast reduction operation header, the broadcast reduction operation header including an SVD key and a first SVD address, the first SVD address associated with the SVD key in a first SVD associated with a first task, wherein the first SVD address indicates a first location within a memory partition associated with the first SVD;
in response to receiving the broadcast reduction operation header, retrieving from a remote address cache associated with the second task, by the runtime optimizer, a second SVD address indicating a second location within the memory partition associated with the first SVD;
determining, by the runtime optimizer, that the first SVD address does not match the second SVD address; and
in response to determining that the first SVD address does not match the second SVD address, updating, by the runtime optimizer, the remote address cache with the first SVD address.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, parallel computers, and computer program products for conditionally updating shared variable directory (SVD) information in a parallel computer are provided. Embodiments include a runtime optimizer receiving a broadcast reduction operation header. The broadcast reduction operation header includes an SVD key and a first SVD address. The first SVD address is associated with the SVD key in a first SVD associated with a first task. Embodiments also include the runtime optimizer retrieving from a remote address cache associated with the second task, a second SVD address indicating a location within a memory partition associated with the first SVD, in response to receiving the broadcast reduction operation header. Embodiments also include the runtime optimizer determining that the first SVD address does not match the second SVD address and updating the remote address cache with the first SVD address.
19 Citations
13 Claims
-
1. A parallel computer for conditionally updating shared variable directory (SVD) information, the parallel computer comprising a plurality of threads of execution, the threads organized into tasks, the parallel computer further comprising memory partitioned to provide each thread with a private memory and a shared memory, the parallel computer comprising computer processors operatively coupled to the memory having disposed within it computer program instructions that, when executed by the computer processors, cause the parallel computer to function by:
-
receiving, by a runtime optimizer of a second task, a broadcast reduction operation header, the broadcast reduction operation header including an SVD key and a first SVD address, the first SVD address associated with the SVD key in a first SVD associated with a first task, wherein the first SVD address indicates a first location within a memory partition associated with the first SVD; in response to receiving the broadcast reduction operation header, retrieving from a remote address cache associated with the second task, by the runtime optimizer, a second SVD address indicating a second location within the memory partition associated with the first SVD; determining, by the runtime optimizer, that the first SVD address does not match the second SVD address; and in response to determining that the first SVD address does not match the second SVD address, updating, by the runtime optimizer, the remote address cache with the first SVD address. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer program product for conditionally updating shared variable directory (SVD) information in a parallel computer, the parallel computer comprising a plurality of threads of execution, the threads organized into tasks, the parallel computer further comprising memory partitioned to provide each thread with a private memory and a shared memory, the computer program product disposed upon a non-transitory computer readable medium, the computer program product comprising computer program instructions that, when installed and executed by a computer processor, cause the parallel computer to function by:
-
receiving, by a runtime optimizer of a second task, a broadcast reduction operation header, the broadcast reduction operation header including an SVD key and a first SVD address, the first SVD address associated with the SVD key in a first SVD associated with a first task, wherein the first SVD address indicates a first location within a memory partition associated with the first SVD; in response to receiving the broadcast reduction operation header, retrieving from a remote address cache associated with the second task, by the runtime optimizer, a second SVD address indicating a second location within the memory partition associated with the first SVD; determining, by the runtime optimizer, that the first SVD address does not match the second SVD address; and in response to determining that the first SVD address does not match the second SVD address, updating, by the runtime optimizer, the remote address cache with the first SVD address. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
Specification