Method and apparatus for managing data in a distributed...

Electrical computers and digital processing systems: memory – Storage accessing and control – Hierarchical memories

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C711S118000, C711S119000, C711S113000, C711S141000, C711S156000, C709S200000, C709S201000, C709S216000

Reexamination Certificate

active

06832297

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Technical Field
The present invention is directed to an improved data processing system. More specifically, the present invention is directed to an apparatus and method for maintaining the correctness of data that has been cached or locally copied in a distributed computing system having a number of separate computing nodes.
2. Description of Related Art
In a System Area Network (SAN), the hardware provides a message passing mechanism that can be used for Input/Output devices (I/O) and interposes communications (IPC) between general computing nodes. Processes executing on devices access SAN message passing hardware by posting send/receive messages to send/receive work queues on a SAN channel adapter (CA). These processes also are referred to as “consumers”.
The send/receive work queues (WQ) are assigned to a consumer as a queue pair (QP). The messages can be sent over five different transport types: Reliable Connected (RC), Reliable datagram (RD), Unreliable Connected (UC), Unreliable Datagram (UD), and Raw Datagram (Raw). Consumers retrieve the results of these messages from a completion queue (CQ) through SAN send and receive work completion (WC) queues. The source channel adapter takes care of segmenting outbound messages and sending them to the destination. The destination channel adapter takes care of reassembling inbound messages and placing them in the memory space designated by the destination's consumer.
Two channel adapter types are present in nodes of the SAN fabric, a host channel adapter (HCA) and a target channel adapter (TCA). The host channel adapter is used by general purpose computing nodes to access the SAN fabric. Consumers use SAN verbs to access host channel
1
adapter functions. The software that interprets verbs and directly accesses the channel adapter is known as the channel interface (CI).
Target channel adapters (TCA) are used by nodes that are the subject of messages sent from host channel adapters. The target channel adapters serve a similar function as that of the host channel adapters in providing the target node an access point to the SAN fabric.
The SAN channel adapter architecture explicitly provides for sending and receiving messages directly from application programs running under an operating system. No intervention by the operating system is required for an application program to post messages on send queues, post message receive buffers on receive queues, and detect completion of send or receive operations by polling of completion queues or detecting the event of an entry stored on a completion queue, e.g., via an interrupt. The SAN channel adapter architecture further provides for special messages known as atomic operations to be sent between end nodes. These special messages operate on the memory of the destination node to alter the content of the memory in a non-interruptible manner. These atomic operations include fetch-and-add, which atomically, i.e. non-interruptably, adds a number contained in the atomic operation message to the memory location and returns the prior content of the memory location.
These atomic operations further include a compare-and-swap operation which atomically compares the content of a memory location with a value contained in the atomic operation message. If the two values match, the content of the memory location is replaced with another value contained in the atomic operation message. These operations being atomic means that no other operation can intervene between their internal steps. Specifically, with fetch-and-add, a memory location is retrieved, a value is added to its content, and the result is stored. No other operation on that memory location can occur between the time the memory location is first retrieved and finally stored. Similarly, no other operation can occur on the memory location operated on by compare-and-swap between the time the location's value is initially copied from memory and another value is possibly (depending on the outcome of the comparison) stored in that memory location.
In the SAN architecture, the requirement that no other operation can intervene may be relaxed to reduce the cost of implementation. Instead, no other operations of several different classes may be allowed. Three cases are strong possibilities. First, no other operation done by the channel adapter performing the atomic operation can intervene, but other channel adapters or other host operations can intervene. Second, no other operation performed by any channel adapter can intervene, but other host operations can. Third, nothing on the system, whether the same channel adapter, another channel adapter, or a host, can intervene.
Therefore, it would be advantageous to have an improved method, apparatus, and computer implemented instructions for managing operations to access data in a distributed buffer system.
SUMMARY OF THE INVENTION
The present invention provides a method, apparatus, and computer implemented instructions for managing a plurality of caches of data, wherein the data processing system includes a plurality of independent computers. In response to initiating a read operation to read data on a data block, an indication is posted on a directory of data blocks identifying the computer that now holds a copy of that block and a location in the memory of that computer where a flag associated with that block is held. Then in response to initiating a write operation on that data block, messages are sent to all the computers holding that block which resets the said flag, thus informing each computer that the data in that block is no longer valid. These messages are sent using means that perform that flag reset without, in the preferred embodiment, any overhead of interruption of processing on the computers where the flags reside.


REFERENCES:
patent: 6438661 (2002-08-01), Beardsley et al.
patent: 6560681 (2003-05-01), Wilson et al.
patent: 6654769 (2003-11-01), Ito et al.
patent: 6662276 (2003-12-01), Schoinas
patent: 2001/0010068 (2001-07-01), Michael et al.
patent: 2002/0007439 (2002-01-01), Gharachorloo et al.
patent: 2002/0078292 (2002-06-01), Chilton
patent: 2002/0078304 (2002-06-01), Masri et al.
patent: 2002/0078305 (2002-06-01), Khare et al.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and apparatus for managing data in a distributed... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and apparatus for managing data in a distributed..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and apparatus for managing data in a distributed... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3300564

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.