A Comparison of Two Methods for Building Astronomical Image Mosaics on a Grid
Total Page:16
File Type:pdf, Size:1020Kb
A Comparison of Two Methods for Building Astronomical Image Mosaics on a Grid Daniel S. Katz, Joseph C. Jacob G. Bruce Berriman, John Good, Anastasia C. Laity Jet Propulsion Laboratory Infrared Processing and Analysis Center California Institute of Technology California Institute of Technology Pasadena, CA 91109 Pasadena, CA 91125 [email protected] Ewa Deelman, Carl Kesselman, Gurmeet Singh, Mei-Hui Su Thomas A. Prince USC Information Sciences Institute Astronomy Department Marina del Rey, CA 90292 California Institute of Technology Pasadena, CA 91125 Abstract ence analysis, integrated into project and mission pipelines, or run on computing grids to support large-scale product This paper compares two methods for running an appli- generation, mission planning and quality assurance. This cation composed of a set of modules on a grid. The set of paper discusses two strategies that have been used by Mon- modules (collectively called Montage) generates large as- tage to demonstrate implementation of an operational ser- tronomical image mosaics by composing multiple small im- vice on the Distributed Terascale Facility (TeraGrid) [2], ages. The workflow that describes a particular run of Mon- accessible through a web portal. tage can be expressed as a directed acyclic graph (DAG), or Two previously published papers provide background on as a short sequence of parallel (MPI) and sequential pro- Montage. The first described Montage as part of the archi- grams. In the first case, Pegasus can be used to run the tecture of the National Virtual Observatory [3], and the sec- workflow. In the second case, a short shell script that calls ond described some of the initial grid results of Montage each program can be run. In this paper, we discuss the Mon- [4]. Additionally, a book chapter [5] discussed an initial tage modules, the workflow run for a sample job, and the version of this work. This paper includes highlights from two methods of actually running the workflow. We examine those introductory papers, but focuses on the performance the run time for each method and compare the portions that aspects of the two methods for running Montage on the grid. differ between the two methods. 2 Montage architecture 1 Introduction 2.1 Processing steps Many science data processing applications can be ex- There are four steps to building a mosaic with Montage: pressed as a sequence of tasks to be performed. One such • Re-projection of input images to a common spatial astrononmy application builds science-grade mosaics from scale, coordinate system, and projection multiple images as if they were single images with a com- mon coordinate system, projection, etc. This software must • Modeling of background radiation in images to preserve the astrometric and photometric integrity of the achieve common flux scales and background levels by original data, and rectify background emission from the sky minimizing the inter-image differences or from the instrument using physically-based models. The • Rectification of images to a common flux scale and Montage project [1] delivers such tools to the astronomy background level community. Montage has been designed as a scalable, portable toolkit • Co-addition of re-projected, background-corrected im- that can be used by astronomers on their desktops for sci- ages into a final mosaic Proceedings of the 2005 International Conference on Parallel Processing Workshops (ICPPW’05) 1530-2016/05 $20.00 © 2005 IEEE Montage accomplishes these tasks in independent, a grid, and two disparate approaches. We then discuss the portable, ANSI C modules. This approach controls test- performance of the parts of the two approaches that differ, ing and maintenance costs, and provides flexibility to users. along with advantages and disadvantages of each. They can, for example, use Montage simply to re-project sets of images and co-register them on the sky, implement 3.1 Benchmark problem and system a custom background removal algorithm, or define another processing flow through custom scripts. In order to examine grid-enabling Montage, we chose a sample problem that could be computed on a single pro- 2.2 Sequential processing cessor in a reasonable time as a benchmark. The results in this paper involve this benchmark, unless otherwise stated. The first public release of Montage [6], version 1.7, sup- The benchmark problem generates a mosaic of 2MASS [7] ported serial processing of images controlled through a set data from a 6 × 6 degree region at M16 (a specific galaxy). of simple executives. It was rigorously tested on machines This requires 1254 input 2MASS images, each about 0.5 running Red Hat Linux, and has been successfully run under Megapixel, for a total of about 657 Megapixels (about 5 Solaris and Mac OS X, among others. Subsequent versions GB with 64 bits/pixel double precision floating point data). of Montage led to improved computational performance [4] The output is a 3.7 GB FITS (Flexible Image Transport Sys- (version 2) and added parallelism (version 3). Figure 1 tem) file with a 21600 × 21600 pixel data segment, and 64 shows the high level design for Montage. bits/pixel double precision floating point data. The output data is a little smaller than the input data size because there is some overlap between neighboring input images. For the timing results reported in this section, the input data had been pre-staged to a local disk on the compute cluster. Results in this paper are measured on the “Phase 2” Ter- aGrid [2] cluster at the National Center for Supercomputing Applications (NCSA), unless otherwise mentioned. This cluster has 887 nodes, each with dual Itanium-2 processors with at least 4 GB of memory. 256 of the nodes have 1.3 GHz processors, and the other 631 nodes have 1.5 GHz pro- cessors. The timing tests reported in this paper used the 1.5 GHz processors. The network between nodes is Myricom’s Myrinet and the operating system is SuSE Linux. Disk I/O is to a 24 TB General Parallel File System (GPFS). Jobs are scheduled on the system using Portable Batch System (PBS) and the queue wait time is not included in the execu- tion times since that is heavily dependent on machine load from other users. Figure 2 shows the processing steps for the bench- mark problem. There are two types of parallelism: sim- ple file-based parallelism, and more complex module-based parallelism. Examples of file-based parallelism are the mProject modules, each of which runs independently on a single file. mAddExec, which is used to build an out- put mosaic in tiles, falls into this category as well, as once all the background-rectified files have been built, each out- put tile may be constructed independently, except for I/O Figure 1. The high-level design of Montage. contention. The second type of parallelism can be seen in mAdd, where any number of processors can work together to build a single output mosaic. This module has been par- allelized over blocks of rows of the output, but the paral- 3 Grid-enabled Montage lel processes need to be correctly choreographed to actually write the single output file. The results in this paper are for In this section, we describe a benchmark problem and the serial version of mAdd, where each output tile is con- system, the elements needed to make this problem run on structed by a single processor. Proceedings of the 2005 International Conference on Parallel Processing Workshops (ICPPW’05) 1530-2016/05 $20.00 © 2005 IEEE 2MASS Image List Service, (iv) Grid Scheduling and Exe- cution Service, and (v) User Notification Service. Figure 2. Example workflow for Montage, for a case where three images are to be mosaicked. Figure 3. The Montage TeraGrid portal archi- tecture. 3.2 Common grid features User Portal. Users submit mosaic requests by filling in The basic user interface to Montage is implemented as a web form. The portal server receives and validates the a web portal. In this portal, the user selects a number of input, then stores the requests to disk for later processing. input parameters for the mosaicking job, such as the cen- A separate daemon processes requests by calling the ab- ter and size of the region of interest, the source of the data stract workflow service client code (mDAG,) and then the to be mosaicked, and some identification such as an email grid scheduling and execution service client code. address. Once this information is entered, the user assumes Abstract Workflow Service. This service builds a di- that the mosaic will be computed, and she will be notified rected acyclic graph (DAG) that describes the workflow. It of the completion via an email message containing a URL also builds input files needed in the Montage mosaic pro- where the mosaic can be retrieved. cessing. The workflow specifies the jobs and files that make Behind the scenes and hidden from the user’s view, a up the mosaic processing, as well as the dependencies (used number of things have to happen to make this work. First, to determine which jobs can be run in parallel.) a set of compute resources needs to be chosen. Here, we 2MASS Image List Service. This service takes as input will assume that this is a cluster with processors that have a celestial object name or location on the sky (which must access to a shared file system. Second, the input data files be specified as a single argument string), and a mosaic size. and executable code needs to be moved to these resources. Identifiers for 2MASS images that overlap the specified area Third, the modules need to be executed in the right order. In on the sky are returned in a table, with columns that include general, this might involve moving intermediate files from the filenames and other attributes associated with the im- one set of resources to another, but the previous assump- ages.