@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.} }