Changeset 41234 for trunk/doc/release.2015/ps1.datasystem/datasystem.tex
- Timestamp:
- Jan 28, 2020, 9:57:55 AM (6 years ago)
- File:
-
- 1 edited
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
Note:
See TracChangeset
for help on using the changeset viewer.
