IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 41234 for trunk


Ignore:
Timestamp:
Jan 28, 2020, 9:57:55 AM (6 years ago)
Author:
eugene
Message:

removing old draft response copy

Location:
trunk/doc/release.2015/ps1.datasystem
Files:
1 deleted
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/doc/release.2015/ps1.datasystem/datasystem.tex

    r41209 r41234  
    28262826\section{Conclusion}
    28272827
    2828 We began the development of the IPP in early 2004, soon after the
     2828\textadd{We began the development of the IPP in early 2004, soon after the
    28292829initial funding for the construction of the Pan-STARRS telescopes was
    28302830awarded to U.H.  The landscape of the software and computing world has
    28312831changed in a number of ways.  Some of the decisions we made at the
    28322832beginning have held up well while in other cases we would probably
    2833 make a different choice today. 
    2834 
    2835 One choice we made early on was to develop new code for the data
     2833make a different choice today.  }
     2834
     2835\textadd{One choice we made early on was to develop new code for the data
    28362836analysis programs.  This choice was driven partly by some of our
    28372837experiences with the existing major systems of the time.  We were
     
    28462846long-term supportability was also a priority.  With these design
    28472847constraints in mind, we decided to develop a new code base which would
    2848 be able to address the data rate and complexity.
    2849 
    2850 In our design, we have tried to make the analysis programs as generic
     2848be able to address the data rate and complexity.}
     2849
     2850\textadd{In our design, we have tried to make the analysis programs as generic
    28512851as possible, with all instrument-specific details addressed in the
    28522852configuration files.  Our implementation has been generally successful
     
    28612861generalization made is relatively simple to add the second telescope
    28622862and camera (PS2 + GPC2) to the regular processing when they came
    2863 online for science operations in 2018. 
    2864 
    2865 In retrospect, the additional design and coding effort needed to keep
     2863online for science operations in 2018.  }
     2864
     2865\textadd{In retrospect, the additional design and coding effort needed to keep
    28662866the system general were worthwhile and have paid off.  However, if we
    28672867were to start from scratch today, we would probably choose to adapt
    28682868the LSST pipeline for our use since it has been developed with some of
    2869 the same constraints. 
    2870 
    2871 One early choice was to use standard C for analysis programs and to
     2869the same constraints.  }
     2870
     2871\textadd{One early choice was to use standard C for analysis programs and to
    28722872use Perl as a wrapper language.  We considered other language choices,
    28732873including C++ and Python.  Our choice of C over C++ has not held up
     
    28802880visualization and other high-level analysis options.  It is also
    28812881easier to hire astronomers with good Python coding skills that Perl
    2882 coding skills.
    2883 
    2884 We also find that maintaining support for our Perl code has been a
    2885 challenge: changes to the Perl language syntax and changes in
    2886 externally supported Perl modules have required significant effort to
    2887 keep our code compatible with the changes.  It is not obvious that
    2888 Python would obviate that particular problem, however.
    2889 
    2890 One important aspect of the design of the IPP is to use a single
     2882coding skills.}
     2883
     2884\textadd{We also find that maintaining support for our Perl code has
     2885  been a challenge: changes to the Perl language syntax and changes in
     2886  externally supported Perl modules have required significant effort
     2887  to keep our code compatible with the changes.  It is not obvious
     2888  that Python would obviate that particular problem, however.}
     2889
     2890%% the \textadd{} wrapper breaks the \ippprog{} ability to swallow underscores
     2891\textadd{One important aspect of the design of the IPP is to use a single
    28912892database to manage the processing stages, with regular queries to the
    28922893database to choose the tasks which are ready to proceed.  Other
    28932894choices were possible.  In some pipelined processing systems,
    28942895completed jobs trigger the next processing step.  For example,
    2895 \ippprog{ppImage} or its wrapper (\ippprog{chip_imfile.pl}) could have
     2896\ippprog{ppImage} or its wrapper (\texttt{chip\_imfile.pl}) could have
    28962897been responsible for launching the \ippprog{psastro} analysis,
    28972898eliminating the \ippprog{pantasks} manager entirely.
     
    29012902complete and launch the \ippprog{psastro} analysis.  Both of these
    29022903choices can potentially result in lower latency since the next step is
    2903 in principle run immediately when the previous step is completed. 
    2904 
    2905 Our design choice has two important advantages: First, error and failure
    2906 recovery are trivial.  If one of the many programs fails or is
    2907 interrupted, the system can easily notice and retry the job.  In a
    2908 triggered system, a failure of one stage could mean the trigger never
    2909 happens.  Some external cleanup system would need to be implemented to
    2910 check for the failures and re-launch.  The second advantage of our
    2911 design is that each analysis stage is highly independent and can thus
    2912 be flexibly run in different ways.  For example, alternative test
    2913 systems can run in parallel with the nightly operations system, using
    2914 the outputs of the nightly processing by simple changes to the queries
    2915 used to select the elements for an analysis stage.  In addition, it is
    2916 easy to add new stages since they do not need to be injected into the
    2917 standard processing manager (\ippprog{pantasks}).
    2918 
    2919 The main challenge related to this database-managed design is that the
     2904in principle run immediately when the previous step is completed.}
     2905
     2906\textadd{Our design choice has two important advantages: First, error
     2907  and failure recovery are trivial.  If one of the many programs fails
     2908  or is interrupted, the system can easily notice and retry the job.
     2909  In a triggered system, a failure of one stage could mean the trigger
     2910  never happens.  Some external cleanup system would need to be
     2911  implemented to check for the failures and re-launch.  The second
     2912  advantage of our design is that each analysis stage is highly
     2913  independent and can thus be flexibly run in different ways.  For
     2914  example, alternative test systems can run in parallel with the
     2915  nightly operations system, using the outputs of the nightly
     2916  processing by simple changes to the queries used to select the
     2917  elements for an analysis stage.  In addition, it is easy to add new
     2918  stages since they do not need to be injected into the standard
     2919  processing manager (\ippprog{pantasks}).}
     2920
     2921\textadd{The main challenge related to this database-managed design is that the
    29202922database can become a bottleneck.  If the queries used to select the
    29212923processing items become too large and too slow, the whole system can
     
    29282930scale of the queries.  In addition, it is critical that the database
    29292931hardware be sufficiently powerful to keep up with the demand from the
    2930 processing system.
    2931 
    2932 Finally, the choice to use Nebulous as a file management system is
     2932processing system.}
     2933
     2934\textadd{Finally, the choice to use Nebulous as a file management system is
    29332935ambiguous.  When we began this project, the existing cluster file
    29342936systems did not seem to match the level of our project.  Some were
     
    29482950of data within the cluster.  If we were to start from scratch today,
    29492951it is possible that some of the existing cluster file systems would
    2950 address our needs within our budget.
     2952address our needs within our budget.}
    29512953
    29522954Since the Pan-STARRS\,1 telescope first came online in 2007, this
  • trunk/doc/release.2015/ps1.datasystem/response.v1.txt

    r41208 r41234  
    11
     2** We are resubmitting our article "The Pan-STARRS Data Processing
     3   System" after addressing suggestions raised by the referee.  We
     4   thank the referee for detailed comments and suggestions.  Below are
     5   our responses to the referee's suggestions.  (Our responses are
     6   preceeded by "**")
     7
     8# General Notes
     9
     10This is a well-written and important technical paper that succeeds
     11admirably at what I consider the most important goal of any pipeline
     12paper: providing a decription of the processing steps that are
     13relevant for downstream science users (in this case, by providing the
     14big picture that ties together a number of more detailed papers). With
     15only a handful of minor cleanups (see detailed notes below), I think
     16the paper is ready for publication, and most of my comments represent
     17ideas for improvement that I hope the authors will consider (but
     18should not feel obliged to act on).
     19
     20My only general concern is that the paper often misses the opportunity
     21to pass on lessons learned to the developers of future pipelines, and
     22this makes much of the detailed description of how the PS1 systems
     23work (particularly in Section 5) feel like it belongs more in operator
     24documentation rather than an article like this one. I suspect a small
     25amounof additional historical context - how different systems evolved
     26over the course of the survey - and commentary on what worked well and
     27what was a regular pain point would go a long way.
     28
     29In particular, the described system seems to involve a both fair
     30amount of duplication (e.g. multiple databases, sky-tiling systems,
     31and task orchestration layers) and a number of in-house solutions to
     32what seem like fairly general problems (the DVO database and
     33especially the pantask/opihi system stand out in this regard). This is
     34not intended as criticism; I am quite aware that there are many good
     35reasons for both duplication and keeping central components in-house,
     36from deliberately keeping components loosely coupled to taking into
     37account the often-brief shelf-life of off-the-shelf solutions,
     38especially as compared to the duration of a major astronomical
     39survey. But describing *which* of many potential reasons actually
     40played a role in each of various design choices (and which, if any,
     41look less good in hindsight) would make the paper much more
     42interesting.
     43
     44** We have greatly expanded the Conclusion to address these questions,
     45   and to identify choices we made which either turned out well or
     46   which we would have done differently given changes to the software
     47   landscape.
    248
    349# Detailed Notes
Note: See TracChangeset for help on using the changeset viewer.