Patent ID: 6131094
Filing Date: 2000-10-10
Classification: G06F,Y10S

Abstract:
In a symmetric multi-processor computer system having a volatile memory and a persistent storage device coupled thereto and a database management program operating in said computer system, said program including a method for performing asynchronous writes to database logs using multiple insertion points, said method comprising the steps of:a. inserting a log record into a log buffer stored in said volatile memory, including:1) getting a first exclusive semaphore for protecting serialization of inserting said log records;2) copying said log record into a buffer;3) determining if said buffer is full, and if so, queuing said log buffer for eventual delivery to said persistent storage device;4) releasing said first exclusive semaphore;b. dequeuing said log buffer from the queue in the previous step a.3), including:1) getting a second exclusive semaphore for protecting the serialization of extracting said log buffer;2) incrementing a counter indicating next buffer to be extracted; and3) releasing said second exclusive semaphore;4) initiating a transfer of each of said log buffers dequeued in the preceding step b. to said persistent storage device; and,5) allowing other tasks to concurrently select subsequent log buffers by repeating steps 1) through 4) hereof, thereby asynchronously writing to said database log at multiple insertion points;andc. waiting for the completion of the transfer of contents of said log buffer to said persistent storage device in order to guarantee that said contents are safely stored in said persistent storage device in the original serial order as received.