Browse Prior Art Database

Copyless and Lockless Data Separation

IP.com Disclosure Number: IPCOM000111139D
Original Publication Date: 1994-Feb-01
Included in the Prior Art Database: 2005-Mar-26
Document File: 2 page(s) / 39K

Publishing Venue

IBM

Related People

Relyea, RJ: AUTHOR

Abstract

Disclosed is a method of separating or coalescing data in a multiprocess or multithread system without locking or copying.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 100% of the total text.

Copyless and Lockless Data Separation

      Disclosed is a method of separating or coalescing data in a
multiprocess or multithread system without locking or copying.

      Technical Description - In transferring multimedia data form
one device or process to another, it is highly desirable to prevent
data copies.  In addition, locking between processes or thread can
interfere with the real-time guarantees of the multimedia system.  By
combining two well understood tools, it is possible to build a system
which allows coalescing and separating data from various devices and
processes without copying or locking between them.  The two tools are
circular buffers and buffer lists.

      Define the line between processes in the multimedia system to
be a circular buffer.  Rather than passing the data on the circular
buffer, buffer lists are passed.  The buffer lists contain address
and size fields which point to the actual data.  The circular buffer
can be updated without interlocking, and data can be passed and
separated without copying (Figure).

      Separating transfers is identical, except input buffers get
broken up into multiple buffer pointer, buffer length pairs.