IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Oct 18, 2004, 3:35:26 PM (22 years ago)
Author:
eugene
Message:

added some figures

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/doc/design/ippSDRS.tex

    r2168 r2171  
    1 %%% $Id: ippSDRS.tex,v 1.6 2004-10-18 22:05:43 eugene Exp $
     1%%% $Id: ippSDRS.tex,v 1.7 2004-10-19 01:35:26 eugene Exp $
    22\documentclass[panstarrs]{panstarrs}
    33
     
    177177will act as the long-term archive and publishing clearinghouse.
    178178
    179 An important operational choice for the IPP is the decision not to
    180 attempt to save all raw data.  Once the IPP is running in a standard
    181 operational mode, data will be processed by the pipeline and deleted
    182 when it is no longer needed.  Raw images will only be saved for a
    183 short period to allow tests and quality assurance, and potentially to
    184 allow systems which study transient phenomena to return to recent data
    185 for closer inspection.  In general, during normal operations, raw
    186 science images will be deleted after $\sim$1 month.
    187 
    188179The primary IPP hardware system on which the software operates will
    189180not be located at the summit.  Instead, because of thermal, power, and
     
    193184transfer time and cost.
    194185
    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.
     186This document defines the design requirements of the IPP for the PS-1
     187prototype telescope.  Even so, much of the IPP design for PS-4 will be
     188identical to or closely based on the PS-1 implementation.  The
     189software organization and the infrastructure systems will be
     190identical, with minor improvements in details.  The range analysis
     191steps to be performed will be nearly identical, with some additional
     192details added for PS-4 to improve the accuracy.
     193
     194In terms of the IPP, PS-1 differs from the complete PS-4 system in
     195several important ways.  First, with only one telescope and camera,
     196the data throughput rate is substantially reduce to a maximum of 1
     19764-OTA image per 40 seconds rather than 4.  In addition, much of the
     198PS-1 mission will be devoted to calibration and testing which will
     199imply a different level of processing.  For a significant fraction of
     200PS-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
     202not initially be analysed to the level of having multiple images
     203combined.  Rather, the analysis will only be performed for individual
     204focal plane array images.  Only after the AP Survey is done, the
     205analysis process has been validated, and the complete AP Survey
     206reference catalog has been generated will it be possible to generate
     207the first epoch static sky image, rougly 18 months into the PS-1
     208mission.  This difference in approach has implications for the storage
     209required by PS-1: rather than delete images soon after they have been
     210used, raw images must be stored for at least the first 18 months of
     211PS-1 operations.
    315212
    316213\subsection{System Design Decisions}
     
    337234System (MOPS), and potentially other client science pipelines.
    338235
     236The requirements for the IPP, as identified in the IPP SRS (PSDC-REF)
     237fall into several broad categories: Data analysis precision,
     238throughput, system reliability, flexibility, testability, and
     239traceability.  The details of the analysis tasks are specified in
     240order to achieve the precision.  The architectural design as discussed
     241below is motivated by the need for reliability and flexibility.  The
     242hardware organization and the distributed / parallel processing model
     243is motivated by the throughput requirements.  The need for flexibility
     244and testability drives the software organization.  The need for simple
     245testing procedures drives both the software organization and the
     246separation of the system architecture into different infrastructure
     247elements.
     248
     249\subsection{Analysis Tasks and Stages}
     250
     251Specific programs are required to perform the processing steps listed
     252above.  These can be divided into well-defined analysis stages, each
     253of which operates on a particular unit of data, such as a single OTA
     254image or a collection of astronomical objects.  Analysis tasks
     255representing the different analysis stages are performed on the IPP
     256computer cluster.  Note the distinction between the generic analysis
     257{\em stage} and a specific analysis {\em task}.  An analysis stage
     258represents a type of analysis which is performed, such as the basic
     259image calibration and object detection analysis.  An analysis task is
     260a particular realization of an analysis stage, e.g., the analysis of
     261OTA number 61 from exposure 654321 to produce a specific set of output
     262data products.  The analysis stages are discussed in detail in
     263Section~\ref{IPP:AnalysisStages}.
     264
     265Depending on the particular stage, it may process individual images,
     266collections of images, or on derived data products.  Because of the
     267nature of the image data, many of the analysis stages can be run in
     268parallel because, for example, the analysis of a chip in one image
     269does not depend on the results from another chip.
     270
     271\subsection{Architectural Components}
     272
     273In order to achieve the required functionality, the IPP provides an
     274infrastructure within which the Analysis Stages above are exectuted.
     275In order to facilitate the subsystem testing, we have divided the IPP
     276software infrastructure into a number of clearly-defined architectural
     277software 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
     318The relationship between these software units is shown in
     319Figure~\ref{overview}.  This figure also shows the interactions
     320between the IPP and other Pan-STARRS systems.  The architectural
     321components are discussed in detail in
     322Section~\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
     340The IPP needs substantial computer resources, both in terms of
     341computational power and in terms of data storage and network
     342bandwidth.  The IPP requires relatively large amounts of data storage
     343space, primarily for the image data.  Image data is organized in two
     344categories.  First, there is the per-OTA data -- data associated with
     345specific OTAs, including the raw images, the calibration images, and
     346temporary processed images at various stages.  Second, there is the
     347data associated with the static sky imagery, which is in turn
     348organized into smaller sky-cell units.  In addition to image data,
     349there are the somewhat smaller data entities of the Metadata Database
     350and AP Database.
     351
     352The computer hardware is organized into nodes which provide both data
     353storage and computational resources.  The data storage nodes are
     354divided into three classes: those which deal with the per-OTA image
     355data, those that provide the storage for the static sky images, and
     356those that provide the storage for the other data systems, the
     357Metadata Database and the AP Database.  In addition, the computational
     358tasks related to Phase 2 take place on the per-OTA storage nodes and
     359the Phase 4 computation takes place on the static sky storage nodes.
     360
     361Figure~\ref{hardware} shows our basic concept for the hardware
     362organization for the IPP.  This diagram shows the two types of compute
     363nodes: OTA-level processing and storage nodes (dominated by Phase 2)
     364and static sky processing and storage nodes (mostly Phase 4).  Also
     365shown are two switches which divide the network into OTA and
     366Static-Sky portions.  In such an organization, the interswitch
     367communication must meet the throughput needs between these network
     368portions.  The additional data systems (Metadata Database and AP
     369Database) are also shown.
     370
    339371\section{System Design : Architectural Components}
    340372
    341373\subsection{IPP Image Server}
    342374
    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}
    348376
    349377The IPP Image Server is a repository for all images and other large
    350 data files required by the IPP.  In addition, it provides tools for
    351 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, image
    355 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.
     378data files required by the IPP.  Along with the storage hardware, it
     379provides tools for managing the distribution of these large data files
     380and for accessing the files.  Data files stored by the IPP Image
     381Server include the raw images, the calibration images, intermediate
     382processing stage images as needed, final processed images, difference
     383images, image subsections, and any large non-imaging datafiles needed
     384by the IPP.  The IPP Image Server must retain the files for as long as
     385they are needed by the IPP.
    358386
    359387The IPP Image Server is a parallel storage system.  It stores data
     
    372400\begin{itemize}
    373401\item {\bf storage object} This represents a single, unique data
    374   entity the Image Server.
     402  entity in the Image Server.
    375403
    376404\item {\bf instance} A single copy of the storage object in the Image
     
    384412
    385413The 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. 
     414file names corresponding to the instances of the storage objects.  The
     415Image Server provides the data organization but does not define a file
     416system; it assumes the existence of an appropriate file system which
     417provides makes the files visible as local files.  This may be done
     418over many machines with a network file system such as NFS or GFS.
    390419
    391420The IPP Image Server provides the storage and access mechanisms, but
     
    403432\end{itemize}
    404433
     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
    405440\subsubsection{IPP Image Server Client APIs}
    406441
    407 Clients interact with the IPP Image Server with a small number of C
    408 APIs (Bindings are also provided for Perl \tbr{and Python}).  The
    409 client commands are:
     442Clients interact with the IPP Image Server via a small number of C
     443APIs (Bindings are also provided for Perl and Python).  The client
     444commands are:
    410445
    411446\begin{itemize}
     
    450485
    451486The 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.
     487daemon.  Communication between the clients and the server is via SOAP
     488implementing the commands above.  The identity of the machine on which
     489Image Server daemon runs is part of the Image Server configuration
     490information.
    454491
    455492\subsubsection{IPP Image Server Database}
     
    461498listed in Table~\ref{ImageServerTables}, and their current contents
    462499are listed in Appendix A.  This database engine need not the same one
    463 as used for the IPP Metadata Database.
     500as the one used for othe IPP subsystems.
    464501%
    465502\begin{table}
     
    581618
    582619\subsection{AP Database}
     620
     621\subsubsection{Overview}
    583622
    584623The AP (Astrometry \& Photometry) Database is a mechanism to store
Note: See TracChangeset for help on using the changeset viewer.