Browse Prior Art Database

User Interface for a Parallel File System

IP.com Disclosure Number: IPCOM000114196D
Original Publication Date: 1994-Nov-01
Included in the Prior Art Database: 2005-Mar-27
Document File: 4 page(s) / 175K

Publishing Venue

IBM

Related People

Baylor, SJ: AUTHOR [+3]

Abstract

Disclosed is a programming interface to a parallel file system. This interface allows application programs to access data stored on multiple disks and to control data layout.

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

User Interface for a Parallel File System

      Disclosed is a programming interface to a parallel file system.
This interface allows application programs to access data stored on
multiple disks and to control data layout.

      Massively parallel computers incorporate hundreds or even
thousands of processors.  To keep the system balanced, the computing
power provided by these processors should be matched by a very large
I/O bandwidth.  The only way to supply this bandwidth is by using
multiple disks.  The question is then how to best organize the data
on these disks.

      In uniprocessor file systems, a file is seen as a sequence of
data records.  But in multiprocessor systems there is no reason to
keep the limiting sequential semantics, especially if the data is
actually distributed across a number of independent disks and is
being used by a number of independent processors.  The problem is how
to coordinate the accesses from the different processors, so that
each gets the data it requires.  In particular, it should be possible
to partition the file such that distinct processors access disjoint
data sets.  Moreover, this should be done in a manner that takes
advantage of the parallelism among the I/O nodes.

      The disclosed interface is designed to enable an application
programmer to tell the system how to distribute the file data across
the disks, and how to access it.  The user interface consists of the
following sets of functions:
  o  File creation functions.  These functions allow different
      parameters of the file to be defined.
  o  File access functions.  These functions tell the system how to
      partition the data in the file, and which part is being
accessed.
  o  Data access functions.  These functions perform the actual data
      access.  To implement them, the system utilizes information
      provided by functions in the previous two groups.

      The following paragraphs present the main functions in detail.
Functions that provide conventional services, such as renaming a file
or changing its access permissions, are omitted.
  create ( name, partitions, rec_size, permissions, alloc_size,
  base_node, flags )
    This function creates a new file with the given name.  The
     partitions parameter specifies the number of physical
     partitions in the file; each of these is stored on a
     distinct disk node.  The rec_size parameter specifies the
     record size used in this file.  This is later used to
     describe the interleaving of data among the file
     partitions.  The permissions parameter defines read and
     write permissions on the file.  The alloc_size parameter
     specifies how much disk space should be pre-allocated for
     the file.  This prevents situations in which the
     application runs out of disk space in the middle of a
     computation.  The base_node parameter spec...