SDAFT: A novel scalable data access framework for parallel BLAST

Jiangling Yin, Junyao Zhang, Jun Wang, Wu-chun Feng
2014 Parallel Computing  
In order to run tasks in a parallel and load-balanced fashion, existing scientific parallel applications such as mpiBLAST introduce a data-initializing stage to move database fragments from shared storage to local cluster nodes. Unfortunately, with the exponentially increasing size of sequence databases in today's big data era, such an approach is inefficient. In this paper, we develop a scalable data access framework to solve the data movement problem for scientific applications that are
more » ... ted by "read" operation for data analysis. SDAFT employs a distributed file system (DFS) to provide scalable data access for parallel sequence searches. SDAFT consists of two interlocked components: (1) a data centric load-balanced scheduler (DC-scheduler) to enforce data-process locality and (2) a translation layer to translate conventional parallel I/O operations into HDFS I/O. By experimenting our SDAFT prototype system with real-world database and queries at a wide variety of computing platforms, we found that SDAFT can reduce I/O cost by a factor of 4-10 and double the overall execution performance as compared with existing schemes. Although this scheme works well when a database is small, it does not scale up with exponentially growing databases [10,31,24] and can become a major stumbling block to high performance and scalability. Distributed file systems, constructed from machines with locally attached disks, can scale with the problem size and number of nodes as needed. For instance, the Hadoop Distributed File System (HDFS) could support MapReduce applications to realize local data access. The idea behind the MapReduce framework is that it is faster and more efficient to send the compute executables to the stored data to be processed in situ rather than to pull the needed data from storage and send it via a network to the compute node. Compared to the MPI-based parallel programming model, however, MapReduce does not allow for the flexibility and efficiency of complex expressions and communications with regards to scientific parallel applications [30, 17] . In this paper, we develop a scalable data access framework to solve the scalability and data movement problems of MPI-based parallel applications which are dominated with read operation. SDAFT is an adaptive, data locality-aware middleware system that employs a scalable distributed file system to supply parallel I/O and dynamically schedules compute processes to access local data by monitoring physical data locations. Our main focus here is on well-recognized scientific parallel applications that are developed with the MPI programming model and that originally execute on compute-centric platforms rather than data-centric platforms. SDAFT allows these applications to benefit from data locality exploitation in HDFS, while also leveraging the flexibility and efficiency of the MPI programming model. SDAFT consists of two important components: A process-to-data mapping scheduler (DC-scheduler) changes the compute-centric mapping relationship to a data-centric scheme: a computational process always accesses the data from a local (or nearby) computation node unless the computation is not executable in a distributed fashion. To solve all incompatibility issues between parallel I/O, such as MPI_File_read(), and DFS I/O, such as hdfsRead(), a virtual translation layer(SDAFT-IO) is developed to enable computational processes to execute parallel I/O on underlying distributed file systems. We realize a SDAFT prototype system and use mpiBLAST as a case-study application to demonstrate the efficacy of SDAFT. In our work, SDAFT runs on the popular Hadoop Distributed File System (HDFS). Because every BLAST task is always scheduled to execute on an idle compute node and accesses the necessary data directly from local attached disks, the I/O cost is significantly reduced. By experimenting with the SDAFT prototype on PRObE's Marmot 128-node cluster testbed and a university on-site 46-node cluster, we find that SDAFT doubles the overall performance of existing mpiBLAST solutions when the problem becomes I/O-intensive by reducing the average parallel I/O cost prior to parallel BLAST execution by a factor of five as compared to current approaches. The remainder of this paper is organized as follows: Section 2 discusses background information on parallel sequence search tools and the underlying file systems. Section 3 presents our proposed framework. Section 4 shows performance results and analysis. Section 5 discusses related work and future work, and Section 6 concludes the paper.
doi:10.1016/j.parco.2014.08.001 fatcat:kwyeqyahbbfifcg4twh7aovtcq