@MastersThesis{subramaniam:msthesis,
  author = {Mahesh Subramaniam},
  title = {Efficient Implementation of Server-Directed I/O},
  year = {1996},
  month = {June},
  school = {Dept. of Computer Science, University of Illinois},
  URL = {http://bunny.cs.uiuc.edu/CDR/pubs/mahesh-thesis.html},
  keywords = {parallel I/O, multiprocessor file system, pario-bib},
  abstract = {Parallel computers are a cost effective approach to providing
  significant computational resources to a broad range of scientific and
  engineering applications. Due to the relatively lower performance of the I/O
  subsystems on these machines and due to the significant I/O requirements of
  these applications, the I/O performance can become a major bottleneck.
  Optimizing the I/O phase of these applications poses a significant challenge.
  A large number of these scientific and engineering applications perform
  simple operations on multidimensional arrays and providing an easy and
  efficient mechanism for implementing these operations is important. The Panda
  array I/O library provides simple high level interfaces to specify collective
  I/O operations on multidimensional arrays in a distributed memory
  single-program multiple-data (SPMD) environment. The high level information
  provided by the user through these interfaces allows the Panda array I/O
  library to produce an efficient implementation of the collective I/O request.
  The use of these high level interfaces also increases the portability of the
  application. \par This thesis presents an efficient and portable
  implementation of the Panda array I/O library. In this implementation,
  standard software components are used to build the I/O library to aid its
  portability. The implementation also provides a simple, flexible framework
  for the implementation and integration of the various collective I/O
  strategies. The server directed I/O and the reduced messages server directed
  I/O algorithms are implemented in the Panda array I/O library. This
  implementation supports the sharing of the I/O servers between multiple
  applications by extending the collective I/O strategies. Also, the
  implementation supports the use of part time I/O nodes where certain
  designated compute nodes act as the I/O servers during the I/O phase of the
  application. The performance of this implementation of the Panda array I/O
  library is measured on the IBM SP2 and the performance results show that for
  read and write operations, the collective I/O strategies used by the Panda
  array I/O library achieve throughputs close to the maximum throughputs
  provided by the underlying file system on each I/O node of the IBM SP2.}
}

