- Timestamp:
- Dec 21, 2019, 12:52:19 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/release.2015/ps1.datasystem/datasystem.tex
r41208 r41209 2869 2869 the same constraints. 2870 2870 2871 One early choice we made was to use standard C and to use Perl as a 2872 wrapper language. We considered other language choices, including C++ 2873 and Python. At the time, Python was fairly new and did not have the 2874 wide-spread acceptance it has today. In retrospect, our choice of 2875 Perl has not held up very well. The capabiliaties available within 2876 the Python environment would have allowed us to include interesting 2871 One early choice was to use standard C for analysis programs and to 2872 use Perl as a wrapper language. We considered other language choices, 2873 including C++ and Python. Our choice of C over C++ has not held up 2874 well: we would have done well to have the modern object-oriented 2875 features of C++, some aspect of which we have imitated in our C coding 2876 style. The choice of Perl over Python has also fared poorly. At the 2877 time, Python was fairly new and did not have the wide-spread 2878 acceptance it has today. The capabiliaties available within the 2879 Python environment would have allowed us to include interesting 2877 2880 visualization and other high-level analysis options. It is also 2878 2881 easier to hire astronomers with good Python coding skills that Perl … … 2888 2891 database to manage the processing stages, with regular queries to the 2889 2892 database to choose the tasks which are ready to proceed. Other 2890 choices were possible. In some pipelined processing systems, jobs2891 which completetrigger the next processing step. For example,2893 choices were possible. In some pipelined processing systems, 2894 completed jobs trigger the next processing step. For example, 2892 2895 \ippprog{ppImage} or its wrapper (\ippprog{chip_imfile.pl}) could have 2893 been responsible for launching the \ippprog{psastro} analysis. 2896 been responsible for launching the \ippprog{psastro} analysis, 2897 eliminating the \ippprog{pantasks} manager entirely. 2894 2898 Alternatively, a manager process could be responsible for launching 2895 2899 the next processing step when one step has completed. For example, … … 2897 2901 complete and launch the \ippprog{psastro} analysis. Both of these 2898 2902 choices can potentially result in lower latency since the next step is 2899 in principle run immediately when the previous step is completed. Our 2900 choice has two important advantages: First, error and failure recovery 2901 are trivial. If one of the many programs fails or is interrupted, the 2902 system can easily notice and retry the job. In a triggered system, a 2903 failure of one stage could mean the trigger never happens. Some 2904 external cleanup system would need to be implemented to check for the 2905 failures and re-launch. The second advantage of our design is that 2906 each analysis stage is highly independent and can thus be flexibly run 2907 in different ways. For example, alternative test systems can run in 2908 parallel with the nightly operations system, using the outputs of the 2909 nightly processing by simple changes to the queries used to select the 2910 elements for an analysis stage. In addition, it is easy to add new 2911 stages since they do not need to be injected into the standard 2912 processing manager (\ippprog{pantasks}). 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}). 2913 2918 2914 2919 The main challenge related to this database-managed design is that the … … 2928 2933 ambiguous. When we began this project, the existing cluster file 2929 2934 systems did not seem to match the level of our project. Some were 2930 will very much in an early development state (e.g., GFS from Red Hat), 2931 while others seemed designed for much larger-scale systems, with very 2932 expensive hardware requirements (e.g., Lustre). The requirements for 2933 the filesystem for Pan-STARRS are somewhat different from the 2934 large-scale computing clusters used by the national labs. Since the 2935 data processing is very parallel, we do not have any strong 2936 requirements on data access concurency. In theory, we could have 2937 simply used NFS and made backup copies of the files using some simple 2938 name-convention rules. We decided to implement the Nebulous system to 2939 allow the targetted analysis and to automate the replication of the 2940 data. In retrospect, the system has succeeded in these goals and has 2941 behaved reliably. However, the support level has been somewhat high, 2942 especially when we have needed to migrate large amounts of data within 2943 the cluster. If we were to start from scratch today, we would 2944 experiment with some of the existing cluster file systems. 2935 still very much in an early development state (e.g., GFS from Red 2936 Hat), while others seemed designed for much larger-scale systems, with 2937 very expensive hardware requirements (e.g., Lustre). The requirements 2938 for the filesystem for Pan-STARRS are somewhat different from the 2939 large-scale computing clusters such as those used by the U.S. national 2940 labs. Since the data processing is very parallel, we do not have any 2941 strong requirements on data access concurency. In theory, we could 2942 have simply used NFS and made backup copies of the files using some 2943 simple name-convention rules. We decided to implement the Nebulous 2944 system to allow the targetted analysis and to automate the replication 2945 of the data. In retrospect, the system has succeeded in these goals 2946 and has behaved reliably. However, the support level has been 2947 somewhat high, especially when we have needed to migrate large amounts 2948 of data within the cluster. If we were to start from scratch today, 2949 it is possible that some of the existing cluster file systems would 2950 address our needs within our budget. 2945 2951 2946 2952 Since the Pan-STARRS\,1 telescope first came online in 2007, this
Note:
See TracChangeset
for help on using the changeset viewer.
