Skip to Content
Find More Like This
Return to Search

Preventing messaging queue deadlocks in a DMA environment

United States Patent

January 14, 2014
View the Complete Patent at the US Patent & Trademark Office
Embodiments of the invention may be used to manage message queues in a parallel computing environment to prevent message queue deadlock. A direct memory access controller of a compute node may determine when a messaging queue is full. In response, the DMA may generate an interrupt. An interrupt handler may stop the DMA and swap all descriptors from the full messaging queue into a larger queue (or enlarge the original queue). The interrupt handler then restarts the DMA. Alternatively, the interrupt handler stops the DMA, allocates a memory block to hold queue data, and then moves descriptors from the full messaging queue into the allocated memory block. The interrupt handler then restarts the DMA. During a normal messaging advance cycle, a messaging manager attempts to inject the descriptors in the memory block into other messaging queues until the descriptors have all been processed.
Blocksome; Michael A. (Rochester, MN), Chen; Dong (Croton On Hudson, NY), Gooding; Thomas (Rochester, MN), Heidelberger; Philip (Cortlandt Manor, NY), Parker; Jeff (Rochester, MN)
International Business Machines Corporation (Armonk, NY)
12/ 241,514
September 30, 2008
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT This invention was made with Government support under Contract No. B554331 awarded by the Department of Energy. The U.S. Government has certain rights in this invention.