Abstract
As distributed environments such as networks of workstations arebecoming more cost-effective and popular, and more high performancecomputations are moving into such environments, supporting efficientparallel I/O in systems with a shared-nothing disk configuration isbecoming more and more important. In this thesis, we study the parallelI/O problems on networks of workstations.The first part of this thesis presents the issues involved in selectingan appropriate file declustering method to serve various access patternson distributed parallel computing environments. A good file declusteringmethod for multiple access patterns must (1) maximize the overall localaccess ratios, (2) minimize the performance variance between the accesspatterns, and (3) balance disk loads. The variable striping file declustering(VSFD) method is proposed for optimizing the file allocation in the I/O nodeswith multiple access patterns and can increase the local access ratio.In addition, VSFD can provide a uniform and consistent performance acrossdifferent access patterns, because it is able to induce the smallest variancein local disk access ratios for different access patterns.Next, the data availability problem in networks of workstations is investigated.We propose a new file replication method called locality aware file replication(LAFR). LAFR is application specific and is designed specifically for a parallelfile with multiple access patterns. Every replica has its own declustering methodby using LAFR. We demonstrate that the LAFR scheme may lead to better data accesslocality when multiple access patterns are applied to a file.Finally, we investigate the design and implementation issues in providing efficientI/O supports for parallel scientific applications running on NOWs. Two majorconsiderations are to achieve maximum utilization of system resources and to involveminimum overhead. The methodologies of using collective I/O and multithreadingimplementation are examined. Through the collective interfaces, the I/O system hasadditional semantic knowledge. Accordingly, the system can combine requests toeliminate duplication and to coalesce adjacent requests. As a result, collective I/Ogenerates a small number of contiguous access requests. Moreover, collective accessesmay also conform with the data storage pattern. Multithreading provides multiplecontrols within the same addressing space in a single program. Therefore,multithreading leads to lower cost for handling concurrent services, and improves theutilization of system resources. We will discuss how to use collective I/O andmultithreading to support efficient parallel I/O in networks of workstations.