Electrical computers and digital processing systems: memory – Storage accessing and control – Specific memory composition
Reexamination Certificate
2000-09-28
2003-12-02
Kim, Hong (Department: 2186)
Electrical computers and digital processing systems: memory
Storage accessing and control
Specific memory composition
C711S150000, C711S168000
Reexamination Certificate
active
06658525
ABSTRACT:
TECHNICAL FIELD
This invention relates, in general, to data processing and, in particular, to simultaneously writing data to and reading data from an unsegmented buffer.
BACKGROUND ART
In various computing environments, such as parallel computing environments, processes communicate with one another via shared memory. In particular, data is passed from one process to another process via buffers located within the shared memory.
In one example, two fixed size buffers are used for the communication. A sending process writes to a first buffer completely filling the buffer, and then signals the receiver to read the completely filled buffer. Thereafter, the sending process switches to a second buffer and begins filling the second buffer. When that buffer is complete, the receiver switches to that buffer and the cycle continues. Thus, the receiver cannot read the data until an entire buffer is full. This significantly reduces concurrency.
In another example, a shared queue is used for the communication. A sending process writes a block of memory of a predefined size, and then posts that block onto the queue and starts another block. The sending process continues writing until the number of blocks to be written is exhausted. The receiving process looks at the queue and once a write block is complete and on the queue, the reader reads that block. After it is read, it is returned to the free list. In this example, the receiver cannot read the data until an entire block is written. Again, this reduces concurrency.
Based on the foregoing, a need still exists for a capability that provides efficient utilization of a shared buffer. A need exists for a capability that offers minimum contention between reads and writes of the same shared buffer, enhances concurrency and provides performance improvements.
SUMMARY OF THE INVENTION
The shortcomings of the prior art are overcome and additional advantages are provided through the provision of a method of concurrently accessing shared buffers by writers and readers of a computing environment. The method includes, for instance, writing data, by a writer of the computing environment, to an unsegmented buffer within a shared memory of the computing environment; and reading data, by a reader of the computing environment, from the unsegmented buffer simultaneous with at least a portion of the data being written to the unsegmented buffer.
In one embodiment, the writing includes determining whether space is available within the unsegmented buffer to receive the data; and writing the data to the unsegmented buffer when space is available, wherein an amount of data written to the unsegmented buffer is less than or equal to the available space.
In a further embodiment, the reading includes determining whether data is available to be read, and reading the data when it is available, wherein an amount of data read is less than or equal to the available data.
System and computer program products corresponding to the above-summarized methods are also described and claimed herein.
Advantageously, an aspect of the present invention permits simultaneous access of a buffer, by a write process and a read process on either one system or multiple systems, in which the buffer does not require data to be written to or read from the buffer on any predefined boundary. This simultaneous access enhances concurrency and system performance, and minimizes contention between writers and readers of the computing environment.
REFERENCES:
patent: 4766534 (1988-08-01), DeBenedictis
patent: 4833651 (1989-05-01), Seltzer et al.
patent: 4891788 (1990-01-01), Kreifels
patent: 5043873 (1991-08-01), Muramatsu et al.
patent: 5276842 (1994-01-01), Sugita
patent: 5379399 (1995-01-01), Conway-Jones et al.
patent: 5502655 (1996-03-01), McClure
patent: 5555396 (1996-09-01), Alferness et al.
patent: 5588117 (1996-12-01), Karp et al.
patent: 5606686 (1997-02-01), Tarui et al.
patent: 5617537 (1997-04-01), Yamada et al.
patent: 5642495 (1997-06-01), Ammann et al.
patent: 5652885 (1997-07-01), Reed et al.
patent: 5696940 (1997-12-01), Liu et al.
patent: 5701413 (1997-12-01), Zulian et al.
patent: 5745731 (1998-04-01), Kim et al.
patent: 5765041 (1998-06-01), Cherichetti et al.
patent: 5867668 (1999-02-01), Spirakis et al.
patent: 5890007 (1999-03-01), Zinguuzi
patent: 5930484 (1999-07-01), Tran et al.
patent: 5956748 (1999-09-01), New
patent: 5982700 (1999-11-01), Proebsting
patent: 5991820 (1999-11-01), Dean
patent: 5999478 (1999-12-01), Proebsting
patent: 6021407 (2000-02-01), Meck et al.
patent: 6044416 (2000-03-01), Hasan
patent: 6044431 (2000-03-01), Greenwood et al.
patent: 6052327 (2000-04-01), Reddy et al.
patent: 6061771 (2000-05-01), Bobak et al.
patent: 6128715 (2000-10-01), Wang et al.
patent: 6269413 (2001-07-01), Sherlock
patent: 6292873 (2001-09-01), Keaveny et al.
patent: 6304924 (2001-10-01), Varma
patent: 6381659 (2002-04-01), Proch et al.
patent: 6389490 (2002-05-01), Camilleri et al.
“Lock-Free Queue Management Schemem For Communication Between Two Processors,” P. Capek, W. Chiu and W. Frazer, IBM Technical Disclosure Bulletin, vol. 23, No. 7A, Dec. 1980, pp. 3059-3060.
Huang Su-Hsuan
Tuel, Jr. William Gole
Cutter, Esq. Lawrence D.
Heslin Rothenberg Farley & & Mesiti P.C.
Kim Hong
Schiller, Esq. Blanche E.
LandOfFree
Concurrent access of an unsegmented buffer by writers and... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Concurrent access of an unsegmented buffer by writers and..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Concurrent access of an unsegmented buffer by writers and... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3113275