@InProceedings{zhou:threads,
  author = {Yuanyuan Zhou and Limin Wang and Douglas W. Clark and Kai Li},
  title = {Thread Scheduling for Out-of-Core Applications with Memory Server on
  Multicomputers},
  booktitle = {Proceedings of the Sixth Workshop on Input/Output in Parallel
  and Distributed Systems},
  year = {1999},
  month = {May},
  pages = {57--67},
  publisher = {ACM Press},
  address = {Atlanta, GA},
  URL = {http://vibes.cs.uiuc.edu/IOPADS/Accepted/Zhou.ps},
  keywords = {threads, scheduling, memory, out-of-core application, parallel
  I/O, pario-bib},
  abstract = {Out-of-core applications perform poorly in paged virtual memory
  (VM) systems because demand paging involves slow disk I/O accesses. Much
  research has been done on reducing the I/O overhead in such applications by
  either reducing the number of I/Os or lowering the cost of each I/O
  operation. In this paper, we investigate a method that combines fine-grained
  threading with a memory server model to improve the performance of
  out-of-core applications on multicomputers. The memory server model decreases
  the average cost of I/O operations by paging to remote memory, while the
  fine-grained thread scheduling reduces the number of I/O accesses by
  improving the data locality of applications. We have evaluated this method on
  an Intel Paragon with 7 applications. Our results show that the memory server
  system performs better than the VM disk paging by a factor of 5 for
  sequential applications and a factor of 1.5 to 2.2 for parallel applications.
  The fine-grained threading alone improves the VM disk paging performance by a
  factor of 10 and 1.2 to 3 respectively for sequential and parallel
  applications. Overall, the combination of these two techniques outperforms
  the VM disk paging by more than a factor of 12 for sequential applications
  and a factor of 3 to 6 for parallel applications.}
}

