Browse Prior Art Database

Shared Virtual Disk for Cluster of Processors with Shared Global Cache

IP.com Disclosure Number: IPCOM000105671D
Original Publication Date: 1993-Aug-01
Included in the Prior Art Database: 2005-Mar-20
Document File: 2 page(s) / 105K

Publishing Venue

IBM

Related People

Gheith, AM: AUTHOR [+2]

Abstract

Disclosed is a program to create a shared disk for a cluster of processors which have separate I/O subsystems but a global shared memory. The program uses the shared memory to pass requests and data for disk I/O between processors, making it look like there is one shared disk rather than several disks that can only be accessed by the local processor. In addition a cache of disk blocks is kept in the global shared memory. If a disk block is re-used frequently, no I/O is neces sary to access it.

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

Shared Virtual Disk for Cluster of Processors with Shared Global Cache

      Disclosed is a program to create a shared disk for a cluster of
processors which have separate I/O subsystems but a global shared
memory.  The program uses the shared memory to pass requests and data
for disk I/O between processors, making it look like there is one
shared disk rather than several disks that can only be accessed by
the local processor.  In addition a cache of disk blocks is kept in
the global shared memory.  If a disk block is re-used frequently, no
I/O is neces sary to access it.

      Computer systems composed of multiple processors offer
potential performance improvements over single processor systems.
Multiple processor computer systems can communicate using network
systems or with shared memory.  Investigated is a processor
architecture consisting of a number of processors.  Each processor
has its own local memory as well as access through a non-blocking
switch to a large amount of global shared memory.  The shared memory
is not cache consistent at the hard ware level; all cache consistency
issues must be dealt with in software.  In addition, each processor
has its own private I/O bus.  Each I/O device can only be addressed
by the processor that to which it is attached.

      To improve the ability of the processors to work together to
solve common problems, it is useful to provide I/O devices that can
be ac cessed from all processors equally.  Such a shared I/O device
would allow processes which are working on a common problem to use
the shared I/O device for storage of common data, while still
allowing these processes to be run on any of the available
processors.

      Separate disclosures have shown than a shared RAM disk can be
used to provide fast access to non-permanent "disk" storage and that
a shared virtual disk can be created to support shared access by all
processors to the disks, both local and remote, in the cluster.  The
shared virtual disk support, however, requires interprocessor
messages and memory copying to support access to remote disks,
increasing the access time for this disks over the time for access to
a local disk.

      A modified shared virtual disk is designed to improve the
access times to data on the shared virtual disk, independent of its
being on a local or remote disk.  Each modified shared virtual disk
uses a large shared memory cache of data blocks to provide fast
access to data that has been recently used by any processor.

      Each processor has its own pseudo-device driver.  There is one
large pool of data blocks in shared memory.  Each data block is
identified by its block number in the shared virtual disk image.
When a READ operation is received by any processor, it first searches
the cache to see if the data block is in the cache.  If the block is
in the cache, the data is immediately copied into the user m...