@TechReport{bordawekar:comm-tr,
  author = {Rajesh Bordawekar and Alok Choudhary},
  title = {Communication Strategies for Out-of-core Programs on Distributed
  Memory Machines},
  year = {1994},
  number = {SCCS-667},
  institution = {NPAC, Syracuse University},
  later = {bordawekar:comm},
  URL =
  {http://www.npac.syr.edu/pub/by_index/sccs/papers/ps/0660/sccs-0667.ps.Z},
  keywords = {parallel I/O, inter-processor communication, pario-bib},
  abstract = {In this paper, we show that communication in the out-of-core
  distributed memory problems requires both inter-processor communication and
  file I/O. Given that primary data structures reside in files, even
  communication requires I/O. Thus, it is important to optimize the I/O costs
  associated with a communication step. We present three methods for performing
  communication in out-of-core distributed memory problems. The first method,
  termed as the "out-of-core" communication method, follows a loosely
  synchronous model. Computation and Communication phases in this case are
  clearly separated, and communication requires permutation of data in files.
  The second method, termed as "demand-driven-in-core communication" considers
  only communication required of each in-core data slab individually. The third
  method, termed as "producer-driven-in-core communication" goes even one step
  further and tries to identify the potential (future) use of data while it is
  in memory. We describe these methods in detail and provide performance
  results for out-of-core applications; namely, two-dimensional FFT and
  two-dimensional elliptic solver. Finally, we discuss how "out-of-core" and
  "in-core" communication methods could be used in virtual memory environments
  on distributed memory machines.},
  comment = {They compare different ways to do global communications in
  out-of-core applications, involving file I/O and communication at different
  times. They also comment briefly on how it would work if it depended on
  virtual memory at each node.}
}

