发明名称 APPARATUS AND METHOD FOR DEADLOCK AVOIDANCE
摘要 An improved method for the prevention of deadlock in a massively parallel processor (MPP) system wherein, prior to a process sending messages to another process running on a remote processor, the process allocates space in a deadlock-avoidance FIFO. The allocated space provides a “landing zone” for requests that the software process (the application software) will subsequently issue using a remote-memory-access function. In some embodiments, the deadlock-avoidance (DLA) function provides two different deadlock-avoidance schemes: controlled discard and persistent reservation. In some embodiments, the software process determines which scheme will be used at the time the space is allocated.
申请公布号 US2016077997(A1) 申请公布日期 2016.03.17
申请号 US201514881157 申请日期 2015.10.13
申请人 Cray Inc. 发明人 Froese Edwin L.;Lundberg Eric P.;Gorodetsky Igor;Pritchard Howard;Giefer Charles;Alverson Robert L.;Roweth Duncan
分类号 G06F15/167;H04L29/08 主分类号 G06F15/167
代理机构 代理人
主权项 1. A computer-implemented method for deadlock avoidance in a parallel-processor system, wherein the parallel-processor system includes a plurality of network nodes, wherein each one of the plurality of network nodes includes a node buffer, a processor and local memory, and a deadlock-avoidance (DLA) engine, wherein the plurality of network nodes includes a first network node having a first node buffer, a second network node having a second node buffer, and a third network node having a third node buffer, wherein each one of the plurality of network nodes is operatively coupled to a plurality of other network nodes over a network, and wherein at least one software process executes on the respective processor of each one of the plurality of network nodes, the method comprising: receiving, in the first node, a first allocation command from a first application software process executing in the processor of the first node to reserve a first space in the first node buffer for communication between the first application software process executing in the processor of the first network node and other application software processes executing in processors of other network nodes, reserving the first space for use by the first application software process, entering a first remote memory access (RMA) request from the first application software process into the first node buffer, performing a first RMA operation by sending the first RMA request over the network to the second network node, and communicating data between the second network node and the first network node based on the first RMA request, removing the first RMA request from the first node buffer, un-reserving the first space in the node buffer of the first network node; receiving, in the first network node, a second allocation command from a second application software process executing in the processor of the first network node, to reserve a second space in the first node buffer for communication between the second application software process executing in the processor of the first network node and other application software processes executing in processors of other network nodes, reserving the second space for use by the second application software process, entering a second RMA request from the second application software process into the first node buffer, performing a second RMA operation by sending the second RMA request over the network to the third network node, and communicating data between the third network node and the first network node based on the second RMA request, removing the second RMA request from the first node buffer, and un-reserving of the second space in the node buffer of the first node.
地址 Seattle WA US