In the last years, the increasing gap between processor speed and storage has exposed I/O as one of the most significant bottlenecks in parallel applications. Distributed architectures based on commodity components belonging to the same organization consists of heterogeneous computers with dynamically evolving utilization loads. These resources can be efficiently used for executing parallel computing applications provided that all the computers are under the same administrative domain. In this work we propose an execution environment which could provide these parallel applications an efficient access to storage in the case that distributed or parallel filesystem are not available. Unlike traditional storage solutions, we propose a pull-based model based on mobile agents. In this approach, the mobile agents can freely traverse the compute nodes as well as accessing the memory region of the parallel application. Therefore, the application data can be accessed by the mobile agents and efficiently transferred to the storage nodes. The final goal of this platform is to provide distributed asynchronous I/O services based on the usage of mobile agents. Experimentally we show that, by exploiting the unique characteristics of mobile agents, the efficiency of the I/O stage can be dramatically increased.
distributed architectures; mobile agents; parallel i/o