ODDS: Optimizing Data-Locality Access for Scientific Data Analysis

Whereas traditional scientific applications are computationally intensive, recent applications require more data-intensive analysis and visualization to extract knowledge from the explosive growth of scientific information and simulation data. As the computational power and size of compute clusters continue to increase, the I/O read rates and associated network for these data-intensive applications have been unable to keep pace. These applications suffer from long I/O latency due to the movement of “big data” from the network/parallel file system, which results in a serious performance bottleneck. To address this problem, we proposed a novel approach called “ODDS” to optimize data-locality access in scientific data analysis and visualization. ODDS leverages a distributed file system (DFS) to provide scalable data access for scientific analysis. Through exploiting the information of underlying data distribution in DFS, ODDS employs a novel data-locality scheduler to transform a compute-centric mapping into a data-centric one and enables each computational process to access the needed data from a local or nearby storage node. ODDS is suitable for parallel applications with dynamic process-to-data scheduling and for applications with static process-to-data assignment. To demonstrate the efficacy of our methods, we present and evaluate ODDS in the context of two state-of-the-art, scientific-analysis applications—mpiBLAST and ParaView—along with the Hadoop distributed file system (HDFS) across a wide variety of computing platform settings. In comparison to existing deployments using NFS, PVFS, or Lustre as the underlying storage systems, ODDS can greatly reduce the I/O cost and double overall performance.

[1]  Karsten Schwan,et al.  FlexIO: I/O Middleware for Location-Flexible Scientific Data Analytics , 2013, 2013 IEEE 27th International Symposium on Parallel and Distributed Processing.

[2]  Robert B. Ross,et al.  PVFS: A Parallel File System for Linux Clusters , 2000, Annual Linux Showcase & Conference.

[3]  Toni Cortes,et al.  Analyzing Long-Term Access Locality to Find Ways to Improve Distributed Storage Systems , 2012, 2012 20th Euromicro International Conference on Parallel, Distributed and Network-based Processing.

[4]  Andrey Tovchigrechko,et al.  Parallelizing BLAST and SOM Algorithms with MapReduce-MPI Library , 2011, 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum.

[5]  Wu-chun Feng,et al.  SDAFT: a novel scalable data access framework for parallel BLAST , 2013, DISCS-2013.

[6]  Muthu Dayalan,et al.  MapReduce : Simplified Data Processing on Large Cluster , 2018 .

[7]  D. Lipman,et al.  Improved tools for biological sequence comparison. , 1988, Proceedings of the National Academy of Sciences of the United States of America.

[8]  Kamil Iskra,et al.  ZOID: I/O-forwarding infrastructure for petascale architectures , 2008, PPoPP.

[9]  Michael Lang,et al.  Optimizing load balancing and data-locality with data-aware scheduling , 2014, 2014 IEEE International Conference on Big Data (Big Data).

[10]  Surendra Byna,et al.  Server-Based Data Push Architecture for Multi-Processor Environments , 2007, Journal of Computer Science and Technology.

[11]  Yuan Yu,et al.  Dryad: distributed data-parallel programs from sequential building blocks , 2007, EuroSys '07.

[12]  Chung-Hsing Hsu,et al.  Hybrid petacomputing meets cosmology: The Roadrunner Universe project , 2009 .

[13]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[14]  Magdalena Balazinska,et al.  SkewTune: mitigating skew in mapreduce applications , 2012, SIGMOD Conference.

[15]  Randy H. Katz,et al.  Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center , 2011, NSDI.

[16]  Wu-chun Feng,et al.  Parallel Genomic Sequence-Searching on an Ad-Hoc Grid: Experiences, Lessons Learned, and Implications , 2006, ACM/IEEE SC 2006 Conference (SC'06).

[17]  Steve Poole,et al.  PaScal - a new parallel and scalable server IO networking infrastructure for supporting global storage/file systems in large-size Linux clusters , 2006, 2006 IEEE International Performance Computing and Communications Conference.

[18]  Michael J. Franklin,et al.  Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing , 2012, NSDI.

[19]  Weiwei Xing,et al.  MRSIM: Mitigating Reducer Skew In MapReduce , 2017, 2017 31st International Conference on Advanced Information Networking and Applications Workshops (WAINA).

[20]  C. C. Law,et al.  ParaView: An End-User Tool for Large-Data Visualization , 2005, The Visualization Handbook.

[21]  Andrew J. Hutton,et al.  Lustre: Building a File System for 1,000-node Clusters , 2003 .

[22]  Nagiza F. Samatova,et al.  Coordinating Computation and I/O in Massively Parallel Sequence Search , 2011, IEEE Transactions on Parallel and Distributed Systems.

[23]  Garth A. Gibson,et al.  PRObE: A Thousand-Node Experimental Cluster for Computer Systems Research , 2013, login Usenix Mag..

[24]  Li Zhang,et al.  MRONLINE: MapReduce online performance tuning , 2014, HPDC '14.

[25]  Jarek Nieplocha,et al.  ScalaBLAST: A Scalable Implementation of BLAST for High-Performance Data-Intensive Bioinformatics Analysis , 2006, IEEE Transactions on Parallel and Distributed Systems.

[26]  Utkarsh Ayachit,et al.  The ParaView Guide: A Parallel Visualization Application , 2015 .

[27]  David L. Wheeler,et al.  GenBank , 2015, Nucleic Acids Res..

[28]  E. Myers,et al.  Basic local alignment search tool. , 1990, Journal of molecular biology.

[29]  Irene Finocchi,et al.  On data skewness, stragglers, and MapReduce progress indicators , 2015, SoCC.

[30]  Hai Jin,et al.  Mammoth: Gearing Hadoop Towards Memory-Intensive MapReduce Applications , 2015, IEEE Transactions on Parallel and Distributed Systems.

[31]  Conrad C. Huang,et al.  UCSF Chimera—A visualization system for exploratory research and analysis , 2004, J. Comput. Chem..

[32]  Wu-chun Feng,et al.  SLAM: scalable locality-aware middleware for I/O in scientific analysis and visualization , 2014, HPDC '14.

[33]  Prabhat,et al.  Ultrascale Visualization of Climate Data , 2013, Computer.

[34]  Sanjay Ghemawat,et al.  MapReduce: simplified data processing on large clusters , 2008, CACM.

[35]  T. N. Bhat,et al.  The Protein Data Bank , 2000, Nucleic Acids Res..

[36]  Mahmut T. Kandemir,et al.  Provisioning a Multi-tiered Data Staging Area for Extreme-Scale Machines , 2011, 2011 31st International Conference on Distributed Computing Systems.

[37]  Fan Zhang,et al.  Combining in-situ and in-transit processing to enable extreme-scale scientific analysis , 2012, 2012 International Conference for High Performance Computing, Networking, Storage and Analysis.

[38]  Rajeev Thakur,et al.  A Decoupled Execution Paradigm for Data-Intensive High-End Computing , 2012, 2012 IEEE International Conference on Cluster Computing.

[39]  James Ostell Databases of Discovery , 2005, ACM Queue.

[40]  Mahmut T. Kandemir,et al.  Improving the performance of k-means clustering through computation skipping and data locality optimizations , 2012, CF '12.

[41]  Garth A. Gibson,et al.  Data-intensive File Systems for Internet Services: A Rose by Any Other Name... (CMU-PDL-08-114) , 2008 .