ATT Labs

AT&T Laboratories

Home page About Us Interactive research Software Opportunities

Collapsed LAN

These pages were last modified 22/3/01.

The Queue

The Queue abstraction is built around a single work queue shared between two communicating endpoints using non-coherent shared memory. As data is written into the Queue, (WRP) pointer updates are also written by the transmitting application into the remote network-mapped memory to indicate the data valid for reading. As data is removed from the Queue, (RDP) pointer updates are written by the receiving application back over the network to indicate free space in the Queue.

These pointer updates are conservative and may lag the reading or writing of data by a short time, but means that a transmitter will not initiate a network transfer of data until buffer space is available at the receiver, and the low latency of the pointer updates means that the amount of Queue buffer space required to support a pair of communicating endpoints is small. The Tripwire mechanism can be used to allow applications to block on full/empty Queues and to manage large numbers of Queues via a Tripwire event stream, which is scalable in terms of CPU usage and response time.

We believe that all these properties are important in a system where there is a large number of user-level network endpoints, supporting applications which may be descheduled for relatively large periods of time.

Please note that the techniques disclosed here have been the subject of patent applications

For comments, suggestions and further information please contact us.
Copyright © 2001 AT&T Laboratories Cambridge