@TechReport{kotz:lu-tr,
  author = {David Kotz},
  title = {Disk-directed {I/O} for an Out-of-core Computation},
  year = {1995},
  month = {January},
  number = {PCS-TR95-251},
  institution = {Dept. of Computer Science, Dartmouth College},
  copyright = {David Kotz},
  later = {kotz:lu},
  URL = {https://digitalcommons.dartmouth.edu/cs_tr/112/},
  URLpdf = {http://www.cs.dartmouth.edu/~dfk/papers/kotz:lu-tr.pdf},
  keywords = {parallel I/O, numerical analysis, dfk, pario-bib},
  abstract = {New file systems are critical to obtain good I/O performance on
  large multiprocessors. Several researchers have suggested the use of {\em
  collective\/} file-system operations, in which all processes in an
  application cooperate in each I/O request. Others have suggested that the
  traditional low-level interface ({\tt read, write, seek}) be augmented with
  various higher-level requests (e.g., {\em read matrix}), allowing the
  programmer to express a complex transfer in a single (perhaps collective)
  request. Collective, high-level requests permit techniques like {\em
  two-phase I/O\/} and {\em disk-directed I/O\/} to significantly improve
  performance over traditional file systems and interfaces. Neither of these
  techniques have been tested on anything other than simple benchmarks that
  read or write matrices. Many applications, however, intersperse computation
  and I/O to work with data sets that cannot fit in main memory. In this paper,
  we present the results of experiments with an ``out-of-core''
  LU-decomposition program, comparing a traditional interface and file system
  with a system that has a high-level, collective interface and disk-directed
  I/O. We found that a collective interface was awkward in some places, and
  forced additional synchronization. Nonetheless, disk-directed I/O was able to
  obtain much better performance than the traditional system.}
}

