Browse Prior Art Database

Asynchronous I/O for Log Manager

IP.com Disclosure Number: IPCOM000102996D
Original Publication Date: 1990-May-01
Included in the Prior Art Database: 2005-Mar-17
Document File: 1 page(s) / 42K

Publishing Venue

IBM

Related People

Atkinson, RL: AUTHOR [+2]

Abstract

When a logging buffer becomes full, or a force is required, all processes must wait until the buffer is written to media. By having an asynchronous thread do the I/O, the processes may continue to log while the buffer is written out to media.

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

Asynchronous I/O for Log Manager

      When a logging buffer becomes full, or a force is required, all
processes must wait until the buffer is written to media.  By having
an asynchronous thread do the I/O, the processes may continue to log
while the buffer is written out to media.

      When the first "Start Using Database" is issued, a thread is
started which will run asynchronously to all processes accessing the
database.  When the buffer being used to log to becomes full, or a
force to media of the log records written is required, a switch is
done to another buffer and the asychronous thread is posted to write
the full or forced buffer to media.  Processes requiring a force to
media must wait until the force is complete, but other processes may
continue to log without waiting.  If the buffer is just full, no
waiting is needed except the time used to switch buffers and post the
asynchronous thread. When a force is required, and I/O is already
occurring and prevents the process from acquiring the I/O semaphore,
the process attempting to do the force releases the append semaphore
to allow other processes to continue appending while he is waiting
for the I/O to complete.  When I/O has completed, the forcing process
checks to make sure his log record has not been forced before doing
another I/O.  If his log record has been forced, he simply returns.
The same I/O thread is used for reading a log record.  The process
posts the thread to read the log record into...