When the amount of data exceeds the capacity of main memory (archaically known as ``core'' memory), the data must reside outside of main memory. We have focused on computing platforms in which the data reside on one or more disks connected to one or more nodes of a distributed-memory cluster. Rather than the disks hanging off a common I/O bus, we assume that each disk is connected to only a given node.