×

Broadcasting shared variable directory (SVD) information in a parallel computer

  • US 9,342,378 B2
  • Filed: 12/18/2012
  • Issued: 05/17/2016
  • Est. Priority Date: 12/18/2012
  • Status: Active Grant
First Claim
Patent Images

1. A parallel computer for broadcasting 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:

  • creating, by a runtime optimizer of the parallel computer, a broadcast message header for each entry in an SVD associated with a first thread, including determining whether to select a header type and data schedule, wherein the header type indicates a type of communication operation, and wherein the data schedule indicates a communications pattern based on desired latency, bandwidth, and message size characteristics;

    storing, by a runtime optimizer of the parallel computer, the broadcast message header with each entry in the SVD associated with the first thread;

    detecting, by the runtime optimizer of the parallel computer, a change in SVD information within the SVD associated with the first thread, each entry in the SVD including an SVD key and an address in shared memory of the first thread, including identifying the SVD key for the entry in the SVD whose corresponding address in the SVD has changed from a first address in shared memory of the first thread to a second address in the shared memory of the first thread;

    identifying, by the runtime optimizer, a plurality of threads requiring notification of the change in the SVD information, including tracking which threads are utilizing all SVD keys and identifying one or more threads that utilize the SVD key for the entry in the SVD whose corresponding address in the SVD has changed from the first address in shared memory of the first thread to the second address in the shared memory of the first thread;

    in response to detecting the change in the SVD information, broadcasting, via a system-level messaging layer in a protocol stack of the parallel computer to each thread of the identified plurality of threads, wherein the broadcast message header for the entry in the SVD and update data indicating the change in the SVD information, wherein the broadcasting of the broadcast message header for the entry in the SVD and the update data include transmitting a notification message indicating an update of SVD information, and transmitting the update data as an active GET message using a parallel active message interface (PAMI), and wherein broadcasting the broadcast message header via the system-level messaging layer comprises calling a system-level messaging layer function.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×