Modeling Parallel Scientific Applications Through Their Input

Modeling Parallel Scientific Applications Through Their Input

2012 IEEE International Conference on Cluster Computing Workshops Modeling Parallel Scientific Applications through their Input/Output Phases Sandra Mendez,´ Dolores Rexachs and Emilio Luque Computer Architecture and Operating Systems Department (CAOS) Universitat Autonoma` de Barcelona Barcelona, Spain {sandra.mendez,dolores.rexachs,emilio.luque}@uab.es Abstract—The increase in computational power in processing different connection models (DAS, SAN, NAS, NASD) with units and the complexity of scientific applications that use high different parameters to configure (redundancy level, stripe, performance computing require more efficient Input/Output among others). The computer clusters are built to provide (I/O) systems. To use the I/O systems more efficiently it is necessary to know its performance capacity to determine if parallel computing to several application. These application it fulfills applications’ I/O requirements. Evaluating the I/O have different I/O requirements and the same I/O system is system performance capacity is difficult due to the diversity of not always appropriate for all applications. Programmers can I/O architectures and the complexity of its I/O software stack. modify their programs to efficiently manage I/O operations, Furthermore, parallel scientific applications have different be- but they need to know the I/O system, especially the I/O havior depending on their access patterns. Then, it is necessary to have some method to evaluate the I/O subsystem capacity software stack. taking into account the applications access patterns without The system administrators and programmers need in- executing the application in each I/O subsystem. formation to answer the following questions, When is it Here, we propose a methodology to evaluate the I/O subsys- convenient to use a parallel or distributed file system? tem performance capacity through an I/O model of the parallel When is it convenient to use I/O nodes for management the application independent of the I/O subsystem. This I/O model is composed of I/O phases representing ”where” and ”when” Input/Output? When is it convenient to use RAID or single the I/O operations are performed into application logic. disks? When is it convenient to use local storage or remote This approach encompasses the I/O subsystem evaluation at storage? I/O library level for the application I/O model. The I/O phases Users need informationa to answer questions as: Is the are replicated by benchmark IOR which is executed in the I/O subsystem a problem for the access patterns of the target subsystem. This approach was used to estimate the I/O time of an application in different subsystems. The results show application? How much I/O subsystem capacity is being an relative error of estimation lower than 10%. This approach used by the application? How the application access pattern was also utilized to select the I/O subsystem that provide less is done in a target subsystem? I/O time for the application. Therefore, a model of the I/O of the application and Keywords-Parallel I/O System, Application I/O model, I/O subsystem that can be used to compare and choose the phases, I/O configuration appropriate I/O subsystem for the particular access patterns of the application is needed. In this context to address this, I. INTRODUCTION we define an I/O abstract model of scientific applications Due to the historical “gap“ between the computing and to support the evaluation, design and selection of different Input/Output (I/O) performance, the I/O system is, in many I/O configurations. We have implemented a tracing tool for cases, the bottleneck in parallel systems. Increasing com- extracting ”I/O patterns”, and based on these patterns, we putational power of processing units and the complexity of have defined the concept of ”I/O phase” of parallel scientific scientific applications that use high performance computing applications. These I/O phases are key for defining an I/O require more efficient Input/Output systems. In order to hide behavioral model of parallel scientific applications. This the ”gap” and to efficiently use the I/O, it is necessary to model is used to analyze and select an I/O subsystem for identify the I/O factors with the biggest effect on perfor- the application. mance. The I/O factors depend on the I/O architecture and In this paper, we focus on describing the I/O abstract I/O software stack, however the application performance will model of the application. We have extracted the I/O model depend on its access pattern. of several applications in a system and we have tested its The architecture and software of the I/O subsystem are independence by testing it in two computer clusters. We also chosen by system administrators. The system administrator have applied this model to predict the I/O behavior of an or designer has the difficulty either to select components application in two different computer cluster obtaining an of the I/O subsystem (JBOD, RAID level, filesystem, inter- error time prediction lower than 10%. connection network, among other factors) or to choose from This article is organized as follows: in Section II we 978-0-7695-4844-9/12 $26.00 © 2012 IEEE 7 DOI 10.1109/ClusterW.2012.37 review the related work, Section III introduces our proposed Table I methodology. In Section IV we review the experimental SUMMARY OF NOTATION validation. Finally, we present our conclusions and future Notation Description work. app parallel application ; np number of processes of parallel application ; II. RELATED WORK traceF ile(p) tracing file of pth process; nF number of files in the parallel application ; Application performance depends on access patterns and idP MPI Process identifier; the I/O system configuration. There are several tracing tools idF File identifier (0 < idF < nF ) ; initOffset initial offset for the operation (in Bytes); to I/O operations of parallel applications, although most of disp Displacement in a position relative of the file them are not available for external users. These tools can (in Bytes); help to identify application behavior. rs request size for the operation (in Bytes); rep number of repetitions of an access pattern; Kim et. al. [1] presents a tracing tool for I/O software tick Logical time unit; stack which has been applied to PVFS2 and MPI-IO. They LAP local access pattern provide a tracing tool which extracts I/O metrics through LAP file(p) local access pattern file for the pth process the automatic instrumentation of source code of applications. weight(ph) weight of phase ph = {rep(simLAP ) ∗ rs(simLAP )} The user must select the appropriate metric and determine simLAP similar local access pattern that portion of code to trace. where the initOffset can be different = { ( )} Carns [2] presented the Darshan tracing tool for the phase idP H, idF, weight(ph),f initOffset f(initOffset) a mathematical expression in function of initial I/O workloads characterization of the petascale. Darshan offset is designed to capture an accurate picture of the applica- tion I/O behavior, including properties such as patterns of access within files, with minimum overhead. Furthermore, Most of these researchers are aimed at supercomputers, in [3], Carns presented a multilevel application I/O study while our strategy is focused on computer clusters. Also, and a methodology for system-wide, continuous, scalable these researchers have been focused in the analyze the I/O characterization that combines storage device instru- application executing. However, the main difference is that mentation, static filesystem analysis, and a new mechanism our methodology is focused on obtain an I/O abstract model for capturing detailed application-level behavior. We have of scientific application that we can apply in different I/O utilized Darshan in the beginning of our research. However, systems without that the application is executed in the target we decided to change to PAS2P [4] tracing tool due to it I/O subsystem. was more appropriate to identify the I/O phases of parallel III. PROPOSED METHODOLOGY application. We have extended PAS2P tool to trace MPI-IO routines, of MPI2 standard [5], through an instrumentation The proposed methodology is composed of three stages: automatic that interposes to MPI-IO functions. Characterization, I/O analysis and Evaluation. Next, we Nakka et. al. [6] presented a trace tool to extract MPI-IO explain each stage. operations from very large applications running at full scale A. Characterization in production systems. This trace tool is specific to their The characterization is applied to the I/O subsystem and system. parallel scientific application. This stage has two objectives: Byna et. al. [7] used I/O signatures for parallel I/O i) Identifying the different I/O configurations of the I/O prefetching. They presented a classification of I/O patterns subsystem; and ii) Extracting the I/O model of application. for parallel application, I/O signatures at local process level These activities are independent. The characterization of and applying of signature to prefetching technical. We use application is done off-line and the application I/O model their propose to identify access patterns. However, we have can be applied to analyze different target systems. identified the global access pattern because we need the I/O 1) Scientific Application: The I/O model of application for the parallel application. From local access patterns and is defined by three characteristics: metadata, spatial global by similarity, we have defined the global access pattern, then pattern and temporal global pattern. We characterize the global access patterns are divided in the I/O phases. application off-line and once at I/O library level because it H. Shan and J. Shalf [8] have used IOR to mimic the I/O provides us two important benefits.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    9 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