Administering connection identifiers for collective operations in a parallel computer
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
G06F-015/16
G06F-013/36
G06F-009/52
출원번호
US-0783713
(2013-03-04)
등록번호
US-9053226
(2015-06-09)
발명자
/ 주소
Faraj, Daniel A.
Smith, Brian E.
출원인 / 주소
International Business Machines Corporation
대리인 / 주소
Kennedy Lenart Spraggins LLP
인용정보
피인용 횟수 :
0인용 특허 :
84
초록▼
Administering connection identifiers for collective operations in a parallel computer, including prior to calling a collective operation, determining, by a first compute node of a communicator to receive an instruction to execute the collective operation, whether a value stored in a global connectio
Administering connection identifiers for collective operations in a parallel computer, including prior to calling a collective operation, determining, by a first compute node of a communicator to receive an instruction to execute the collective operation, whether a value stored in a global connection identifier utilization buffer exceeds a predetermined threshold; if the value stored in the global ConnID utilization buffer does not exceed the predetermined threshold: calling the collective operation with a next available ConnID including retrieving, from an element of a ConnID buffer, the next available ConnID and locking the element of the ConnID buffer from access by other compute nodes; and if the value stored in the global ConnID utilization buffer exceeds the predetermined threshold: repeatedly determining whether the value stored in the global ConnID utilization buffer exceeds the predetermined threshold until the value stored in the global ConnID utilization buffer does not exceed the predetermined threshold.
대표청구항▼
1. A method of administering connection identifiers for collective operations in a parallel computer, the method comprising: prior to calling a collective operation, if a value representing a number of connection identifiers in use and stored in a global connection identifier (‘ConnID’) utilization
1. A method of administering connection identifiers for collective operations in a parallel computer, the method comprising: prior to calling a collective operation, if a value representing a number of connection identifiers in use and stored in a global connection identifier (‘ConnID’) utilization buffer does not exceed a predetermined threshold,: calling the collective operation with a next available ConnID including, atomically: retrieving, from an element of a ConnID buffer, the next available ConnID and locking the element of the ConnID buffer from access by other compute nodes; andif the value stored in the global ConnID utilization buffer exceeds the predetermined threshold: repeatedly determining whether the value stored in the global ConnID utilization buffer exceeds the predetermined threshold until the value stored in the global ConnID utilization buffer does not exceed the predetermined threshold. 2. The method of claim 1 wherein determining whether the value stored in the global ConnID utilization buffer exceeds the predetermined threshold further comprises: atomically fetching, by a DMA engine of the first compute node, the value stored in the global ConnID utilization buffer and incrementing the stored value; anddetermining whether the fetched value exceeds the predetermined threshold. 3. The method of claim 2 further comprising: upon completion of the collective operation, atomically:unlocking the element of the ConnID buffer storing the retrieved ConnID; anddecrementing the value stored in the global ConnID utilization buffer. 4. The method of claim 1 wherein calling the collective operation with the next available ConnID further comprises: placing, by a DMA engine of the first compute node, in a predefined memory location in all other nodes of the communicator a value representing an instruction to wait for a ConnID; andupon retrieving the next available ConnID, placing, by the DMA engine, in predefined memory location in all other nodes of the communicator, the retrieved ConnID; andupon completion of the collective operation, the method further comprises clearing, from the predefined memory location in all the other nodes of the communicator, the retrieved ConnID. 5. The method of claim 1 wherein calling the collective operation with the next available ConnID further comprises: determining, by the first node, whether a ConnID is stored in a predefined memory location of a master node of the communicator;atomically: retrieving, from the element of the ConnID buffer, the next available ConnID and locking the element of the ConnID buffer from access by other compute nodes only if no ConnID is stored in the predefined memory location of the master node;again determining, after retrieving the next available ConnID, whether a ConnID is stored in the predefined memory location of the master node;if there is a ConnID stored in the predefined memory location of the master node after retrieving the next available ConnID, atomically unlocking the element of the ConnID buffer;if there is no ConnID stored in the predefined memory location of the master node after retrieving the next available ConnID:placing, by a DMA engine of the first node, the retrieved ConnID in the predefined memory location of the master node; andupon completion of the collective operation, the method further comprises clearing the retrieved ConnID from the predefined memory location of the master node. 6. The method of claim 1 wherein retrieving, from an element of a ConnID buffer, a next available ConnID further comprises incrementing a ConnID buffer pointer to a next, unlocked element of the ConnID buffer. 7. An apparatus for administering connection identifiers for collective operations in a parallel computer, the parallel computer having a plurality of compute nodes organized into a communicator, the apparatus comprising a computer processor and a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions capable of: prior to calling a collective operation, if a value representing a number of connection identifiers in use and stored in a global connection identifier (‘ConnID’) utilization buffer does not exceed a predetermined threshold,: calling the collective operation with a next available ConnID including, atomically: retrieving, from an element of a ConnID buffer, the next available ConnID and locking the element of the ConnID buffer from access by other compute nodes; andif the value stored in the global ConnID utilization buffer exceeds the predetermined threshold: repeatedly determining whether the value stored in the global ConnID utilization buffer exceeds the predetermined threshold until the value stored in the global ConnID utilization buffer does not exceed the predetermined threshold. 8. The apparatus of claim 7 wherein determining whether the value stored in the global ConnID utilization buffer exceeds the predetermined threshold further comprises: atomically fetching, by a DMA engine of the first compute node, the value stored in the global ConnID utilization buffer and incrementing the stored value; anddetermining whether the fetched value exceeds the predetermined threshold. 9. The apparatus of claim 8 further comprising: upon completion of the collective operation, atomically:unlocking the element of the ConnID buffer storing the retrieved ConnID; anddecrementing the value stored in the global ConnID utilization buffer. 10. The apparatus of claim 7 wherein calling the collective operation with the next available ConnID further comprises: placing, by a DMA engine of the first compute node, in a predefined memory location in all other nodes of the communicator a value representing an instruction to wait for a ConnID; andupon retrieving the next available ConnID, placing, by the DMA engine, in predefined memory location in all other nodes of the communicator, the retrieved ConnID; andupon completion of the collective operation, the apparatus further comprises computer program instructions capable of clearing, from the predefined memory location in all the other nodes of the communicator, the retrieved ConnID. 11. The apparatus of claim 7 wherein calling the collective operation with the next available ConnID further comprises: determining, by the first node, whether a ConnID is stored in a predefined memory location of a master node of the communicator;atomically: retrieving, from the element of the ConnID buffer, the next available ConnID and locking the element of the ConnID buffer from access by other compute nodes only if no ConnID is stored in the predefined memory location of the master node;again determining, after retrieving the next available ConnID, whether a ConnID is stored in the predefined memory location of the master node;if there is a ConnID stored in the predefined memory location of the master node after retrieving the next available ConnID, atomically unlocking the element of the ConnID buffer;if there is no ConnID stored in the predefined memory location of the master node after retrieving the next available ConnID:placing, by a DMA engine of the first node, the retrieved ConnID in the predefined memory location of the master node; andupon completion of the collective operation, the apparatus further comprises computer program instructions capable of clearing the retrieved ConnID from the predefined memory location of the master node. 12. The apparatus of claim 7 wherein retrieving, from an element of a ConnID buffer, a next available ConnID further comprises incrementing a ConnID buffer pointer to a next, unlocked element of the ConnID buffer. 13. A computer program product for administering connection identifiers for collective operations in a parallel computer, the parallel computer having a plurality of compute nodes organized into a communicator, the computer program product disposed in a non-transitory computer readable storage medium, the computer program product comprising computer program instructions capable of: prior to calling a collective operation, if a value representing a number of connection identifiers in use and stored in a global connection identifier (‘ConnID’) utilization buffer does not exceed a predetermined threshold,: calling the collective operation with a next available ConnID including, atomically:retrieving, from an element of a ConnID buffer, the next available ConnID and locking the element of the ConnID buffer from access by other compute nodes; andif the value stored in the global ConnID utilization buffer exceeds the predetermined threshold: repeatedly determining whether the value stored in the global ConnID utilization buffer exceeds the predetermined threshold until the value stored in the global ConnID utilization buffer does not exceed the predetermined threshold. 14. The computer program product of claim 13 wherein determining whether the value stored in the global ConnID utilization buffer exceeds the predetermined threshold further comprises: atomically fetching, by a DMA engine of the first compute node, the value stored in the global ConnID utilization buffer and incrementing the stored value; anddetermining whether the fetched value exceeds the predetermined threshold. 15. The computer program product of claim 14 further comprising: upon completion of the collective operation, atomically:unlocking the element of the ConnID buffer storing the retrieved ConnID; anddecrementing the value stored in the global ConnID utilization buffer. 16. The computer program product of claim 13 wherein calling the collective operation with the next available ConnID further comprises: placing, by a DMA engine of the first compute node, in a predefined memory location in all other nodes of the communicator a value representing an instruction to wait for a ConnID; andupon retrieving the next available ConnID, placing, by the DMA engine, in predefined memory location in all other nodes of the communicator, the retrieved ConnID; andupon completion of the collective operation, the computer program product further comprises computer program instructions capable of clearing, from the predefined memory location in all the other nodes of the communicator, the retrieved ConnID. 17. The computer program product of claim 13 wherein calling the collective operation with the next available ConnID further comprises: determining, by the first node, whether a ConnID is stored in a predefined memory location of a master node of the communicator;atomically: retrieving, from the element of the ConnID buffer, the next available ConnID and locking the element of the ConnID buffer from access by other compute nodes only if no ConnID is stored in the predefined memory location of the master node;again determining, after retrieving the next available ConnID, whether a ConnID is stored in the predefined memory location of the master node;if there is a ConnID stored in the predefined memory location of the master node after retrieving the next available ConnID, atomically unlocking the element of the ConnID buffer;if there is no ConnID stored in the predefined memory location of the master node after retrieving the next available ConnID:placing, by a DMA engine of the first node, the retrieved ConnID in the predefined memory location of the master node; andupon completion of the collective operation, the computer program product further comprises computer program instructions capable of clearing the retrieved ConnID from the predefined memory location of the master node. 18. The computer program product of claim 13 wherein retrieving, from an element of a ConnID buffer, a next available ConnID further comprises incrementing a ConnID buffer pointer to a next, unlocked element of the ConnID buffer.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (84)
Cavanagh,Carl; Sivier,Steven A., Applying distributed simulation techniques to hardware emulation.
Gorin Allen L. (Fairlawn NJ) Lewine Robert N. (Hanover Township ; Morris County NJ) Makofsky Patrick A. (Randolph NJ) Shively Richard R. (Convent Station NJ), Binary tree multiprocessor.
Takata Yukari,JPX ; Satou Mitsugu,JPX ; Kondo Hiroyuki,JPX ; Sawai Katsunori,JPX, Bus interface unit in a microprocessor for facilitating internal and external memory accesses.
Wingard Drew E. ; Rosseel Geert Paul ; Tomlinson Jay S. ; Robinson Lisa A., Communications system and method with multilevel connection identification.
Wingard, Drew Eric; Rosseel, Geert Paul; Tomlinson, Jay S.; Robinson, Lisa A., Communications system and method with multilevel connection identification.
Willis John Christopher ; Newshutz Robert Neill, Compiler-oriented apparatus for parallel compilation, simulation and execution of computer programs and hardware models.
Blackard Joe Wayne ; Gillaspy Richard Adams ; Henthorn William John ; Petersen Lynn Erich ; Russell Lance W. ; Shippy Gary Roy, Data processing system and method for pacing information transfers in a communications network.
Basso, Claude; Calvignac, Jean Louis; Heddes, Marco C.; Logan, Joseph Franklin; Verplanken, Fabrice Jean, Data structures for efficient processing of multicast transmissions.
Kloth,Axel K.; Andrews,Warner; Bergantino,Paul; Bicknell,Jeremy; Fu,Daniel; De Leon,Moshe; Mills,Stephen M., Dynamic bandwidth allocation for wide area networks.
Barzilai Tsipora P. (Millwood NY) Chen Mon-Song (Katonah NY) Kadaba Bharath K. (Peekskill NY) Kaplan Marc A. (Purdys NY), Flow control for high speed networks.
Blackmore, Robert S.; Chang, Fu Chung; Chaudhary, Piyush; Gildea, Kevin J.; Goscinski, Jason E.; Govindaraju, Rama K.; Grice, Donald G.; Helmer, Jr., Leonard W.; Heywood, Patricia E.; Hochschild, Peter H.; Houston, John S.; Kim, Chulho; Martin, Steven J., Half RDMA and half FIFO operations.
Burns, Randal Chilton; Goel, Atul; Long, Darrell D. E.; Rees, Robert Michael, Lease based safety protocol for distributed system with multiple networks.
Richard Alan Diedrich ; Harvey Gene Kiel, Method and apparatus for multimedia data interchange with pacing capability in a distributed data processing system.
Shtayer Ronen (Tel-Aviv ILX) Alon Naveh (Ranat Hashnron ILX) Alexander Joffe (Rehovot ILX), Method and apparatus for pacing asynchronous transfer mode (ATM) data cell transmission.
Crawley Eric S. ; Zhang Zhaohui ; Salkewicz William M. ; Sanchez Cheryl A., Method and apparatus for providing quality of service routing in a network.
Levin Vladimir K.,RUX ; Karatanov Vjacheslav V.,RUX ; Jalin Valerii V.,RUX ; Titov Alexandr,RUX ; Agejev Vjacheslav M.,RUX ; Patrikeev Andrei,RUX ; Jablonsky Sergei V.,RUX ; Korneev Victor V.,RUX ; M, Method for deadlock-free message passing in MIMD systems using routers and buffers.
Arimilli, Lakshminarayana B.; Arimilli, Ravi K.; Rajamony, Ramakrishnan; Speight, William E., Performing collective operations using software setup and partial software execution at leaf nodes in a multi-tiered full-graph interconnect architecture.
Archer, Charles J.; Blocksome, Michael A.; Peters, Amanda E.; Ratterman, Joseph D.; Smith, Brian E., Reducing power consumption while performing collective operations on a plurality of compute nodes.
Daruwalla, Feisal; Forster, James R.; Roeck, Guenter E.; Woundy, Richard M.; Thomas, Michael A., Routing protocol based redundancy design for shared-access networks.
Ray, Amar N.; Bugenhagen, Michael K.; Morrill, Robert J.; Chakravarthy, Cadathur V., System and method for adjusting the window size of a TCP packet through network elements.
Blandy Geoffrey Owen ; Saba Maher Afif, System and method for instruction burst performance profiling for single-processor and multi-processor systems.
Schumacher, Larry Lee; Gonzales-Tuchmann, Agustin; Yogman, Laurence Tobin; Dingman, Paul C., System for deadlock condition detection and correction by allowing a queue limit of a number of data tokens on the queue to increase.
Levy Henry M. ; Feeley Michael J.,CAX ; Karlin Anna R. ; Morgan William E. ; Thekkath Chandramohan A., Using global memory information to manage memory in a computer network.
Advani Deepak Mohan ; Byron Michael Justin ; Hansell Steven Robert ; Ming Chun Li Todd ; Marino John Paul ; Panda Rajendra Datta ; Pierce James Andrew ; Wang Ko-Yang ; Weinel Dennis George ; Welch Ro, Visualization tool for graphically displaying trace data.
Advani Deepak Mohan ; Byron Michael Justin ; Hansell Steven Robert ; Li Todd Ming Chun ; Marino John Paul ; Panda Rajendra Datta ; Pierce James Andrew ; Wang Ko-Yang ; Weinel Dennis George ; Welch Ro, Visualization tool for graphically displaying trace data produced by a parallel processing computer.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.