Browse Prior Art Database

Serialization of Disk Configuration Record Updates

IP.com Disclosure Number: IPCOM000117771D
Original Publication Date: 1996-Jun-01
Included in the Prior Art Database: 2005-Mar-31
Document File: 6 page(s) / 223K

Publishing Venue

IBM

Related People

Martin, DR: AUTHOR [+2]

Abstract

Disclosed is a method of supporting near simultaneous updates of computer system configuration records by both the user and the system with no deadlocks, minimal wait time, guaranteed serialization, and insured ordering. This provides a new solution to the classical computer science problem known as the "Readers-Writers Problem," one of a general class of problems known as "Critical Section" problems. In the "Readers-Writers Problem", a set of reader processes and writer processes all wish to access the same shared data. A reader process can only read the data; a writer process can both read and write the data. Both readers and writers must always "see" a consistent set of data, and the most recent state of the data. Multiple readers can be allowed to read the data at the same time.

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

Serialization of Disk Configuration Record Updates

      Disclosed is a method of supporting near simultaneous updates
of computer system configuration records by both the user and the
system with no deadlocks, minimal wait time, guaranteed
serialization, and insured ordering.  This provides a new solution to
the classical computer science problem known as the "Readers-Writers
Problem," one of a general class of problems known as "Critical
Section" problems.  In the "Readers-Writers Problem", a set of reader
processes and writer processes all wish to access the same shared
data.  A reader process can only read the data; a writer process can
both read and write the data.  Both readers and writers must always
"see" a consistent set of data, and the most recent state of the
data.  Multiple readers can be allowed to read the data at the same
time.  If one writer process is accessing the data, no other reader
or writer process can be allowed to access the data.

      Any solution to the "Readers-Writers Problem" must insure
mutual exclusion for both readers and writers, but in addition, the
solution disclosed here supports multiple writers active
concurrently, readers that cannot wait, and writers that cannot wait,
all of which are not possible with conventional solutions.  The
solution disclosed here also differentiates between and handles
readers and writers that share data and can be either pageable or
nonpageable.  Though the embodiment described in this disclosure
deals with handling disk configuration records, the method described
would be applicable to any readers-writers / critical section problem
that needs to support multiple writers concurrently and both readers
and writers that cannot.

      In operating systems, nonpageable tasks/processes must be able
to run without normal system paging taking place, since they may be
handling exceptions, error recovery, or the paging itself.
Tasks/processes that do not have this restriction and can use normal
system paging are said to be pageable.  Some readers and writers may
be pageable, while others may be nonpageable.  In order for the
nonpageable tasks to run, not only must their code be resident in
main storage, but also any data they may need.  This requires some
data structures and objects also to be nonpageable.

The methods and algorithms described in this disclosure use the
following techniques and resources:
  o  A pageable reader-only exclusive lock.
  o  A nonpageable reader/writer exclusive lock.
  o  Caching separately all data referenced by nonpageable readers.
  o  Performing updates of the configuration records under a separate
      task, which behaves as a 'monitor' object and insures
      serialization.  In the Figure and description this is called
the
      Configuration Updater, or just the Updater.
  o  Providing a function in the updater task that will merge updates
      being performed by concurrent writers.
  o  ...