Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Active Registers for Network Communications

IP.com Disclosure Number: IPCOM000184271D
Original Publication Date: 2009-Jun-18
Included in the Prior Art Database: 2009-Jun-18
Document File: 1 page(s) / 19K

Publishing Venue

IBM

Abstract

There is an industry direction to implement remote DMA operations across I/O busses and networks. Adoption of this idea is impeded by many diverse remote data placement implementations. This idea abstracts the interface to maintain an efficient list of callback and doorbell functions for a set of user specified actions. These actions trigger off the placement of data into (or using the contents of for remote data placement) an environment register.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 88% of the total text.

Page 1 of 1

Active Registers for Network Communications

There is an industry direction to implement remote DMA operations across I/O busses and networks. Adoption of this idea is impeded by many diverse remote data placement implementations. This idea abstracts the interface to maintain an efficient list of callback and doorbell functions for a set of user specified actions. These actions trigger off the placement of data into (or using the contents of for remote data placement) an environment register.

"Environment registers" allow one to extend the put/get semantics to an indexed API, namely

putx/getx. The putx/getx keys off the addresses contained in the register for remote placement of

data. In this way, a remote sender does not need to know the address (or even the address space) of the buffer on the destination machine to perform a data put. The sender simply references the environment register that was preset to the intended address for communications to occur. Attached to the environment register is a set of "active" registers. These registers reference user defined doorbells and callback functions that execute whenever the environment register is read or modified.

This disclosure has two main facets:

1. A method comprising a set of index registers which has an associated program initialized with

program callback operations that are invoked each time a remote operation utilizes the respective

environment register for any opera...