Improving the performance of distributed shared memory systems via parallel file input/output
File accesses in page-based software Distributed Shared Memory (DSM) systems are usually performed by a single node, which may lead to a poor overall performance because a large amount of network traffic is generated to transfer data between this file handling node and the other nodes. To reduce the file-related network traffic in the DSM systems, we have designed a parallel file I/O system, that is independent of the memory consistency models, for the page-based software DSM systems built on a network of workstations. The two main features in our design are the adaptive data distribution scheme and the delayed file access mechanism. The former distributes file blocks among the nodes according to the access pattern of the application, while the latter ensures that the data are transferred to the consumer node instead of the request node by exploiting the memory mapping features of the virtual shared address space of the DSM systems. Our first prototype is built on Cohesion, a page-based software DSM system also developed by our research group, and this implementation requires very little modification on Cohesion. The performance result of our prototype is quite encouraging: the total execution time of the 20481024 20-iterations Successive Over Relaxation program on eight nodes was reduced from 196 s with sequential I/O to 108 s with parallel I/O, while it was reduced in the 512512 Matrix Multiplication program on eight nodes from 100 s with sequential I/O to 84 s with parallel I/O.
distributed shared memory parallel file i/o network of workstations cohesion