- Timestamp:
- Jan 28, 2020, 9:57:55 AM (6 years ago)
- Location:
- trunk/doc/release.2015/ps1.datasystem
- Files:
-
- 1 deleted
- 2 edited
-
datasystem.tex (modified) (7 diffs)
-
response.txt (deleted)
-
response.v1.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/release.2015/ps1.datasystem/datasystem.tex
r41209 r41234 2826 2826 \section{Conclusion} 2827 2827 2828 We began the development of the IPP in early 2004, soon after the2828 \textadd{We began the development of the IPP in early 2004, soon after the 2829 2829 initial funding for the construction of the Pan-STARRS telescopes was 2830 2830 awarded to U.H. The landscape of the software and computing world has 2831 2831 changed in a number of ways. Some of the decisions we made at the 2832 2832 beginning 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 data2833 make a different choice today. } 2834 2835 \textadd{One choice we made early on was to develop new code for the data 2836 2836 analysis programs. This choice was driven partly by some of our 2837 2837 experiences with the existing major systems of the time. We were … … 2846 2846 long-term supportability was also a priority. With these design 2847 2847 constraints 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 generic2848 be able to address the data rate and complexity.} 2849 2850 \textadd{In our design, we have tried to make the analysis programs as generic 2851 2851 as possible, with all instrument-specific details addressed in the 2852 2852 configuration files. Our implementation has been generally successful … … 2861 2861 generalization made is relatively simple to add the second telescope 2862 2862 and 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 keep2863 online for science operations in 2018. } 2864 2865 \textadd{In retrospect, the additional design and coding effort needed to keep 2866 2866 the system general were worthwhile and have paid off. However, if we 2867 2867 were to start from scratch today, we would probably choose to adapt 2868 2868 the 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 to2869 the same constraints. } 2870 2871 \textadd{One early choice was to use standard C for analysis programs and to 2872 2872 use Perl as a wrapper language. We considered other language choices, 2873 2873 including C++ and Python. Our choice of C over C++ has not held up … … 2880 2880 visualization and other high-level analysis options. It is also 2881 2881 easier 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 2882 coding 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 2891 2892 database to manage the processing stages, with regular queries to the 2892 2893 database to choose the tasks which are ready to proceed. Other 2893 2894 choices were possible. In some pipelined processing systems, 2894 2895 completed jobs trigger the next processing step. For example, 2895 \ippprog{ppImage} or its wrapper (\ ippprog{chip_imfile.pl}) could have2896 \ippprog{ppImage} or its wrapper (\texttt{chip\_imfile.pl}) could have 2896 2897 been responsible for launching the \ippprog{psastro} analysis, 2897 2898 eliminating the \ippprog{pantasks} manager entirely. … … 2901 2902 complete and launch the \ippprog{psastro} analysis. Both of these 2902 2903 choices 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 2904 in 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 2920 2922 database can become a bottleneck. If the queries used to select the 2921 2923 processing items become too large and too slow, the whole system can … … 2928 2930 scale of the queries. In addition, it is critical that the database 2929 2931 hardware 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 is2932 processing system.} 2933 2934 \textadd{Finally, the choice to use Nebulous as a file management system is 2933 2935 ambiguous. When we began this project, the existing cluster file 2934 2936 systems did not seem to match the level of our project. Some were … … 2948 2950 of data within the cluster. If we were to start from scratch today, 2949 2951 it is possible that some of the existing cluster file systems would 2950 address our needs within our budget. 2952 address our needs within our budget.} 2951 2953 2952 2954 Since the Pan-STARRS\,1 telescope first came online in 2007, this -
trunk/doc/release.2015/ps1.datasystem/response.v1.txt
r41208 r41234 1 1 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 10 This is a well-written and important technical paper that succeeds 11 admirably at what I consider the most important goal of any pipeline 12 paper: providing a decription of the processing steps that are 13 relevant for downstream science users (in this case, by providing the 14 big picture that ties together a number of more detailed papers). With 15 only a handful of minor cleanups (see detailed notes below), I think 16 the paper is ready for publication, and most of my comments represent 17 ideas for improvement that I hope the authors will consider (but 18 should not feel obliged to act on). 19 20 My only general concern is that the paper often misses the opportunity 21 to pass on lessons learned to the developers of future pipelines, and 22 this makes much of the detailed description of how the PS1 systems 23 work (particularly in Section 5) feel like it belongs more in operator 24 documentation rather than an article like this one. I suspect a small 25 amounof additional historical context - how different systems evolved 26 over the course of the survey - and commentary on what worked well and 27 what was a regular pain point would go a long way. 28 29 In particular, the described system seems to involve a both fair 30 amount of duplication (e.g. multiple databases, sky-tiling systems, 31 and task orchestration layers) and a number of in-house solutions to 32 what seem like fairly general problems (the DVO database and 33 especially the pantask/opihi system stand out in this regard). This is 34 not intended as criticism; I am quite aware that there are many good 35 reasons for both duplication and keeping central components in-house, 36 from deliberately keeping components loosely coupled to taking into 37 account the often-brief shelf-life of off-the-shelf solutions, 38 especially as compared to the duration of a major astronomical 39 survey. But describing *which* of many potential reasons actually 40 played a role in each of various design choices (and which, if any, 41 look less good in hindsight) would make the paper much more 42 interesting. 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. 2 48 3 49 # Detailed Notes
Note:
See TracChangeset
for help on using the changeset viewer.
