IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 418


Ignore:
Timestamp:
Apr 12, 2004, 4:18:48 PM (22 years ago)
Author:
eugene
Message:

major edits to the hardware section

File:
1 edited

Legend:

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

    r414 r418  
    1 %%% $Id: specs.tex,v 1.3 2004-04-12 19:21:27 eugene Exp $
     1%%% $Id: specs.tex,v 1.4 2004-04-13 02:18:48 eugene Exp $
    22\documentclass[panstarrs]{panstarrs}
    33
     
    1313\docnumber{PSDC-430-005}
    1414
     15\setcounter{tocdepth}{4} % lowest level to be included in toc
     16
    1517\begin{document}
    1618\maketitle
     
    249251\item Object Database
    250252\item Metadata Database
    251 \item Analysis Pipelines
     253\item Analysis Stages
    252254\item Controller
    253255\item Scheduler
     
    380382Third, stars in the general vicinity of the solar system fall in
    381383between these first two classes of objects.  Their proper motion and
    382 parallax response is significant enough ($>1\asec$ in 10 years) that
     384parallax response is significant enough ($>1$ arcsec in 10 years) that
    383385they are not well-described by an average location and a collection of
    384386offsets.  These objects must be described by a distance and a proper
    385387motion vector.  The PnA Database must be able to find and associate
    386388detections of objects for which either of the parallax or the proper
    387 motion are substantial. 
     389motion are substantial.
    388390
    389391Fourth, many detections, especially in their initial states, will not
     
    664666\subsubsection{Analysis Stages}
    665667
     668\paragraph{Overview}
     669
    666670We now consider the collection of analysis tasks which are performed
    667671by the IPP.  Depending on the task, they may be performed on
     
    670674can be performed in parallel because, for example, the analysis of an
    671675OTA in one image does not depend on the results from another OTA.  We
    672 define the analysis pipelines to be the largest complete analysis task
    673 which may be performed on a single data item.  {\bf drop the word
    674 'pipeline' and use something else?}.  The data analysis pipelines are
    675 divided into three categories, and further subdivided as follows:
     676define the term 'analysis stage' to refer to the largest complete
     677analysis task which may be performed on a single data item.  The
     678analysis stages are divided into three categories, and further
     679subdivided as follows:
    676680
    677681\begin{enumerate}
    678  \item Science Image Pipelines
     682 \item Science Image Analysis Stages
    679683 \begin{enumerate}
    680684  \item Phase 1 : image processing preparation
     
    683687  \item Phase 4 : image combination
    684688 \end{enumerate}
    685  \item Calibration Image Pipelines
     689 \item Calibration Image Analysis Stages
    686690 \begin{enumerate}
    687691  \item Calibration 1 : basic master-detrend creation
     
    689693  \item Calibration 3 : Flat-field correction image Creation
    690694 \end{enumerate}
    691  \item Reference Catalog Pipelines
     695 \item Reference Catalog Analysis Stages
    692696 \begin{enumerate}
    693697  \item Astrometry reference catalog generation
     
    696700\end{enumerate}
    697701
    698 Figure~\ref{pipelines} shows the flow of data between the various IPP
    699 software systems and the different analysis tasks, each managed by the
    700 controller.  The thick lines represent the flow of pixel data, the
     702Figure~\ref{stages} shows the flow of data between the various IPP
     703software systems and the different analysis stages, each managed by
     704the Controller.  The thick lines represent the flow of pixel data, the
    701705thin lines represent the flow of metadata and object data, and the
    702 grey lines represent the flow of commands.  {\bf All subsystem
     706grey lines represent the flow of commands.  \tbd{All subsystem
    703707interactions, except that between the scheduler and controller, are in
    704708the form of updates to and queries from the databases}.  The hatched
    705709systems represent external PanSTARRS systems (OATS, the Sky Server,
    706710the SAIC Object Database, the Moving/Transient Object Pipeline, and
    707 other Client Science Pipelines.
     711other Client Science Pipelines. 
     712
     713The individual analysis stages can be accessed as a UNIX command-line
     714program.  Each command represents the action of the stage on a single
     715quantum of data.  These analysis stages are built of lower-level
     716C-functions wrapped in a higher-level programming language,
     717\tbd{Python}. 
     718
     719\subparagraph{Science Image Pipelines}
     720
     721The IPP science image pipelines perform analyses on the night-sky
     722science images to extract the science data from these images.  These
     723consist of: Phase 0, the night preparation stage; Phase 1, the image
     724processing preparation stage; Phase 2, the image reduction stage;
     725Phase 3, the exposure analysis stage; and Phase 4, the image
     726combination stage.  These pipelines must process the images in a
     727timely manner so that the incoming data stream will not overload the
     728IPS.  The decision to execute a specific pipeline for a specific
     729dataset is made by the Scheduler, which sends the infomation to the
     730Controller.  The Controller executes the pipeline for the data on an
     731appropriate machine and monitors the success or failure of the job.
     732
     733\subparagraph{Calibration Image Pipelines}
     734
     735The IPP Calibration Image Pipelines perform the tasks needed to
     736generate high-quality calibration images from the input image
     737dataset.  These operations may be performed on whatever timescales are
     738appropriate and necessary to maintain the quality and relevance of the
     739calibration images.  There are four distinct types of calibration
     740image pipelines:  the basic detrend creation pipeline, the photometric
     741correction image creation pipeline, the fringe pattern generation
     742pipeline, and the sky foreground pattern generation pipeline.
     743
     744\subparagraph{Reference Catalog Pipelines}
     745
     746The IPP reference catalog pipelines use the data in the IPP Internal
     747Database and the IPP Object Database to determined improved
     748astrometric and photometric calibration references.
    708749
    709750\begin{figure}
    710751\begin{center}
    711 \resizebox{8cm}{!}{\includegraphics{pics/pipelines.ps}}
    712 \caption{ \label{pipelines} IPP System Overview}
     752\resizebox{8cm}{!}{\includegraphics{pics/stages.ps}}
     753\caption{ \label{stages} IPP System Overview}
    713754\end{center}
    714755\end{figure}
    715756
    716 \paragraph{Phase 2 Concept}
     757\paragraph{Phase 1 : image processing preparation}
     758
     759The Phase 1 analysis stage is performed on each science FPA to
     760calculate basic astrometric \tbd{and photometric} data needed by the
     761later stages.  Phase 1 must use the static (pre-determined) telescope
     762distortion model, combined with the guide star pixel and celestial
     763coordinates, to determine the correct telescope bore-site, field
     764rotation and magnification.  The astrometric accurate required from
     765this analysis stage is 2 arcsec across the field, sufficient to match
     766the vast majority of reference stars with their detections. 
     767
     768In some circumstances, science images may have no guide stars.  This
     769may occur if the detectors are not run in OTA mode, especially for
     770short snapshot images.  In such a circumstance, the Phase 1 stage must
     771perform extremely basic object detection, determining the detector
     772coordinates for stars which are not excessively saturated and which
     773are significantly above the background level.  The threshold levels
     774for this object detection stage must be configurable.  The object
     775extraction must be performed in less than 3 seconds. 
     776
     777In order for astrometry of an image to succeed, it is necessary that
     778approximate image coordinates be known.  The Phase 1 analysis must be
     779able to succeed despite initial coordinate errors as large as 5 times
     780the field width.  However, the search process must attempt the near
     781matches first in the assumption that the given coordinates are
     782accurate.
     783
     784A table of the overlaps between the science image to be processed and
     785the static sky images must be constructed.  This table will be used to
     786guide the processing of the static sky in Phase 4.  The overlaps must
     787be generously calculated so that small errors in astrometry at Phase 1
     788will not cause any valid static sky / science image pairs to be
     789missed.  It is acceptable for a small number of invalid overlaps to be
     790identified as these will be excluded in Phase 4.
     791
     792It is not unusual that an image be obtained with invalid coordinates
     793or without any valid stars.  For example, the telescope control system
     794may make an error an report the wrong time or coordinates.  Or, the
     795image may be obtained in exceptionally poor conditions with no
     796detected stars.  Phase 1 must fail gracefully in these conditions,
     797reporting an appropriate error.  Such images must be identified for
     798possible human intervention, or future follow-up after metadata
     799repairs are made.
     800
     801\paragraph{Phase 2 : image reduction}
    717802
    718803Phase~2 processing within the Pan-STARRS image processing pipeline is
    719 the de-trend stage, where the images from the detector are processed
    720 to remove instrumental signatures.  The following operations need to
    721 occur within Phase~2 processing:
     804the detrend stage, where the images from the detector are processed to
     805remove instrumental signatures.  In addition, basic object detection
     806is performed along with improved astrometric and photometric
     807calibration.  The following operations need to occur within Phase~2
     808processing:
     809
    722810\begin{enumerate}
    723 \item Convolve de-trend images with the OT kernel;
    724 \item Flag bad and saturated pixels;
    725 \item Bias correction via overscan subtraction;
    726 \item Trim object image to remove overscan and edges corrupted by OT;
    727 \item Correct for non-linearity;
    728 \item Flat-field correction;
    729 \item Sky subtraction;
    730 \item Identify CRs;
    731 \item Find objects in the image; and
     811\item Convolve detrend images with the OT kernel, if available
     812\item Flag bad and saturated pixels
     813\item Bias correction via overscan subtraction
     814\item Trim object image to remove overscan and edges corrupted by OT
     815\item Correct for non-linearity
     816\item Flat-field correction
     817\item Sky subtraction
     818\item Identify CRs
     819\item Find objects in the image
    732820\item Make postage stamps of bright objects.
    733821\end{enumerate}
    734 These operations are each explained below.
    735 
    736 \paragraph{Convolve de-trend images with the OT kernel}
    737 
    738 De-trend images must be convolved by the OT kernel, so that
    739 they accurately represent the de-trend images appropriate for
    740 the object images, which have been shifted using OT.
    741 
    742 \paragraph{Flag bad and saturated pixels}
     822
     823\subparagraph{Convolve detrend images with the OT kernel}
     824
     825Detrend images must be convolved by the OT kernel, so that
     826they accurately represent the detrend images appropriate for
     827the object images, which have been shifted using OT.  The detrend
     828images which must be convolved include: the flat-field and the
     829high-spatial-frequency fringe images.
     830
     831\subparagraph{Flag bad and saturated pixels}
    743832
    744833A static bad pixel mask needs to be used to identify pixels which are
     
    750839Pixels saturated in the A/D converter should also be masked, and this
    751840area should be grown by an additional pixel to mask excess charge
    752 spillover.
    753 
    754 \paragraph{Bias correction via overscan subtraction}
    755 
    756 The overscan must be averaged (either in bulk, or individually by
    757 rows) or fit with a polynomial, and the result subtracted from the
    758 image.  Overscan rows with a standard deviation which exceeds a
    759 given threshold should be masked.
    760 
    761 \paragraph{Trim object image}
     841spillover. 
     842
     843The bad pixel mask must be carried with the science images.  Different
     844bits must be set to identify different reasons for masking the pixel.
     845
     846\subparagraph{Bias correction via overscan subtraction}
     847
     848The image bias must be subtracted. Since different detectors behave in
     849different ways, several options for modelling the bias must be
     850available.  The bias must be measured from the image overscan region.
     851The bias subtraction method must be capable of applying a single
     852constant to the complete image, or to represent the bias as a function
     853which varies along the overscan.  The function to be used must include
     854a spline or a chebychev polynomial derived from the data values along
     855the overscan.  The values used to determine both the single constant
     856or the inputs to the spline and polynomial fits must be derived from
     857groups of pixels on the basis of one of several statistics, including
     858the sample and robust mean, median, and modes.  In the case of a
     859single constant, all of the overscan pixel values are used in the
     860calculation of this statistic.  In the case of the 1D functional
     861representation, the input values to the fit should represent the
     862coordinate along the overscan, with the statistic derived from the
     863pixel in the perpedicular direction at each location.  Sigma-clipping
     864on the input data values must be an option.  \tbd{accuracy of the bias
     865subtraction?}
     866
     867\subparagraph{Trim object image}
    762868
    763869The overscan must be trimmed from the object image, along with
     
    765871operation.
    766872
    767 \paragraph{Correct for non-linearity}
    768 
    769 The object image (after bias correction) must be corrected for the
    770 effects of non-linearity through a polynomial fit.
    771 
    772 \paragraph{Flat-field correction}
     873\subparagraph{Correct for non-linearity}
     874
     875The object image (after bias correction) must be optionally corrected
     876for the effects of non-linearity through a provided polynomial fit to
     877the pixel data values.  \tbd{what IPP component produces the
     878non-linear correction function?}
     879
     880\subparagraph{Flat-field correction}
    773881
    774882The object image (after bias correction and non-linearity correction)
    775 must be corrected for sensitivity differences as a function of position,
    776 through dividing by a flat field image.
    777 
    778 
    779 \paragraph{Sky subtraction}
    780 
    781 The flux contribution of the sky (both continuum emission and the line
    782 emission that causes fringing) must be subtracted from the
    783 flat-fielded object image.
    784 
    785 \paragraph{Identify CRs}
     883must be corrected for sensitivity variations as a function of
     884position, dividing by a flat-field image.  The flat-field images must
     885be appropriately normalized (see section \ref{mkcal}.  \tbd{what
     886component selects the appropriate flat-field image?  scheduler or
     887flat-field module?}  The flat-fielded image must have a consistent
     888photometric zero-point across the chip, and across the full FPA, to
     889within 0.2\%.
     890
     891\subparagraph{Sky subtraction}
     892
     893The flux contribution of the sky (from both continuum emission and the
     894line emission that causes fringing) must be subtracted from the
     895flat-fielded object image.
     896
     897\subparagraph{Identify CRs}
    786898
    787899CRs should be identified, if possible on the basis of their morphology
     
    789901masked.  The mask must be grown by an additional pixel.
    790902
    791 \paragraph{Find objects in the image}
     903\subparagraph{Find objects in the image}
    792904
    793905Objects on the flat-fielded object image must be found, and general
    794906parameters, including the centre, magnitude and shape measured.
    795907
    796 \paragraph{Postage Stamps}
     908\subparagraph{astrometry}
     909
     910\tbd{per-OTA astrometry to improve per-OTA parameters}
     911
     912\subparagraph{Postage Stamps}
    797913
    798914Objects on the flat-fielded object image falling within a specified
     
    800916accurate photometry and astrometry.
    801917
     918\paragraph{Phase 3}
     919
     920The Phase 3 analysis stage works with the results from a complete FPA
     921obtained during Phase 2 to improve the photometric and astrometric
     922calibrations. 
     923
     924Phase 3 must use the objects detected in Phase 2, matched with an
     925appropriate reference catalog, to determine the image zero point and
     926zero-point variations across the field.  If zero-point variations are
     927significant \tbd{level TBD}, the zero-point variations must be modeled
     928with an up-to 3rd order chebychev polynomial correction.  The complete
     929FPA image must be categoriezed as photometric on the basis of the
     930zero-point consistency, the transparency compared with recent
     931long-term measurements in the filter, and with the external indicators
     932of photometricity.
     933
     934Phase 3 must use the objects detected in Phase 2, matched with an
     935appropriate reference catalog, to determine improvements to the
     936astrometric solutions.  The distortion model appropriate to this image
     937must be determined.  The resulting astrometric accuracy must be
     938\tbd{50 mas? 10 mas?}
    802939
    803940\paragraph{Phase 4 Concept}
     
    806943the final stage of processing.  It operates on each sky cell that has
    807944overlapping imaging data from the exposure(s) being processed, and
    808 produces the main output image data products of the pipeline --- the
     945produces the main output image data products of the stage --- the
    809946difference images and a deep static sky image --- along with the
    810947associated catalogues of static and variable sources.
     
    814951
    815952
    816 \paragraph{Functionality}
     953\subparagraph{Functionality}
    817954
    818955Phase 4 must consist of the following elements:
     
    841978
    842979
    843 \paragraph{Performance}
    844 
    845980\subparagraph{Timing}
    846981
     
    8771012to an error upstream in the processing).
    8781013
     1014\subsubsection{Calibration Stage 1}
     1015
     1016The IPP must generate basic calibration images using the raw
     1017flat-field, bias and dark images obtained by the telescope as the
     1018input.  The analysis of these images requires relatively simple
     1019stacking of the input set of images.  Outlier rejection, both of
     1020complete input images as well as pixels within the input stack, must
     1021be performed.  In addition, each type of image requires an appropriate
     1022normalization which may depend on the data levels in other detectors
     1023in the input set.  Each of these calibration stages must be able to
     1024determine from the input stack if the relevant calibration image needs
     1025to be updated and perform an initial test to see which input images
     1026are consistent and valid.
     1027
     1028\paragraph{bias images}
     1029
     1030\paragraph{dark images}
     1031
     1032\paragraph{flat-field images}
     1033
     1034\subsubsection{Calibration Stage 2}
     1035
     1036\paragraph{mask images}
     1037
     1038\paragraph{fringe frames}
     1039
     1040\paragraph{low-k sky models}
     1041
     1042\subsubsection{Calibration Stage 3}
     1043
     1044Flat-field correction frame
     1045
     1046\subsubsection{Astrometry Reference Creation}
     1047
     1048\subsubsection{Photometry Reference Creation}
    8791049
    8801050\subsubsection{Modules}
     1051
     1052In order to encapsulation functionality, the analysis stages are
     1053constructed of a sequence of steps.  The analysis stages consist of a
     1054\tbd{python} script which executes a sequence of C-level functions.
     1055The C-level functions called by the \tbd{python} script are called
     1056{\em modules} and represent basic data analysis operations. 
     1057
     1058The required set of Pan-STARRS modules and their functionality is
     1059specfied in the document `Pan-STARRS Image Processing Pipeline Modules
     1060Supplementary Design Requirements' (PSDC-430-xxx), and details of
     1061specific apgorithms are specfied in the document `Pan-STARRS Image
     1062Processing Pipeline Algorithm Design Document' (PSDC-430-006).
    8811063
    8821064\subsubsection{PanSTARRS IPP Library}
     
    9501132\subsubsection{Overview}
    9511133
    952 This document discusses the likely range of the Pan-STARRS Image
    953 Processing Pipeline (IPP) hardware requirements.  The hardware
    954 requirements addressed in this document consist of:
     1134This section discusses the Pan-STARRS Image Processing Pipeline (IPP)
     1135PS-1 hardware requirements.  The hardware requirements addressed in
     1136this section consist of:
    9551137
    9561138\begin{itemize}
     
    9671149certain period, the need to store calibration images for a longer
    9681150period, and the need to store the static sky images.  Of the various
    969 analysis pipelines, and depending on the data organization as
    970 discussed below, Phase 2 and Phase 4 present the most significant
     1151analysis stages, Phase 2 and Phase 4 present the most significant
    9711152demands in terms of data I/O throughput on the network.  Phase 2 and
    9721153Phase 4 also present the most significant CPU demands.  In this
     
    9791160
    9801161This document does not address the hardware requirements implied by
    981 the Phase 0, 1, or 3 stages, nor the load required by the calibration
    982 image creation stages.  In the first instance, the operations are only
    983 performed on the metadata and are extremely minimal both in terms of
    984 data I/O and computation requirements.  In the second case, the
     1162Phase 1 or 3, nor the load required by the calibration or reference
     1163catalog creation stages.  In the first instance, the operations are
     1164only performed on the metadata and are extremely minimal both in terms
     1165of data I/O and computation requirements.  In the second case, the
    9851166processing is less time critical than the per-image processing and is
    986 performed only infrequently (once per night to once per week or
    987 month).  This document also does not address any hardware requirements
    988 introduced by the metadata manipulation.  The software implementation
    989 for metadata storage (RDBMS, FITS tables, etc) will have a very large
    990 impact and will be evaluated along with the needed hardware at a later
    991 date.
    992 
    993 \subsubsection{Scenarios}
    994 
    995 We will address the various hardware requirements by referring to a
    996 set of data processing and data organization scenarios.  The actual
    997 hardware requirements will depend on design decisions which are not
    998 yet available.  It is possible to define the data organization in ways
    999 which will minimize the hardware requirements, but which will increase
    1000 the software development effort.  We will discuss both the worst-case
    1001 data organization scenario, which does not require significant
    1002 intelligence in the software systems, and the optimal data
    1003 organization scenario, which will require the software to track the
    1004 location of data products more carefully.  In addition, this document
    1005 will address the data requirements of the complete Pan-STARRS pipeline
    1006 with 4 telescopes as well as the single-telescope Pan-STARRS-1 scenario
    1007 based on the Design Reference Mission [REF].
     1167performed only infrequently (once per night to once per week, month or
     1168year).  \tbd{The software implementation for metadata storage (RDBMS,
     1169FITS tables, etc) will have a very large impact and will be evaluated
     1170along with the needed hardware at a later date.}
     1171
     1172We will address the various hardware requirements by referring to an
     1173assumed data processing and data organization scenario.  The
     1174organization of the data and certain aspects of the data processing
     1175scheme have very large implications for the hardware requirements.  In
     1176this analysis, we assume that data types are chosen to minimize the
     1177data volume and that the data is organized to minimize the I/O
     1178bandwidth needs, as defined below.  We address the data requirements
     1179of the single-telescope Pan-STARRS-1 scenario based on the Design
     1180Reference Mission \tbd{REF}.
     1181
     1182\subsubsection{Data Organization}
    10081183
    10091184The IPP hardware system must provide both data storage and
     
    10281203and static sky processing and storage nodes (mostly Phase 4).  Also
    10291204shown are two switches used in this configuration; although it is
    1030 currently possible to buy a single switch which would have a
    1031 sufficient number of GigE ports for both sections of the PS-1 system,
    1032 such a two-switch organization may be needed for the full Pan-STARRS
    1033 system.  In such a case, the interswitch communication must also meet
    1034 the required throughput needs.  We discuss the hardware requirements
    1035 in the assumption that such an organization will be necessary.
     1205currently possible to buy a single switch with sufficient number of
     1206ports, this organization represents a minimal configuration for the
     1207PS-1 IPP hardware.  In such a case, the interswitch communication must
     1208also meet the required throughput needs.  We discuss the hardware
     1209requirements in the assumption that such an organization will be
     1210necessary.
    10361211
    10371212The way in which the images are distributed among the storage and
    10381213compute nodes will largely determine the I/O bandwidth requirements.
    10391214For data bandwidth requirements calculations, it is necessary to make
    1040 some assumptions about the data organization.  For the purposes of
    1041 this document, we explore two extreme-case options:
    1042 \begin{itemize}
    1043 \item Random Data Distribution - OTA \& Sky data is randomly
    1044   distributed within the compute node of a given type (ie, OTA data is
    1045   randomly distributed among the OTA compute nodes).
    1046 \item Optimal Data Distribution - OTA \& Sky data is optimally
    1047   distributed to compute OTA/Sky nodes (OTA processing is always on a
    1048   machine with local OTA data).
    1049 \end{itemize}
     1215some assumptions about the data organization.  We make the assumption
     1216that the OTA data is optimally distributed to the OTA nodes such that
     1217the OTA processing is always on a machine with local OTA data.  This
     1218implies that all OTA data from a specific OTA are targetted to a
     1219specific machine.  (see below for discussion of data duplication).
     1220
    10501221A second factor which will have a significant impact on the I/O
    10511222requirements is the image storage format for the processed and
     
    10531224format or 16 bit integer format with appropriate scaling.  In the
    10541225former case, additional dynamic range is retained, while in the latter
    1055 case, we reduce the data volume by a factor of 2.  While some may
    1056 argue that the higher dynamic range is necessary, arguments can be
    1057 made that the 16 bit range is sufficient. (In particular, the 16 bit
    1058 data provides a dynamic range far above the expected 1/1000 fractional
    1059 accuracy of the flat-field images).  A related question is the number
    1060 of calibration images needed by the processing system.  Since the
    1061 complete analysis is not yet defined, this number is difficult to
    1062 ascertain.  However, we can make a range of assumptions which are
    1063 reasonable.  We therefore adopt two data volume scenarios to explore
    1064 these possibilites:
    1065 \begin{itemize}
    1066 \item Standard Data Volume - 32 bit data for processed and calibration
    1067   images, average of 7 calibration frames per image.
    1068 \item Minimal Data Volume - 16 bit data for processed and calibration
    1069   images, average of 4 calibration frames per image.
    1070 \end{itemize}
    1071 In the discussion that follows, we explore the hardware requirements
    1072 implied by the collection of four combinations of these two sets of
    1073 scenario options.
    1074 
    1075 \begin{table}
    1076 \begin{center}
    1077 \caption{Hardware Throughput Tests \label{existing-hardware}}
    1078 \begin{tabular}{lrrrr}
    1079 \hline
    1080 \hline
    1081 Test        & where \& when     & model                & result                             \\
    1082 \hline
    1083 node I/O    & CFHT 11/2002      & Intel 1000 Gigabit   & 35 - 40 MB/s sustained             \\
    1084 node I/O    & CFHT 2/2004       & Intel 1000 Gigabit   & 65 - 70 MB/s sustained             \\
    1085 RAID write  & CFHT 2/2004       & 3ware RAID cntl + IDE & 110 MB/s sustained                 \\
    1086 Switch Load & VeriTest          & Cisco                & 3 GB/s (for 32 ports)              \\
    1087 \hline
    1088 \end{tabular}
    1089 \end{center}
    1090 \end{table}
    1091 
    1092 \subsubsection{Existing Hardware Throughput}
    1093 
    1094 We have collected a few representative tests of various pieces of
    1095 modern hardware to give a reference for the throughput capabilities.
    1096 A number of hardware configurations have been tested at CFHT for the
    1097 Elixir project, and we include here their recent reported hardware
    1098 RAID-5 I/O speeds and GigE card speeds.  We also have included data
    1099 from VeriTest studies of Cisco switch throughput, commissioned by
    1100 Cisco for a 32 port GigE switch.  These tests are summarized in
    1101 Table~\ref{existing-hardware}.
     1226case, we reduce the data volume by a factor of 2.  Since the science
     1227requirements for PS-1 do not specify a need for dynamic range greater
     1228than 16 bits, we assume all images are stored as 16 bit data.
     1229
     1230A third determining factor is the number of calibration images needed
     1231by the processing system.  Since the complete analysis is not yet
     1232defined, this number is difficult to ascertain.  However, we can make
     1233a reasonable guess at the total number for scaling purposes.  We
     1234assume that each frame requires a total of 4 calibration frames on
     1235average
    11021236
    11031237\begin{table}[b]
     
    11071241\hline
    11081242\hline
    1109  & Standard / PS-4
    1110  & Standard / PS-1
    1111  & Minimal / PS-4
    1112  & Minimal / PS-1 \\
    1113 \hline
    1114 Raw data           &  300 TB  &  75 TB  & 300 TB  &  75 TB \\
    1115 static sky         &  512 TB  &  64 TB  & 256 TB  &  32 TB \\
    1116 calibration frames &  175 TB  &  18 TB  &  17 TB  &   5 TB \\
    1117 metadata db        &    2 TB  &   2 TB  & 0.2 TB  & 0.2 TB \\
    1118 object db          &   60 TB  &   4 TB  &  60 TB  &   4 TB \\
    1119 \hline
    1120 totals             & 1050 TB  & 163 TB  & 633 TB  & 116 TB \\
     1243Raw data           & 200 TB \\
     1244static sky         & 256 TB \\
     1245calibration frames &   5 TB \\
     1246metadata db        & 0.3 TB \\
     1247object db          &   4 TB \\
     1248\hline
     1249total              & 116 TB \\
    11211250\hline
    11221251\end{tabular}
     
    11301259calibration images, the metadata database, and the object database.
    11311260We discuss each of these data items and their impact on the data
    1132 storage requirements for the IPP, and identify the impact of the
    1133 minimal vs standard data storage requirements as well as the
    1134 requirements specifically for PS-1.  Table~\ref{storage} summarizes
    1135 the data storage requirements in the different scenarios.
     1261storage requirements for the IPP for PS-1.  Table~\ref{storage}
     1262summarizes the data storage requirements in the different scenarios.
    11361263
    11371264\paragraph{Raw Data Storage}
     
    11401267science images and calibration images.  The night-time science images
    11411268consist of 1Gpix per image, or 2GB in raw format.  At nominal cadence,
    1142 the 4 telescopes can obtain images at a sustained rate of 1 image per
    1143 30 seconds per telescope for the entire night of 10 hours (36000
    1144 minutes).  A total of 100 calibration images per night would be a
    1145 substantial overestimate of the typical expectation.  Combining these
    1146 numbers, we can expect to receive a total of 1300 image per telescope
    1147 per night, 5200 image total, or 10.4 TB of data per night.  The total
    1148 data storage requirements for the raw data are governed by the number
    1149 of nights' worth of data we are required to keep online.  A reasonable
    1150 number is one month to allow a full moon's cycle.  Thus, for raw image
    1151 storage, we require a total of 300 TB data storage.  For PS-1, this
    1152 number is simply scaled down by a factor of 4.  The choice of the
    1153 minimal data volume does not affect these numbers because the raw data
    1154 is already stored with 16 bit pixels.  ({\bf note: the PS-1 design
    1155 reference may now require storage of the entire first year of data,
    1156 calculated to be 200 TB}).
     1269the PS-1 telescope can obtain images at a sustained rate of 1 image
     1270per 30 seconds for the entire night of 10 hours (36000 seconds).  A
     1271total of 100 calibration images per night would be a substantial
     1272overestimate of the typical expectation.  Combining these numbers, we
     1273can expect to receive a total of 1300 images, or 2.6 TB of data per
     1274night.  The total data storage requirements for the raw data are
     1275governed by the number of nights' worth of data we are required to
     1276keep online.  \tbd{for the first year, we are required to keep all
     1277images from the PnA and IPV surveys.  This amounts to a total of 200
     1278TB of data}.
    11571279
    11581280\paragraph{Static Sky Data Storage}
    11591281
    11601282The static sky is represented by images with 0.2 arcsec per pixel.
    1161 There will be one summed image and one weight image for each of the 6
    1162 filters, each stored in floating point format.  At this resolution,
    1163 there are 324 Mpix per square degree, and we will observe a potential
    1164 total area of 30,000 square degrees.  Allowing for 10\% overage for
    1165 overlapping tiling, we require a total of 10.7 Gpix to cover the sky
    1166 once, or a total of $\sim 512$ TB for the static sky images.  In the
    1167 minimal data volume scenario, this value is reduced by a factor of 2,
    1168 while in PS-1, the reduction is a factor of roughly 8 because we only
    1169 intend to store the static sky for the ecliptic plane survey and the
    1170 small IPP verification program ({\bf note: this last point is no
    1171 longer valid - the PS-1 static sky may require the entire 3pi}).
     1283There will be one summed image and one weight image for each of the
     1284\tbd{6} filters, each stored with 16 bits of resolution, for a total
     1285of 24 bytes per sky pixel.  At this resolution, there are 324 Mpix per
     1286square degree, and we will observe a potential total area of 30,000
     1287square degrees.  Allowing for 10\% overage for overlapping tiling, we
     1288require a total of 10.7 Tpix to cover the sky once, or a total of
     1289$\sim 256$ TB to maintain a single image of the static sky in all 6
     1290filters.
    11721291
    11731292\paragraph{Calibration Frame Storage}
     
    11761295and mask images, along with one flat, one flat-correction, and
    11771296multiple sky/fringe library frames per filter.  In fact, not all types
    1178 are needed at all stages.  For the standard data volume, we assume an
    1179 average of 7 calibration frames per image and filter.  This results in
    1180 a total of 42 master calibration image per telescope.  If we intend to
    1181 keep all master calibration frames for the project lifetime, and
    1182 generate a new master on a weekly basis (a reasonable time-scale),
    1183 then we can expect to require a total of 175 TB of calibration image
    1184 by the end of the 5 year lifetime of the project.  For the case of
    1185 PS-1, the time period is only 2 years, and there is only 1 telescope,
    1186 resulting in a factor of 10 reduction in the volume.  For the minimal
    1187 data case, we reduce the volume by another factor of 3.5. We also note
     1297are needed at all stages.  It is very likely that we will not require
     1298bias or dark images, and mask images may be represented by a single
     1299byte per pixel.  Nonetheless, it is necessary for us to generate and
     1300store all master calibration frames at least until we prove that they
     1301are not needed.  We assume a total of 21 calibration images are
     1302necessary (one flat, fringe, and sky per filter, along with a bias,
     1303dark, and mask).  If we intend to keep all master calibration frames
     1304for the project lifetime, and generate a new master on a weekly basis
     1305(a reasonable time-scale), then we can expect to require a total of 5
     1306TB of calibration image by the end of the 2 years of PS-1.  We note
    11881307that this is likely to be a drastic overestimate as we are unlikely to
    11891308need to regenerate all master calibration frames on a weekly
     
    11971316data.  The environmental data consists of measurements on a regular
    11981317cadence, roughly 1 per minute, of a variety of parameters.  We suggest
    1199 an expected of 1kB per entry, for a total of 2.6 GB over the lifetime
    1200 of the project.  PS-1 will represent a smaller amount of data per
    1201 minute, and also a factor of 2.5 fewer minutes.  We suggest PS-1 may
    1202 have a total environmental metadata set smaller by a factor of 5.  The
    1203 additional systems, such as the DIMM, SkyProbe, NIR Sky Camera, and
    1204 the LRProbe will have higher data requirements, but should be
    1205 considered as separate, self-contained systems.  Their data products
    1206 are distilled to a limited number of parameters per minute which are
    1207 included in the 1kB given above.  Furthermore, items such as
     1318an expected of 1kB per entry, for a total of 1 GB over the two-year
     1319term of PS-1.  The additional systems, such as the DIMM, SkyProbe, NIR
     1320Sky Camera, and the LRProbe will have higher data requirements, but
     1321should be considered as separate, self-contained systems.  Their data
     1322products are distilled to a limited number of parameters per minute
     1323which are included in the 1kB given above.  Furthermore, items such as
    12081324guide-star history, if saved, will be saved with the image data and
    12091325represents only a small fraction of the total image data volume.  Some
     
    12131329excluded from this analysis.
    12141330
    1215 The image metadata consists of values associated with the FPA (4), the
    1216 OTAs (240), and the Cells (15360).  Aside from the guide star history,
     1331The image metadata consists of values associated with the FPA (1), the
     1332OTAs (64), and the Cells (4096).  Aside from the guide star history,
    12171333the total data requirements for each of these entries will be scaled
    12181334by the number of bytes required for the metadata from each data level.
    12191335Clearly, if the Cell entry is allowed to be large, it will dominate
    1220 the total Metadata data volume.  If we suggest an expected number of
    1221 64 bytes per Cell, 256 B per OTA, and 1k per FPA, we find a total
    1222 metadata volume per exposure of roughly 1 MB, completely dominated by
    1223 the Cell metadata.  With the exposure rates above, we find a total of
    1224 metadata volume of 1.8 TB over the lifetime of the project.  For PS-1,
    1225 the total volume is reduced by a factor of 2.5 (for the shorter
    1226 lifetime) and another factor of 4 (for the lone telescope).  Neither
    1227 data quantity is affected by the minimal vs standard data volume
    1228 choice.
     1336the total Metadata data volume.  We suggest an expected number of 64
     1337bytes per Cell, 256 B per OTA, and 1k per FPA, yielding a total
     1338metadata volume per exposure of roughly 0.3 MB, completely dominated
     1339by the Cell metadata.  With the exposure rates above, we find a total
     1340of metadata volume of 0.3 TB over the two-year term of PS-1.
    12291341
    12301342\paragraph{Object Database Storage}
     
    12351347of object detections) and the number of object parameters which are
    12361348measured.  We can make very rough estimates that the total number of
    1237 detections over the 5 year lifetime of the project may be in the
    1238 vicinity of $5\times10^{11}$.  We can conservatively estimate the
    1239 number of bytes needed to represent each detection as 128 B, resulting
    1240 in a total data storage for the object detections of 60 TB.  However,
    1241 this number depends strongly on the timescale for which the IPP is
    1242 required to maintain all object detections, and may potentially be
    1243 significantly reduced.  For the case of PS-1, the total number of
    1244 detections is likely to be reduced by a factor of 4 for the number of
    1245 telescopes, and potentially another significant factor ($\sim 4?$) by
    1246 limiting the depth of object detections.  Again, the minimal data
    1247 volume scenario is irrelevant to the object database volume.
     1349detections over the 2 year lifetime of the project may be in the
     1350vicinity of $10^{11}$.  We can conservatively estimate the number of
     1351bytes needed to represent each detection as 128 B, resulting in a
     1352total data storage for the object detections of 12 TB.  However, this
     1353number depends strongly on the timescale for which the IPP is required
     1354to maintain all object detections, and may potentially be
     1355significantly reduced.
    12481356
    12491357\subsubsection{CPU Requirements}
     
    12521360because they must keep up with the image delivery rate of 1 per 30
    12531361seconds.  We have performed benchmarks of a demonstration version for
    1254 both the Phase 2 and Phase 4 analyses. 
     1362both the Phase 2 and Phase 4 analyses.
    12551363
    12561364For the Phase 2, a substantial fraction of the processing time is
     
    12771385full OTA, including the FFTs used for smoothing.  We can therefore
    12781386assume a total of 50 GHz-sec per OTA for the Phase 2 processing.  This
    1279 converts to a total of 12000 GHz-sec for a complete major frame.
     1387converts to a total of 12800 GHz-sec for a complete major frame.
    12801388
    12811389For Phase 4, the main computational tasks are combining the multiple
     
    12881396equivalent to 7800 GHz-sec for a major frame.
    12891397
    1290 For PS-1, the data processing will clearly require a smaller amount of
    1291 computational resources because of the lower image rate.  However, the
    1292 total number of GHz-sec required for the complete analysis of 4 input
    1293 images and the combination with the static sky will remain
    1294 more-or-less the same.  Some reduction in the load may be gained by
    1295 reducing the complexity and depth of analysis for PS-1.  Depending on
    1296 the details and depth of the analysis, we may reduce the computational
    1297 load by a factor of 2.
     1398For PS-1, the typical time for a major frame is $4 \times 30$ seconds.
     1399Some reduction in the load may be gained by reducing the complexity
     1400and depth of analysis for PS-1.  Depending on the details and depth of
     1401the analysis, we may reduce the computational load by a factor of 2.
    12981402
    12991403\begin{table}
    13001404\begin{center}
    1301 \caption{Data Scenarios (MB per OTA or Sky-cell) \label{scenarios}}
     1405\caption{Data I/O (MB per OTA or Sky-cell) \label{scenarios}}
    13021406\begin{tabular}{lrrrr}
    13031407\hline
    13041408\hline
    1305                & Random / Standard            & Random / Minimal             & Optimal / Standard           & Optimal / Minimal            \\
    1306 \hline
    1307 {\em Phase 2 input} &                         &                              &                              &                              \\
    1308 from summit    &             $2 \times 32$ MB &             $2 \times 32$ MB &             $2 \times 32$ MB &             $2 \times 32$ MB \\
    1309 input image    &                        32 MB &                        32 MB &                  {\bf 32 MB} &                  {\bf 32 MB} \\
    1310 calibration    &             $7 \times 64$ MB &             $4 \times 32$ MB &       {\bf 7 $\times$ 64 MB} &       {\bf 4 $\times$ 32 MB} \\
    1311 mask image     &                        16 MB &                         8 MB &                  {\bf 16 MB} &                  {\bf  8 MB} \\
    1312 \hline
    1313 network I/O:   &                      560 MB  &                      232 MB  &                       64 MB  &                       64 MB  \\
    1314 disk I/O:      &                     (560 MB) &                     (232 MB) &                      496 MB  &                      168 MB  \\
    1315                &                              &                              &                              &                              \\
    1316 {\em Phase 2 output} &                        &                              &                              &                              \\
    1317 output image   &                        64 MB &                        32 MB &                  {\bf 64 MB} &                 {\bf  32 MB} \\
    1318 output mask    &                        16 MB &                         8 MB &                  {\bf 16 MB} &                 {\bf   8 MB} \\
    1319 image to P4    &  $1.5 \times 4 \times 64$ MB &  $1.5 \times 4 \times 32$ MB &  $1.5 \times 4 \times 64$ MB &  $1.5 \times 4 \times 32$ MB \\
    1320 mask to P4     &  $1.5 \times 4 \times 16$ MB &  $1.5 \times 4 \times  8$ MB &  $1.5 \times 4 \times 16$ MB &  $1.5 \times 4 \times  8$ MB \\
    1321 \hline
    1322 network I/O:   &                      200 MB  &                      100 MB  &                       120 MB &                        60 MB \\
    1323 disk I/O:      &                      (80 MB) &                      (40 MB) &                        80 MB &                        40 MB \\
    1324                &                              &                              &                              &                              \\
    1325 {\em Phase 4}  &                              &                              &                              &                              \\
    1326 input images   &  $1.5 \times 4 \times 64$ MB &  $1.5 \times 4 \times 32$ MB & & \\
    1327 input masks    &  $1.5 \times 4 \times 16$ MB &  $1.5 \times 4 \times  8$ MB & & \\
    1328 static sky     &                        64 MB &                        64 MB & & \\
    1329 static weight  &                        64 MB &                        32 MB & & \\
    1330 \hline
    1331 input:         &                       608 MB &                       336 MB & & \\
    1332 output:        &                       192 MB &                       128 MB & & \\
     1409{\em Phase 2 input}                                \\
     1410from summit    &                 $2 \times 32$ MB  \\
     1411input image    &                       {\bf 32 MB} \\
     1412calibration    &            {\bf 4 $\times$ 32 MB} \\
     1413mask image     &                       {\bf  8 MB} \\
     1414\hline
     1415network I/O:   &                            64 MB  \\
     1416disk I/O:      &                           176 MB  \\
     1417               &                                   \\
     1418{\em Phase 2 output}                               \\
     1419output image   &                      {\bf  32 MB} \\
     1420output mask    &                      {\bf   8 MB} \\
     1421image to P4    &               $1.5 \times 32$ MB  \\
     1422mask to P4     &               $1.5 \times  8$ MB  \\
     1423\hline
     1424network I/O:   &                            60 MB  \\
     1425disk I/O:      &                            40 MB  \\
     1426               &                                   \\
     1427{\em Phase 4}  &                                   \\
     1428input images   &      $1.5 \times 4 \times 32$ MB  \\
     1429input masks    &      $1.5 \times 4 \times  8$ MB  \\
     1430static sky     &                            32 MB  \\
     1431static weight  &                            32 MB  \\
     1432\hline
     1433input:         &                           304 MB  \\
     1434output:        &                            96 MB  \\
    13331435\hline
    13341436\multicolumn{5}{l}{\em Bold-faced entries are access to local-disk} \\
     
    13421444Data I/O per node is defined as the number of bytes per second passed
    13431445through the node's network adapter.  The data throughput for each node
    1344 depends strongly on the scenarios identified above.  In this section,
    1345 we identify the data which is passed between nodes for each of the
    1346 different scenarios.  Table~\ref{scenarios} lists the per-node data
    1347 I/O for the four scenarios.
    1348 
    1349 For PS-4, there are only 30 seconds of compute time allowed for each
    1350 of the Phase 2 and Phase 4 analyses.  We use the data I/O volumes and
    1351 some assumptions about expected network and disk bandwidth to estimate
    1352 the I/O and processing timeline for the four scenarios. From this
    1353 analysis, we can judge the total CPU requirements in terms of GHz, not
    1354 just GHz-sec.  We have assumed that GigE network adapters are capable
    1355 of delivering data at 50MB/sec sustained and that a disk RAID can
    1356 deliver sustained 100 MB/sec reads and writes.  These numbers are
    1357 conservative estimates based on recent tests discussed above.  Using
     1446depends strongly on the how the data is organized and processed.  In
     1447this section, we identify the data which is passed between nodes for
     1448the two stages of the science analysis process.  Table~\ref{scenarios}
     1449lists the per-node data I/O for the analysis stages.
     1450
     1451For PS-1, there are 120 seconds of compute time allowed for each of
     1452the Phase 2 and Phase 4 analyses for the collection of four images
     1453which makes up a cannonical major frame.  We use the data I/O volumes
     1454and some assumptions about expected network and disk bandwidth to
     1455estimate the I/O and processing timeline for the four scenarios. From
     1456this analysis, we can judge the total CPU requirements in terms of
     1457GHz, not just GHz-sec.  We have assumed that GigE network adapters are
     1458capable of delivering data at 50MB/sec sustained and that a disk RAID
     1459can deliver sustained 100 MB/sec reads and writes.  These numbers are
     1460conservative estimates based on recent tests discussed below.  Using
    13581461these assumptions, Table~\ref{throughput} lists the time allocations
    1359 for the complete set of scenarios for the case of PS-4.
    1360 
    1361 \paragraph{Random / Standard Data Scenario}
    1362 
    1363 In the Random Data Distribution scenario, there is a single CPU
    1364 allocated to each OTA in the OTA farm and a single CPU for each Sky
    1365 cell process.  The OTA data are stored across random machines in the
    1366 OTA farm, with the result that every Phase 2 processing requires
    1367 network access to the data.  For each science OTA image which is
    1368 observed, each OTA node will read from the network a total of 560 MB
    1369 (the 2 raw images for data storage and the 7 calibration frames, along
    1370 with one mask and one raw input image) and write a total of 200 MB
    1371 (one processed image and the mask along with the 1.5 processed images
    1372 and masks for the Phase 4 analysis).  Given the assumption of 50 MB/s
    1373 from the network adapter, the total data volume implies an I/O period
    1374 of 15.2 seconds.  Note that the disk I/O is parallel with the network
    1375 I/O and substantially underfills the disk bandwidth.
    1376 
    1377 \paragraph{Random / Minimal Data Scenario}
    1378 
    1379 In the Random-Minimal, there is a single CPU allocated to each OTA in
    1380 the OTA farm and a single CPU for each Sky cell process, and the OTA
    1381 data are stored across random machines in the OTA farm.  However, the
    1382 calibration and the processed science images are stored at 2 bytes per
    1383 pixel, the mask is set at 4 bits per pixel, and only 4 calibration
    1384 images are assumed.  For each science OTA image which is observed,
    1385 each OTA node will read from the network a total of 232 MB (the 2 raw
    1386 images for data storage and the 4 calibration frames, along with one
    1387 mask and one raw input image) and write a total of 100 MB (one
    1388 processed image and the mask along with the 1.5 processed images for
    1389 the Phase 4 analysis). Given the assumption of 50 MB/s from the
    1390 network adapter, the total data volume implies an I/O period of 6.6
    1391 seconds.  Again, note that the disk I/O is parallel with the network
    1392 I/O and substantially underfills the disk bandwidth.
    1393 
    1394 \paragraph{Optimal / Standard Data Scenario}
    1395 
    1396 In the Optimal Data Distribution scenario, there is a single CPU
     1462for the processing stages.
     1463
     1464\paragraph{Phase 2 Node I/O Requirements}
     1465
     1466In the assumed data distribution scenario, there is a single CPU
    13971467allocated to each OTA in the OTA farm and a single CPU for each Sky
    13981468cell process.  In addition, all data for the specified OTA are stored
     
    14001470result that all Phase 2 I/O is made to a local disk.  For each science
    14011471OTA image which is observed, each OTA node will read from the network
    1402 a total of 2 raw images (one for the original image, one for the
    1403 backup copy) and write an average of roughly 1.5 processed images and
    1404 masks to the Phase 4 machines for a total of 184 MB of network I/O.
    1405 During the processing stage, the OTA node will read from disk a total
    1406 of 496 MB (7 calibration frames at 64 MB each, one 16 MB mask, and one
    1407 raw science image at 32 MB) and write a total of 80 MB (one processed
    1408 image at 64 MB and one mask at 8 MB).  Given the assumptions for the
     1472a total of 2 raw images (one for the original image, one for a backup
     1473copy) and write an average of roughly 1.5 processed images and masks
     1474to the Phase 4 machines for a total of 124 MB of network I/O.  During
     1475the processing stage, the OTA node will read from disk a total of 176
     1476MB (4 calibration frames at 32 MB each, one 16 MB mask, and one raw
     1477science image at 32 MB) and write a total of 40 MB (one processed
     1478image at 32 MB and one mask at 8 MB).  Given the assumptions for the
    14091479network and disk bandwidths (50 MB/s and 100 MB/s respectively), the
    1410 data volumes imply a total I/O period of 9.5 seconds.  In this
     1480data volumes imply a total I/O period of 4.6 seconds.  In this
    14111481instance, the network I/O is presumed to be sequential with the disk
    14121482I/O.
    14131483
    1414 \paragraph{Optimal / Minimal Data Scenario}
    1415 
    1416 In the Optimal / Minimal Scenario, the minimal data sizes are used
    1417 with the optimal data distribution scheme.  In this case, we reduce
    1418 the disk I/O volume to 168 read and 40 MB write, and the network
    1419 traffic to 124 MB.  Given the assumptions for the network and disk
    1420 bandwidths, the data volumes imply a total I/O period of 4.6 seconds.
    1421 Again, the network I/O is presumed to be sequential with the disk I/O.
    1422 
    1423 \paragraph{Phase 4 Node I/O Requirements / Standard Data Volume}
     1484\paragraph{Phase 4 Node I/O Requirements}
    14241485
    14251486Although it is easy to arrange the OTA data in such a way that the
     
    14391500maximum read overhead is 50\% (need to read a 10x10 set of cells for
    14401501an 8x8 input image).  If the processing is performed on Static Sky
    1441 segments equivalent in size to the OTAs, the input data is 608 MB (384
    1442 MB of processed science image, 96 MB of mask images, 64 MB of static
    1443 sky image and 64 MB of static sky weight map) while the output data is
    1444 192 MB (static sky, weight map, and difference image, each 64 MB).
    1445 Thus, we require a total of 800 MB network I/O.  Given the network
    1446 bandwidth, this implies an I/O period of 16 seconds for Phase 4.
    1447 
    1448 \paragraph{Phase 4 Node I/O Requirements / Minimal Data Volume}
    1449 
    1450 In the minimal data volume scenario, the Phase 4 analysis volume is
    1451 significantly reduced.  The total volume of input data is 336 MB (192
    1452 MB of processed science image, 48 MB of input mask, 64 MB of static
    1453 sky image and 32 MB of static sky weight map) while the output data is
    1454 128 MB (64 MB static sky, 32 MB weight map, and 32 MB difference
    1455 image).  Thus, we require a total of 464 MB network I/O, which implies
    1456 an I/O period of 9.3 seconds.
     1502segments equivalent in size to the OTAs, the total volume of input
     1503data per node is 304 MB (192 MB of processed science image, 48 MB of
     1504input mask, 32 MB of static sky image and 32 MB of static sky weight
     1505map) while the output data is 96 MB (32 MB static sky, 32 MB weight
     1506map, and 32 MB difference image).  Thus, we require a total of 400 MB
     1507network I/O, which implies an I/O period of 8 seconds.
    14571508
    14581509\begin{table}
    14591510\begin{center}
    1460 \caption{Data Throughput for 4 Scenarios \label{throughput}}
     1511\caption{Data Throughput \label{throughput}}
    14611512\begin{tabular}{lrrrr}
    14621513\hline
    14631514\hline
    1464 &
    1465 \multicolumn{1}{c}{Random / Standard} &
    1466 \multicolumn{1}{c}{Random / Minimal} &
    1467 \multicolumn{1}{c}{Optimal / Standard} &
    1468 \multicolumn{1}{c}{Optimal / Minimal} \\
    1469 \hline
    1470 Phase 2 per-node network I/O       & 15.2 s         &  6.6 s         & 3.7 s           & 2.5 s          \\
    1471 Phase 2 per-node disk I/O (read)   & (5.6 s)        & (2.3 s)        & 5.0 s           & 1.7 s          \\
    1472 Phase 2 per-node disk I/O (write)  & (0.8 s)        & (0.4 s)        & 0.8 s           & 0.4 s          \\       
    1473 Phase 2 CPU total                  & 14 s : 860 GHz & 23 s : 520 GHz & 20 s : 600 GHz  & 25 s : 480 GHz \\
    1474 Phase 4 per-node I/O               & 16 s           & 9.3 s          & & \\
    1475 Phase 4 CPU total                  & 14 s : 490 GHz & 20 s : 390 GHz & & \\
    1476 Phase 2 switch load                & 6.1 GB/s       & 2.7 GB/s       & 1.5 GB/s        & 1.0 GB/s \\
    1477 Phase 4 switch load                & 0.8 GB/s       & 0.5 GB/s       & 0.8 GB/s        & 0.5 GB/s \\
    1478 Phase 2 to Phase 4 switch load     & 1.1 GB/s       & 0.6 GB/s       & 1.1 GB/s        & 0.6 GB/s \\
    1479 Summit to Phase 2 switch load      & 0.5 GB/s       & 0.5 GB/s       & 0.5 GB/s        & 0.5 GB/s \\
     1515Phase 2 per-node network I/O       & 2.2 s           \\
     1516Phase 2 per-node disk I/O (read)   & 1.3 s           \\
     1517Phase 2 per-node disk I/O (write)  & 1.2 s           \\       
     1518Phase 2 CPU total                  &  25 s : 128 GHz \\
     1519Phase 4 per-node I/O               &   8 s           \\
     1520Phase 4 CPU total                  & 112 s : 70 GHz  \\
     1521Phase 2 switch load                & 264 MB/s \\
     1522Phase 4 switch load                & 215 MB/s \\
     1523Phase 2 to Phase 4 switch load     & 160 MB/s \\
     1524Summit to Phase 2 switch load      &  70 MB/s \\
    14801525\hline
    14811526\end{tabular}
     
    14861531
    14871532The switch I/O requirements are defined by the total number of bytes
    1488 per second serviced by the two switches in the system.  For the
    1489 analysis of the Switch I/O requirements, the choice of data
    1490 distribution again has a major impact.  We again test the four
    1491 scenarios discussed above: Random Data Distribution, Random / Minimal,
    1492 Optimal Data Distribution, and Optimal / Minimal.
    1493 
    1494 \paragraph{Random / Standard Data Scenario}
    1495 
    1496 In the Random Data Distribution scenario, each OTA node needs to read
    1497 a total of 560 MB from the network and write a total of 200 MB every
    1498 30 seconds.  With 240 OTA nodes, this corresponds to a total bandwidth
    1499 of 6080 MB/sec, or 49 Gb/sec.  Note that this includes the bandwidth
    1500 needed to copy data from the summit and make two copies on the OTA
    1501 machines, as well as the bandwidth to send the processed image
    1502 portions to the Phase 4 machines.  The Phase 4 processing adds an
    1503 additional 320 MB of network I/O per Sky-Cell group, and there are
    1504 roughly 60-70 Sky-cells per exposure set.  Thus the Phase 4 processing
    1505 adds an additional 750 MB/sec network bandwidth.  In the architecture
    1506 defined in Figure NN, the Sky nodes and the OTA nodes are each
    1507 attached to separate switches.  An additional bandwidth requirement is
    1508 derived by the need to exchange data between these switches in for
    1509 Phase 4.  The total amount of data exchanged between these switches is
    1510 480 MB per Sky-cell, for a total bandwidth of 1120 MB/sec.  In
    1511 addition, the connection to the summit is a single, separate line
    1512 which needs to support the bandwidth requirement of copying all intial
    1513 raw images.  In our simple model, each raw image is copied twice,
    1514 accounting for a total of 15360 MB every 30 seconds, or a bandwidth
    1515 load of 512 MB/sec.  (Note that this last is double the actual
    1516 bandwidth requirement to the summit: a dedicated local circular buffer
    1517 would reduce the need for the second copy to come directly from the
    1518 summit.)
    1519 
    1520 \paragraph{Random / Minimal Data Scenario}
    1521 
    1522 In the Random / Minimal Scenario, the data volumes are significantly
    1523 reduced.  The total Phase 2 bandwidth contribution is 332 MB over 30
    1524 seconds for 240 nodes (2656 MB/sec) and the residual Phase 4 bandwidth
    1525 load is 224 MB per Sky cell over 30 seconds (522 MB/sec).  The
    1526 inter-switch communication is now 240 MB per sky cell over 30 seconds,
    1527 or 560 MB/sec. 
    1528 
    1529 \paragraph{Optimal / Standard Data Scenario}
    1530 
    1531 In the Optimal Data Distribution, the Phase 2 network bandwidth is
    1532 reduced significantly to 184 MB per OTA node, for a total of
    1533 1.5GB/sec, while the Phase 4 network bandwidth remains unchanged at
    1534 750 MB/sec.  The inter-switch communication also remains the same at
    1535 1.12 GB/sec. 
    1536 
    1537 \paragraph{Optimal / Minimal Data Scenario}
    1538 
    1539 In the Optimal / Minimal Scenario, the total Phase 2 network bandwidth
    1540 drops to 124 MB per OTA node, for a total of 1.0GB/sec, while the
    1541 Phase 4 network bandwidth is 552 MB/sec.  The inter-switch
    1542 communication remains the same as the Random/Minimal Scenario at 560
    1543 MB/sec.
    1544 
    1545 \begin{table}[t]
     1533per second serviced by the two switches in the system. 
     1534
     1535The Phase 2 network I/O is 124 MB per OTA.  With 64 OTAs per image,
     1536and 30 seconds average between images, this implies a total of 264
     1537MB/s switch bandwidth.  The Phase 4 network I/O is 400 MB per sky
     1538cell.  With 64 cells and 120 seconds between major frames, this is an
     1539average switch bandwidth of 215 MB/s switch bandwidth.  The total
     1540switch-to-switch load is 304 MB per OTA, with an average timescale of
     1541120 seconds.  With 64 OTAs, this corresponds to 160 MB/s.  The
     1542summit-to-Phase 2 switch load is 70 MB/s.
     1543
     1544\begin{table}
    15461545\begin{center}
    1547 \caption{\label{NP2} Phase 2 load per major frame (12000 GHz-sec)}
     1546\caption{Hardware Throughput Tests \label{existing-hardware}}
    15481547\begin{tabular}{lrrrr}
    15491548\hline
    15501549\hline
    1551 & Random/Standard
    1552 & Random/Minimal
    1553 & Optimal/Standard
    1554 & Optimal/Minimal \\
    1555 \hline
    1556 network I/O (GB) &  182 &   80 &   44 &   30 \\
    1557 PS-1 & & & &  \\
    1558  I/O (cpu-sec)    & 3640 & 1600 &  880 &  600 \\
    1559  CPU (cpu-sec)    & 4000 & 4000 & 4000 & 4000 \\
    1560  \# cpus          &   64 &   47 &   41 &   38 \\
    1561 PS-4 & & & & \\
    1562  I/O (cpu-sec)    & 1820 &  800 &  440 &  300 \\
    1563  CPU (cpu-sec)    & 2000 & 2000 & 2000 & 2000 \\
    1564  \# cpus          &  127 &   93 &   81 &   77 \\
     1550Test        & where \& when     & model                & result                             \\
     1551\hline
     1552node I/O    & CFHT 11/2002      & Intel 1000 Gigabit   & 35 - 40 MB/s sustained             \\
     1553node I/O    & CFHT 2/2004       & Intel 1000 Gigabit   & 65 - 70 MB/s sustained             \\
     1554RAID write  & CFHT 2/2004       & 3ware RAID cntl + IDE & 110 MB/s sustained                 \\
     1555Switch Load & VeriTest          & Cisco                & 3 GB/s (for 32 ports)              \\
    15651556\hline
    15661557\end{tabular}
     
    15681559\end{table}
    15691560
    1570 \begin{table}[b]
    1571 \begin{center}
    1572 \caption{\label{NP4} Phase 4 load per major frame (7800 GHz-sec)}
    1573 \begin{tabular}{lrr}
    1574 \hline
    1575 \hline
    1576 & Standard
    1577 & Minimal \\
    1578 \hline
    1579 network I/O (GB) & 48 & 28 \\
    1580 PS-1 & &  \\
    1581  I/O (cpu-sec) &  960 &  557 \\
    1582  CPU (cpu-sec) & 2600 & 2600 \\
    1583  \# cpus       &   30 &   26 \\
    1584 PS-4 & &  \\
    1585  I/O (cpu-sec) &  480 &  278 \\
    1586  CPU (cpu-sec) & 1300 & 1300 \\
    1587  \# cpus       &   59 &   53 \\
    1588 \hline
    1589 \end{tabular}
    1590 \end{center}
    1591 \end{table}
    1592 
    1593 \subsubsection{Conclusions}
    1594 
    1595 Table~\ref{throughput} presents one way of analysing the hardware
    1596 requirements, making a specific set of assumptions about the number of
    1597 nodes for the two phases and the expected network and disk
    1598 bandwidths.  The important conclusion in this analysis is the implied
    1599 number of GHz per processor, given the assumptions laid out.
    1600 Phase 2 is specified to have 240 OTA nodes, while Phase 4 is specified
    1601 to have roughly 60 static sky nodes.  The range of Phase 2 CPU
    1602 requirements implies that each CPU needs to have speeds in the range
    1603 of 2.0 - 3.6 GHz, which sound very plausible for the year 2007, since
    1604 these apply to PS-4. 
    1605 
    1606 Another way to represent this information is to use the total number
    1607 of MB I/O and the total number of GHz-sec required for the two stages,
    1608 confront these with an assumption for the bandwidth per network
    1609 adapter and an assumption for the CPU speed and use those numbers to
    1610 calculate the minimum number of nodes (CPUs) needed to sustain the
    1611 timing requirements.  There are quite a few parameters and options to
    1612 choose from.  We have assumed that for PS-1, the time between major
    1613 frames (4 images combined in Phase 4) is 120 seconds, and 30 seconds
    1614 for PS-4.  We have also assumed that each CPU has one network adapter
    1615 associated with it, and use the numbers of 50 MB/sec for PS-1 era
    1616 network adapters and 100 MB/sec for the PS-4 network adapters (since
    1617 there has been some steady improvement in GigE hardware over the past
    1618 year).  We have also assumed each PS-1 CPU is rated at 3 GHz and those
    1619 for PS-4 are rated at 6 GHz (somewhat conservative since 3 GHz
    1620 machines are already available).  Tables~\ref{NP2} and \ref{NP4} show
    1621 the load and resulting number of nodes for both Phase 2 and Phase 4
    1622 for both the PS-1 and PS-4 assumptions, using the I/O numbers for all
    1623 of the scenarios above.  Note that in these discussions, we make the
    1624 idealized assumption that the computational and I/O portions of each
    1625 process are completely serial.  As a result, the CPU is completely
    1626 used to perform the I/O during the I/O phase, avoiding any concern
    1627 about I/O load on the processor during analysis. 
     1561\subsubsection{Existing Hardware Throughput}
     1562
     1563We have collected a few representative tests of various pieces of
     1564modern hardware to give a reference for the throughput capabilities.
     1565A number of hardware configurations have been tested at CFHT for the
     1566Elixir project, and we include here their recent reported hardware
     1567RAID-5 I/O speeds and GigE card speeds.  We also have included data
     1568from VeriTest studies of Cisco switch throughput, commissioned by
     1569Cisco for a 32 port GigE switch.  These tests are summarized in
     1570Table~\ref{existing-hardware}.
    16281571
    16291572%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Note: See TracChangeset for help on using the changeset viewer.