A Case Study with PVFS

A Case Study with PVFS

Bridging The Gap Between Parallel File Systems and Local File Systems: A Case Study with PVFS Peng Gu, Jun Wang Robert Ross University of Central Florida Argonne National Laboratory {penggu,jwang}@cs.ucf.edu [email protected] Abstract Data being accessed 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2-D Matrix 19 20 21 22 23 24 Parallel I/O plays an increasingly important role in to- 25 26 27 28 29 30 day’s data intensive computing applications. While much 31 32 33 34 35 36 attention has been paid to parallel read performance, most of this work has focused on the parallel file system, mid- Virtual F ile dleware, or application layers, ignoring the potential for 1 2 3 4 5 6 7 8 9 10 ... ... 31 32 33 34 35 36 ( Memory View ) improvement through more effective use of local storage. In this paper, we present the design and implementation of Segment-structured On-disk data Grouping and Prefetching 1 2 3 4 5 6 7 8 9 10 11 12 (SOGP), a technique that leverages additional local stor- Lo c al F ile 13 14 15 16 17 18 age to boost the local data read performance for parallel ( Disk View ) 19 20 21 22 23 24 25 26 27 28 29 30 file systems, especially for those applications with partially 31 32 33 34 35 36 overlapped access patterns. Parallel Virtual File System I/O server 1 I/O server 2 (PVFS) is chosen as an example. Our experiments show that an SOGP-enhanced PVFS prototype system can outperform Figure 1. Strided Access Pattern a traditional Linux-Ext3-based PVFS for many applications and benchmarks, in some tests by as much as 230% in terms of I/O bandwidth. conduct column-based processing of this matrix, then re- quests become noncontiguous at the local storage system 1 Introduction level (Figure 1). This results in a non-sequential access pat- tern and reduces the chances of prefetching being appro- priately applied. If a sequence of operations, such as visu- Recent years have seen growing research activities in alizing the dataset from multiple viewpoints, will perform various parallel file systems, such as Lustre [3], IBM’s column-based operations on the matrix, then a similar pat- GPFS [19], Ceph [24], the Panasas PanFS File System [17], tern of noncontiguous accesses will be repeated each time and PVFS [8]. In many cases, parallel file systems use a lo- the matrix is accessed. If we could reorganize the on-disk cal file system or object store to serve as a local data repos- data on the fly such that the future accesses become sequen- itory. Because of the interfaces used to access these local tial accesses, or keep a copy of the data in this more op- resources, local storage systems are unaware of the behav- timal organization, we could significantly improve the ob- ior of high-level parallel applications that talk directly to served local storage bandwidth, and we could do so without parallel file systems. Likewise, because of interface limita- changes to the rest of the I/O system. tions the parallel file system itself is not aware of the un- We note that partially overlapped accesses are becoming derlying local storage organization and operation. In other more common in many emerging scientific and engineering words, there is an information gap between local file sys- applications [6]: these applications access the same data re- tem and parallel file system, and as a result access locality gions more than once during their execution. Although sim- from applications often gets lost. Specifically, the local stor- ilar noncontiguous patterns were reported in HPC commu- age system can only see accesses to separate pieces of large nity one decade ago [18], parallel file system and local file parallel files. Emerging Object Storage Device (OSD) in- system architectures have not been focused on addressing terfaces, used by parallel file systems [3, 24, 17], do appear these patterns. Examples of this pattern of access are com- to present a more appropriate interface for local storage re- mon in mapping, Geographic Information Systems(GIS), sources, but at this time the OSD interface does not address and visualization applications. In these applications, when this knowledge gap. a user zooms in or out or changes viewpoint, some foci re- As an example, if a large matrix is stored on I/O servers gions remain in the display window, but new regions are in a row-major pattern, while a parallel program needs to often accessed to be displayed in the new view (Figure 2). Original display window Overlapped region low the disk servers to determine the flow of data for maxi- Final display window Zooming in mum performance by issuing large data requests. The sec- ond work developed a local pattern predictor and a global pattern predictor to catch the I/O access patterns in parallel file systems. Our work differs from both of these in that we use a combination of grouping and prefetching to aggregate I/O into large requests and to overlap computation and I/O. A number of research projects exist in the areas of par- allel I/O and parallel file systems, such as PPFS [10] and PIOUS [16]. PPFS offers runtime/adaptive optimizations, such as adaptive caching and prefetching, but does not use Figure 2. When a user zooms in on a partic- segment based on-disk grouping to maximize disk band- ular region, data in that region is reused. If width utilization. PIOUS focuses on I/O from the view- data must be re-read, the accesses will over- point of transactions, not from that of scientific computing. lap. In addition, these parallel file systems, as well as I/O op- timizations on them, are mostly research prototypes, while our work is done on PVFS, a production-ready parallel file system widely used on Linux clusters. When the data is huge and cannot be held in the mem- ory, such as in computational science visualization appli- 3 SOGP Design and Implementation cations [4], the application is typically re-reading many of the same regions for every new view. In this paper, we present the design and implementation Researchers have pursued two approaches to address the of a segment structured on-disk grouping and prefetching information gap between parallel file systems and local stor- technique to improve I/O system performance for parallel age systems for better performance: application-directed file server based parallel file systems. The system works prefetching hints [7] and language and compiler techniques as a cache, so the original data format on local storage is that automatically insert speculative I/O access statements preserved. At this time all metadata for SOGP is stored when compiling application codes [14, 15]. Except for in memory for performance reasons, so a node failure will MPI-IO hints, prefetching hints provided by applications cause all the grouping information and on-disk segment are typically limited to specific compilers and thus are not cache to be lost, but all data will still be present as stored portable. In addition, any application that would benefit by the parallel file system, so the reliability of the parallel from this technique needs to be re-written to accommodate file system is unaffected by our enhancements. In our cur- the new feature. Compiler inserted prefetching seems to rent implementation, we choose PVFS as our development be more promising. Kotz [12] proposed a prefetching tech- and test platform. nique for parallel file systems as well, based on access pat- terns studied decades ago. While we believe that this ap- 3.1 SOGP Architecture proach is still relevant, we do not believe that prefetching alone is adequate to address the challenges of these applica- SOGP consists of the following major components: a tions. segment-structured disk storage subsystem, an in-memory In this paper we describe an on-disk grouping and segment lookup table, a locality-oriented grouping algo- prefetching technique named SOGP to bridge the gap be- rithm and an in-memory segment cache. These compo- tween the local storage system and parallel the file system. nents are shown in Figure 3. The disk storage subsystem The main ideas behind SOGP are to store a copy of data is adopted to mainly implement segment I/O, which will be that is often accessed in a more efficient organization by elaborated in Section 3.3. The in-memory segment lookup grouping noncontiguous file I/O requests and storing these table is a data structure to index and manage all in-memory groups (called segments) on a local disk partition, and to use and disk segments in SOGP. this more efficient organization to improve the performance of prefetching at the local storage level, better catering to 3.2 Augmenting PVFS with SOGP the needs of parallel file system. By using several synthetic parallel I/O benchmarks, we see that our SOGP-enhanced PVFS scheme outperforms an EXT3-based PVFS by 39% In PVFS, the storage management module is named to 230% in terms of aggregate I/O bandwidth in a testbed trove. At the time of this writing, the only implementation cluster system. of trove is called DBPF (i.e., DataBase Plus Files). This version uses Berkeley DB for metadata storage and files on a local file system (e.g. ext3) for storing file data. We mod- 2 Related Work ified the DBPF code so that SOGP is able to take over the requests dispatched to DBPF.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    8 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us