Changeset 2171 for trunk/doc/design/ippSDRS.tex
- Timestamp:
- Oct 18, 2004, 3:35:26 PM (22 years ago)
- File:
-
- 1 edited
-
trunk/doc/design/ippSDRS.tex (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/design/ippSDRS.tex
r2168 r2171 1 %%% $Id: ippSDRS.tex,v 1. 6 2004-10-18 22:05:43eugene Exp $1 %%% $Id: ippSDRS.tex,v 1.7 2004-10-19 01:35:26 eugene Exp $ 2 2 \documentclass[panstarrs]{panstarrs} 3 3 … … 177 177 will act as the long-term archive and publishing clearinghouse. 178 178 179 An important operational choice for the IPP is the decision not to180 attempt to save all raw data. Once the IPP is running in a standard181 operational mode, data will be processed by the pipeline and deleted182 when it is no longer needed. Raw images will only be saved for a183 short period to allow tests and quality assurance, and potentially to184 allow systems which study transient phenomena to return to recent data185 for closer inspection. In general, during normal operations, raw186 science images will be deleted after $\sim$1 month.187 188 179 The primary IPP hardware system on which the software operates will 189 180 not be located at the summit. Instead, because of thermal, power, and … … 193 184 transfer time and cost. 194 185 195 \subsection{Analysis Tasks and Stages} 196 197 Specific programs are required to perform the processing steps listed 198 above. These can be divided into well-defined analysis stages, each 199 of which operates on a particular unit of data, such as a single OTA 200 image or a collection of astronomical objects. Analysis tasks 201 representing the different analysis stages are performed on the IPP 202 computer cluster. Note the distinction between the generic analysis 203 {\em stage} and a specific analysis {\em task}. An analysis stage 204 represents a type of analysis which is performed, such as the basic 205 image calibration and object detection analysis. An analysis task is 206 a particular realization of an analysis stage, e.g., the analysis of 207 OTA number 61 from exposure 654321 to produce a specific set of output 208 data products. The analysis stages are discussed in detail in 209 Section~\ref{IPP:AnalysisStages}. 210 211 Depending on the particular stage, it may process individual images, 212 collections of images, or on derived data products. Because of the 213 nature of the image data, many of the analysis stages can be run in 214 parallel because, for example, the analysis of a chip in one image 215 does not depend on the results from another chip. 216 217 \subsection{Architectural Components} 218 219 In order to achieve the required functionality, the IPP provides an 220 infrastructure within which the Analysis Stages above are exectuted. 221 We have divided the IPP software infrastructure into a number of 222 clearly-defined architectural software units, listed as follows: 223 224 \begin{itemize} 225 226 \item {\bf Image Server:} This component is a large data store for all 227 images used by the IPP, including the raw images from the telescope, 228 the master calibration images, the reference static-sky images, and 229 any temporary image data products produced by the IPP. The Image 230 Server accepts the incoming data and stores it until it is no longer 231 needed by other portions of the IPP. The Image Server is not 232 restricted to imaging data: it is capable of storing any large data 233 files which are not well-suited for inclusion in a more structured 234 relational database and for which access needs to be widely 235 available beyond the individual process which created the file. 236 237 \item {\bf Astrometry \& Photometry Database (AP DB):} This component 238 stores and manipulates astronomical objects detected in various 239 images, as identified above, including individual measurements of 240 objects on the images, the summary information about those objects, 241 and reference object data. It also provides mechanisms for users to 242 query and manipulate the objects and detections. 243 244 \item {\bf Metadata Database:} This component stores the data which is 245 not directly related to images or astronomical objects, but which is 246 needed to perform the IPP analyses. The metadata may include the 247 summary weather information for each night, or details about the 248 filters, camera, telescopes, etc. 249 250 \item {\bf IPP Controller:} In order to perform the analysis stages 251 required by the IPP, it is necessary to use distributed computing 252 processes on a large number of computers. The IPP Controller 253 manages the collection of analysis tasks performed on these 254 machines. 255 256 \item {\bf IPP Scheduler:} This component is a decision-making 257 mechanism which guides the operation of the IPP. It evaluates the 258 currently available collection of data, identifies the necessary 259 analysis, and assigns the analysis tasks to the IPP Controller. 260 261 \end{itemize} 262 263 The relationship between these software units is shown in 264 Figure~\ref{overview}. This figure also shows the interactions 265 between the IPP and other Pan-STARRS systems. The architectural 266 components are discussed in detail in 267 Section~\ref{IPP:ArchComponents}. 268 269 \begin{figure} 270 \begin{center} 271 \resizebox{6in}{!}{\includegraphics{pics/IPPoverview}} 272 \caption{ \label{overview} IPP System Overview} 273 \end{center} 274 \end{figure} 275 276 \subsection{IPP Hardware Organization} 277 278 \begin{figure} 279 \begin{center} 280 %\resizebox{4.5in}{!}{\includegraphics{pics/IPPhardware}} 281 \caption{ \label{hardware} IPP Hardware Organization} 282 \end{center} 283 \end{figure} 284 285 The IPP needs substantial computer resources, both in terms of 286 computational power and in terms of data storage and network 287 bandwidth. The IPP requires relatively large amounts of data storage 288 space, primarily for the image data. Image data is organized in two 289 categories. First, there is the per-OTA data -- data associated with 290 specific OTAs, including the raw images, the calibration images, and 291 temporary processed images at various stages. Second, there is the 292 data associated with the static sky imagery, which is in turn 293 organized into smaller sky-cell units. In addition to image data, 294 there are the somewhat smaller data entities of the Metadata Database 295 and AP Database. 296 297 The computer hardware is organized into nodes which provide both data 298 storage and computational resources. The data storage nodes are 299 divided into three classes: those which deal with the per-OTA image 300 data, those that provide the storage for the static sky images, and 301 those that provide the storage for the other data systems, the 302 Metadata Database and the AP Database. In addition, the computational 303 tasks related to Phase 2 take place on the per-OTA storage nodes and 304 the Phase 4 computation takes place on the static sky storage nodes. 305 306 Figure~\ref{hardware} shows our basic concept for the hardware 307 organization for the IPP. This diagram shows the two types of compute 308 nodes: OTA-level processing and storage nodes (dominated by Phase 2) 309 and static sky processing and storage nodes (mostly Phase 4). Also 310 shown are two switches which divide the network into OTA and 311 Static-Sky portions. In such an organization, the interswitch 312 communication must meet the throughput needs between these network 313 portions. The additional data systems (Metadata Database and AP 314 Database) are also shown. 186 This document defines the design requirements of the IPP for the PS-1 187 prototype telescope. Even so, much of the IPP design for PS-4 will be 188 identical to or closely based on the PS-1 implementation. The 189 software organization and the infrastructure systems will be 190 identical, with minor improvements in details. The range analysis 191 steps to be performed will be nearly identical, with some additional 192 details added for PS-4 to improve the accuracy. 193 194 In terms of the IPP, PS-1 differs from the complete PS-4 system in 195 several important ways. First, with only one telescope and camera, 196 the data throughput rate is substantially reduce to a maximum of 1 197 64-OTA image per 40 seconds rather than 4. In addition, much of the 198 PS-1 mission will be devoted to calibration and testing which will 199 imply a different level of processing. For a significant fraction of 200 PS-1, data will be obtained for the AP Survey covering the entire 201 $3\pi$ steradians of the sky accessible to PS-4. These images will 202 not initially be analysed to the level of having multiple images 203 combined. Rather, the analysis will only be performed for individual 204 focal plane array images. Only after the AP Survey is done, the 205 analysis process has been validated, and the complete AP Survey 206 reference catalog has been generated will it be possible to generate 207 the first epoch static sky image, rougly 18 months into the PS-1 208 mission. This difference in approach has implications for the storage 209 required by PS-1: rather than delete images soon after they have been 210 used, raw images must be stored for at least the first 18 months of 211 PS-1 operations. 315 212 316 213 \subsection{System Design Decisions} … … 337 234 System (MOPS), and potentially other client science pipelines. 338 235 236 The requirements for the IPP, as identified in the IPP SRS (PSDC-REF) 237 fall into several broad categories: Data analysis precision, 238 throughput, system reliability, flexibility, testability, and 239 traceability. The details of the analysis tasks are specified in 240 order to achieve the precision. The architectural design as discussed 241 below is motivated by the need for reliability and flexibility. The 242 hardware organization and the distributed / parallel processing model 243 is motivated by the throughput requirements. The need for flexibility 244 and testability drives the software organization. The need for simple 245 testing procedures drives both the software organization and the 246 separation of the system architecture into different infrastructure 247 elements. 248 249 \subsection{Analysis Tasks and Stages} 250 251 Specific programs are required to perform the processing steps listed 252 above. These can be divided into well-defined analysis stages, each 253 of which operates on a particular unit of data, such as a single OTA 254 image or a collection of astronomical objects. Analysis tasks 255 representing the different analysis stages are performed on the IPP 256 computer cluster. Note the distinction between the generic analysis 257 {\em stage} and a specific analysis {\em task}. An analysis stage 258 represents a type of analysis which is performed, such as the basic 259 image calibration and object detection analysis. An analysis task is 260 a particular realization of an analysis stage, e.g., the analysis of 261 OTA number 61 from exposure 654321 to produce a specific set of output 262 data products. The analysis stages are discussed in detail in 263 Section~\ref{IPP:AnalysisStages}. 264 265 Depending on the particular stage, it may process individual images, 266 collections of images, or on derived data products. Because of the 267 nature of the image data, many of the analysis stages can be run in 268 parallel because, for example, the analysis of a chip in one image 269 does not depend on the results from another chip. 270 271 \subsection{Architectural Components} 272 273 In order to achieve the required functionality, the IPP provides an 274 infrastructure within which the Analysis Stages above are exectuted. 275 In order to facilitate the subsystem testing, we have divided the IPP 276 software infrastructure into a number of clearly-defined architectural 277 software units, listed as follows: 278 279 \begin{itemize} 280 281 \item {\bf Image Server:} This component is a large data store for all 282 images used by the IPP, including the raw images from the telescope, 283 the master calibration images, the reference static-sky images, and 284 any temporary image data products produced by the IPP. The Image 285 Server accepts the incoming data and stores it until it is no longer 286 needed by other portions of the IPP. The Image Server is not 287 restricted to imaging data: it is capable of storing any large data 288 files which are not well-suited for inclusion in a more structured 289 relational database and for which access needs to be widely 290 available beyond the individual process which created the file. 291 292 \item {\bf Metadata Database:} This component stores the data which is 293 not directly related to images or astronomical objects, but which is 294 needed to perform the IPP analyses. The metadata may include the 295 summary weather information for each night, or details about the 296 filters, camera, telescopes, etc. 297 298 \item {\bf Astrometry \& Photometry Database (AP DB):} This component 299 stores and manipulates astronomical objects detected in various 300 images, as identified above, including individual measurements of 301 objects on the images, the summary information about those objects, 302 and reference object data. It also provides mechanisms for users to 303 query and manipulate the objects and detections. 304 305 \item {\bf IPP Controller:} In order to perform the analysis stages 306 required by the IPP, it is necessary to use distributed computing 307 processes on a large number of computers. The IPP Controller 308 manages the collection of analysis tasks performed on these 309 machines. 310 311 \item {\bf IPP Scheduler:} This component is a decision-making 312 mechanism which guides the operation of the IPP. It evaluates the 313 currently available collection of data, identifies the necessary 314 analysis, and assigns the analysis tasks to the IPP Controller. 315 316 \end{itemize} 317 318 The relationship between these software units is shown in 319 Figure~\ref{overview}. This figure also shows the interactions 320 between the IPP and other Pan-STARRS systems. The architectural 321 components are discussed in detail in 322 Section~\ref{IPP:ArchComponents}. 323 324 \begin{figure} 325 \begin{center} 326 \resizebox{6in}{!}{\includegraphics{pics/IPPoverview}} 327 \caption{ \label{overview} IPP System Overview} 328 \end{center} 329 \end{figure} 330 331 \subsection{IPP Hardware Organization} 332 333 \begin{figure} 334 \begin{center} 335 \resizebox{4.5in}{!}{\includegraphics{pics/IPPhardware}} 336 \caption{ \label{hardware} IPP Hardware Organization} 337 \end{center} 338 \end{figure} 339 340 The IPP needs substantial computer resources, both in terms of 341 computational power and in terms of data storage and network 342 bandwidth. The IPP requires relatively large amounts of data storage 343 space, primarily for the image data. Image data is organized in two 344 categories. First, there is the per-OTA data -- data associated with 345 specific OTAs, including the raw images, the calibration images, and 346 temporary processed images at various stages. Second, there is the 347 data associated with the static sky imagery, which is in turn 348 organized into smaller sky-cell units. In addition to image data, 349 there are the somewhat smaller data entities of the Metadata Database 350 and AP Database. 351 352 The computer hardware is organized into nodes which provide both data 353 storage and computational resources. The data storage nodes are 354 divided into three classes: those which deal with the per-OTA image 355 data, those that provide the storage for the static sky images, and 356 those that provide the storage for the other data systems, the 357 Metadata Database and the AP Database. In addition, the computational 358 tasks related to Phase 2 take place on the per-OTA storage nodes and 359 the Phase 4 computation takes place on the static sky storage nodes. 360 361 Figure~\ref{hardware} shows our basic concept for the hardware 362 organization for the IPP. This diagram shows the two types of compute 363 nodes: OTA-level processing and storage nodes (dominated by Phase 2) 364 and static sky processing and storage nodes (mostly Phase 4). Also 365 shown are two switches which divide the network into OTA and 366 Static-Sky portions. In such an organization, the interswitch 367 communication must meet the throughput needs between these network 368 portions. The additional data systems (Metadata Database and AP 369 Database) are also shown. 370 339 371 \section{System Design : Architectural Components} 340 372 341 373 \subsection{IPP Image Server} 342 374 343 \begin{figure} 344 % \psfig{file=pics/ImageServer,width=15cm,angle=0} 345 \caption{The components of the IPP Image Server.} 346 \label{fig:ImageServer} 347 \end{figure} 375 \subsubsection{Image Server Overview} 348 376 349 377 The IPP Image Server is a repository for all images and other large 350 data files required by the IPP. In addition, it provides tools for351 managing the distribution of these large data files and for accessing 352 the files. Data files stored by the IPP Image Server include the raw 353 images, the calibration images, intermediate processing stage images 354 as needed, final processed images, difference images, image355 subsections, and any large non-imaging datafiles needed by the IPP. 356 The IPP Image Server must retain the files for as long as they are 357 needed by the IPP.378 data files required by the IPP. Along with the storage hardware, it 379 provides tools for managing the distribution of these large data files 380 and for accessing the files. Data files stored by the IPP Image 381 Server include the raw images, the calibration images, intermediate 382 processing stage images as needed, final processed images, difference 383 images, image subsections, and any large non-imaging datafiles needed 384 by the IPP. The IPP Image Server must retain the files for as long as 385 they are needed by the IPP. 358 386 359 387 The IPP Image Server is a parallel storage system. It stores data … … 372 400 \begin{itemize} 373 401 \item {\bf storage object} This represents a single, unique data 374 entity the Image Server.402 entity in the Image Server. 375 403 376 404 \item {\bf instance} A single copy of the storage object in the Image … … 384 412 385 413 The Image Server provides file pointers (in C), handles (in Perl), or 386 file names corresponding to the instances of the storage objects. 387 Image Server requires a file system which provides files in the local 388 file system. This may be done over many machines with a network file 389 system such as NFS or GFS. 414 file names corresponding to the instances of the storage objects. The 415 Image Server provides the data organization but does not define a file 416 system; it assumes the existence of an appropriate file system which 417 provides makes the files visible as local files. This may be done 418 over many machines with a network file system such as NFS or GFS. 390 419 391 420 The IPP Image Server provides the storage and access mechanisms, but … … 403 432 \end{itemize} 404 433 434 \begin{figure} 435 \resizebox{6in}{!}{\includegraphics{pics/ImageServer}} 436 \caption{The components of the IPP Image Server.} 437 \label{fig:ImageServer} 438 \end{figure} 439 405 440 \subsubsection{IPP Image Server Client APIs} 406 441 407 Clients interact with the IPP Image Server witha small number of C408 APIs (Bindings are also provided for Perl \tbr{and Python}). The409 c lient commands are:442 Clients interact with the IPP Image Server via a small number of C 443 APIs (Bindings are also provided for Perl and Python). The client 444 commands are: 410 445 411 446 \begin{itemize} … … 450 485 451 486 The Image Server client requests are mediated via the Image Server 452 daemon. Communication between the clients and the server is via 453 \tbr{SOAP (or flat text commands)} implementing the commands above. 487 daemon. Communication between the clients and the server is via SOAP 488 implementing the commands above. The identity of the machine on which 489 Image Server daemon runs is part of the Image Server configuration 490 information. 454 491 455 492 \subsubsection{IPP Image Server Database} … … 461 498 listed in Table~\ref{ImageServerTables}, and their current contents 462 499 are listed in Appendix A. This database engine need not the same one 463 as used for the IPP Metadata Database.500 as the one used for othe IPP subsystems. 464 501 % 465 502 \begin{table} … … 581 618 582 619 \subsection{AP Database} 620 621 \subsubsection{Overview} 583 622 584 623 The AP (Astrometry \& Photometry) Database is a mechanism to store
Note:
See TracChangeset
for help on using the changeset viewer.
