@TechReport{thakur:ext2phase2,
  author = {Rajeev Thakur and Alok Choudhary},
  title = {An Extended Two-Phase Method for Accessing Sections of Out-of-Core
  Arrays},
  year = {1995},
  month = {June},
  number = {CACR-103},
  institution = {Scalable I/O Initiative},
  address = {Center for Advanced Computing Research, Caltech},
  note = {Revised November 1995},
  earlier = {thakur:ext2phase},
  later = {thakur:jext2phase},
  URL = {http://www.mcs.anl.gov/~thakur/papers/cacr-103.ps},
  keywords = {parallel I/O, pario-bib},
  abstract = {A number of applications on parallel computers deal with very
  large data sets which cannot fit in main memory. In such cases, data must be
  stored in files on disks and fetched into main memory during program
  execution. In programs with large out-of-core arrays stored in files, it is
  necessary to read/write smaller sections of the arrays from/to files. This
  paper describes a method, called the {\em extended two-phase method}, for
  accessing sections of out-of-core arrays in an efficient manner. This method
  uses collective I/O in which processors cooperate to combine several I/O
  requests into fewer larger granularity requests, reorder requests so that the
  file is accessed in proper sequence, and eliminate simultaneous I/O requests
  for the same data. The I/O workload is divided among processors dynamically,
  depending on the access requests. We present performance results for two
  real, out-of-core, parallel applications --- matrix multiplication and a
  Laplace's equation solver --- and several synthetic access patterns. The
  results indicate that the extended two-phase method provides a significant
  performance improvement over a direct method for I/O.},
  comment = {Revised version of thakur:ext2phase. The tech report was itself
  revised in November 1995; the abstract represents that revision.}
}

