I/O Scheduling Service for Multi-Application Clusters - Archive ouverte HAL Access content directly
Conference Papers Year : 2006

I/O Scheduling Service for Multi-Application Clusters


Distributed applications, especially the ones being I/O intensive, often access the storage subsystem in a non-sequential way (stride requests). Since such behaviors lower the overall system performance, many applications use parallel I/O libraries such as ROMIO to gather and reorder requests. In the meantime, as cluster usage grows, several applications are of-ten executed concurrently, competing for access to storage subsystems and, thus, potentially canceling optimizations brought by Parallel I/O libraries. The aIOLi project aims at optimizing the I/O accesses within the cluster and providing a simple POSIX API. This article presents an extension of aIOLi to address the issue of disjoint accesses generated by different concurrent applications in a cluster. In such a context, good trade-off has to be assessed between performance, fairness and response time. To achieve this, an I/O scheduling algorithm together with a «requests aggregator» that take into account both application access patterns and global system load, have been designed and merged into aIOLi. This improvement led to the implementation of a new generic framework pluggable into any I/O file system layer. A test composed of two concurrent IOR benchmarks showed improvements on read accesses by a factor ranging from 3.5 to 35 with POSIX calls and from 3.3 to 5 with ROMIO, both reference benchmarks executed on a traditional NFS server without any additional optimizations.

Dates and versions

hal-00486929 , version 1 (27-05-2010)



Adrien Lebre, Guillaume Huard, Yves Denneulin, Przemyslaw Sowa. I/O Scheduling Service for Multi-Application Clusters. IEEE International Conference on Cluster Computing (Cluster 2006, Sep 2006, Barcelona, SPAIN, France. pp.1-10, ⟨10.1109/CLUSTR.2006.311854⟩. ⟨hal-00486929⟩
107 View
0 Download



Gmail Facebook Twitter LinkedIn More