The project focuses on the following crucial areas of large-scale computing and communication, all of which revolve around issues of Input/Output (I/O) communication and locality: (a) External memory and I/O performance: The relative bottleneck in many large scale applications is the I/O communication between main memory, and external memory and/or other levels of memory. The goal is to develop an understanding of the limits of I/O systems and to construct external-memory algorithms that are simultaneously optimal in terms of internal computation and I/O. (b) TPIE: a Transparent Parallel I/O programming Environment: A system called TPIE is proposed, consisting of an easy-to-use object-oriented interface linked to powerful disk and memory management primitives, to facilitate implementation and evaluation of external- memory algorithms. (c) Prediction and applications to caching: By contrast, the problem of cache replacement involves designing an utility (which can be part of an operating system) to manage the cache memory so that the data requested during the application algorithm are most often local in the cache, thus avoiding costly page fetches. ***