Gather-arrange-scatter: Node-level request reordering for parallel file systems on multi-core clusters (IEEE Cluster 2008)


Multiple processors or multi-core CPUs are now in common, and the number of processes running concurrently is increasing in a cluster. Each process issues contiguous I/O requests individually, but they can be interrupted by the requests of other processes if all the processes enter the I/O phase together. Then, I/O nodes handle these requests as non-contiguous. This increases the disk seek time, and causes performance degradation.

To overcome this problem, a node-level request reordering architecture, called gather-arrange-scatter (GAS) architecture, is proposed. In GAS, the I/O requests in the same node are gathered and buffered locally. Then, those are arranged and combined to reduce the I/O cost at I/O nodes, and finally they are scattered to the remote I/O nodes in parallel.

A prototype is implemented and evaluated using the BTIO benchmark. This system reduces up to 84.3% of the lseekO calls and reduces up to 93.6% of the number of requests at I/O nodes. This results in up to a 12.7% performance improvement compared to the non-arranged case.