Changeset 39887
- Timestamp:
- Dec 16, 2016, 6:11:01 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/release.2015/ps1.datasystem/datasystem.tex
r39868 r39887 222 222 223 223 \subsection{Nebulous} 224 225 Storing the large volume of data that is generated by the GPC1 camera 226 was recognized early in the Pan-STARRS project as a major concern. 227 The \ippprog{Nebulous} system was designed to organize this data. The 228 main components of this system is a database storing the locations of 229 the files, with a Simple Object Access Protocol interface between the 230 database and the other IPP programs. The actual files are stored on 231 NFS mounted partitions on a series of storage nodes in the IPP 232 cluster. 233 234 The original design of \ippprog{Nebulous} intended to aid in the 235 targetted processing of data, by having specific image data (such as 236 all the images from one OTA device) located on a single storage node. 237 This would allow any jobs involving that data to be assigned to the 238 storage node, eliminating network IO. Important data could be 239 duplicated to a further data nodes, with the alternate locations 240 stored in the database. In practice, however, hardware failures and 241 increases in hard drive storage volumes and network bandwidth have 242 reduced the amount that the IPP processing is targeted. 243 244 When a program creates a new file in \ippprog{Nebulous}, it supplies 245 an URI of the form \texttt{neb://HOST.VOLUME/PATH/FILENAME}. The host 246 and volume specifiers are optional, and allow a file to be created on 247 a specific node. The path and filename appear as a standard full file 248 location, and are used internally as the ``external id''. A 249 storage\_object is then created in the database for this id, and an 250 instance of the file created on the specified node (or at random from 251 available nodes if left empty). 252 224 253 225 254 \subsection{Pantasks \& Parallel Processing} … … 907 936 \subsection{Los Alamos National Labs} 908 937 938 In order to increase the processing rate for the $3\Pi$ PV3 data, we 939 partnered with Los Alamos National Lab to gain access to the Mustang 940 supercomputer. The supercomputer is comprised of 3088 processing 941 nodes, each with 12 cores and 64GB of RAM. The processing nodes do 942 not have significant local disks, but are connected to multiple 943 petabyte scale scratch disks. Job management is controlled by the 944 Moab HPC system\footnote{\url{http://www.adaptivecomputing.com/}}, 945 which schedules resource requests among users, allocating processing 946 nodes to satisfy jobs, and terminating those jobs if they exceed their 947 scheduled time limit. 948 949 This system is part of the lab's ``Turquoise'' network, allowing it to 950 be used for research projects that do not handle sensitive data. It 951 is, however, subject to stricter access controls than are in place at 952 the main IPP processing cluster. Login sessions are terminated after 953 12 hours, requiring new sessions to be initiated regularly. Network 954 access is also filtered, with only SSH connections allowed between the 955 IPP cluster and Los Alamos. This restriction removes the ability for 956 the processing to contact the IPP processing database directly. 957 958 To work around this, additional steps were needed to ensure efficient 959 use of the computing resources. A periodic poll of outstanding tasks 960 was done on the IPP cluster, using the information stored in the 961 database, and those tasks assigned to a processing bundle. Each 962 component task in the bundle was then checked to identify the set of 963 input files needed to complete the task, the commands necessary to 964 complete the task, and the set of output files that should be 965 generated if the task completed successfully. Once this information 966 had been generated for all tasks, the component lists were merged, and 967 the Moab job control file was constructed. 968 969 The control file contains the resource requests for the job, as well 970 as the commands to be executed to complete it. The resource request 971 was calculated based on the number of tasks included in the job bundle 972 $N_\mathrm{tasks}$, and scaled by the expected execution time 973 ($t_\mathrm{task}$) and computational intensity of the component tasks 974 ($S_\mathrm{task}$). For a given job bundle, an initial estimate of 975 the number of compute nodes needed is simply $\mathrm{nodes} = 976 S_\mathrm{task} * N_\mathrm{tasks} / 12$. To ensure that jobs were 977 not prematurely terminated, we attempted to design the requested job 978 processing time to be 25\% longer than the expected time to complete 979 the component tasks. Based on the initial node count, we calculated 980 the request time as $t_\mathrm{request} = \lfloor 1.25 981 \frac{\mathrm{nodes} * t_\mathrm{task}}{\mathrm{nodes}_\mathrm{max}} 982 \rfloor + 1$, where $\mathrm{nodes}_\mathrm{max}$ is the maximum 983 number of nodes that can be requested in a single job (1000 for 984 Mustang). Table \ref{tab:SC processing parameters} contains the cost 985 values used for the various IPP processing stages. 986 987 \begin{deluxetable}{lcc} 988 \tablecolumns{3} 989 \tablewidth{0pc} 990 \tablecaption{Cost values for remote processing} 991 \tablehead{\colhead{IPP Stage}&\colhead{$t_\mathrm{task}$ (s)}&\colhead{$S_\mathrm{task}$}} 992 \startdata 993 \ippstage{chip} & 150 & 2 \\ 994 \ippstage{camera} & 1700 & 2 \\ 995 \ippstage{warp} & 110 & 2 \\ 996 \ippstage{stack} & 1500 & 6 \\ 997 \ippstage{staticsky} & 7200 & 6 \\ 998 % \ippstage{diff} & 300 & 2 \\ 999 \ippstage{fullforce} & 300 & 2 1000 \enddata 1001 \label{tab:SC processing parameters} 1002 \end{deluxetable} 1003 1004 Once the preparation for the job is complete, the input and output 1005 file lists, the task list, and the job control file are transferred 1006 via SCP to the Mustang cluster. Local tasks are then initiated on the 1007 user interface nodes to SCP the input files onto the scratch storage 1008 disks if they do not already exist. Once all the input files have 1009 been copied, the job is submitted to Moab for scheduling. The Moab 1010 interface is periodically polled to determine the job status, and 1011 after it has completed, the results are retrieved in a similar way. 1012 Local tasks again SCP the output products, but to copy the results 1013 back to the IPP cluster. 1014 1015 In addition to the standard output products, ``dbinfo'' files are 1016 constructed as part of the job execution. These files contain 1017 database update commands to ensure that the IPP processing database 1018 has the correct entries for the tasks that were remotely executed. 1019 These commands are executed after confirming that all retrieved output 1020 products are present. 1021 1022 Approximately half of the chip through warp processing for the PV3 1023 reduction was performed on Mustang, with 201,040 / 375,573 of the 1024 \ippstage{camera} stage products reduced there. Only processing 1025 through the \ippstage{stack} stage was attempted, although with a 1026 smaller fraction of the total compared to the \ippstage{camera} stage, 1027 with 290,257 / 998,886 being produced at Los Alamos. One reason for 1028 this decrease is that due to the memory constraints on the Mustang 1029 processing nodes, we were unable to run stacks with more than 25 1030 inputs there. Stacks with this larger number of inputs overflow the 1031 memory of the processing node, and as they do not have disk space 1032 available for use as virtual memory, cause the machine to hang until 1033 the job time limit is reached. These stacks were instead processed on 1034 the regular IPP cluster, where hosts with sufficent memory were 1035 available. 1036 909 1037 \subsection{UH Cray Cluster} 1038 1039 In December 2014, the University of Hawaii installed a 178-compute 1040 node Cray supercomputer on the main Manoa campus. As part of the 1041 initial commissioning of this computer, Pan-STARRS was invited to use 1042 this resource in February 2015, roughly corresponding with the 1043 completion of the initial processing of the \ippstage{chip} through 1044 \ippstage{stack} processing. Although the number of nodes was much 1045 smaller than that available on Mustang, the nodes were more robust, 1046 with 20 cores and 128 GB of memory. The scratch data storage was 1047 somewhat smaller than at Los Alamos, with only a single 600 TB volume. 1048 We had the unique ability to rapidly deploy to the UH Cray, using 1049 almost all nodes for IPP processing as other users at the university 1050 were designing code. This rapid deployment was made possible by the 1051 similarity of the Slurm\footnote{\url{https://slurm.schedmd.com/}} 1052 scheduler and tools to those used by Moab (although the UH Cray has a 1053 smaller $\mathrm{nodes}_\mathrm{max}$ of 10). 1054 1055 The UH Cray was used to do processing for the \ippstage{staticsky} 1056 stage, running approximately half of that photometry (101,528 / 1057 200,720). We were also able to run part of the \ippstage{fullforce} 1058 photometry there as well, although more had to be run on the IPP 1059 cluster as other users started to utilize the system, with 168,685 / 1060 994,890 runs processed there. 1061 910 1062 911 1063 \acknowledgments
Note:
See TracChangeset
for help on using the changeset viewer.
