Changeset 422 for trunk/doc/design/design.tex
- Timestamp:
- Apr 12, 2004, 7:28:11 PM (22 years ago)
- File:
-
- 1 edited
-
trunk/doc/design/design.tex (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/design/design.tex
r421 r422 1 %%% $Id: design.tex,v 1. 3 2004-04-13 04:05:15price Exp $1 %%% $Id: design.tex,v 1.4 2004-04-13 05:28:11 price Exp $ 2 2 %\documentclass[panstarrs,psreport]{panstarrs} 3 3 \documentclass[panstarrs]{panstarrs} … … 325 325 stages on separate machines and monitors their progress. An example 326 326 of the controller functionality is ``Run the phase 2 processing on 327 exposure number 1234 ''.327 exposure number 1234 using machines 1,3,5,7,9''. 328 328 329 329 \subsubsection{Scheduler} … … 333 333 images as they are received. An example of the scheduler 334 334 functionality is ``I've just received exposure number 1234; run phase 335 1--4 controllers on these''.335 1--4 controllers on exposure 1234''. 336 336 337 337 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% … … 348 348 The IPP Pixel Server (IPS) is a repository for all image pixel data 349 349 required by the IPP. Images may reside in the IPS for different 350 periods depending on their use and type. Imagesstored by the IPS350 periods depending on their use and type. Data stored by the IPS 351 351 include the raw images, the calibration images, intermediate 352 352 processing stage images as needed, final processed images, difference 353 images, and image subsections. The IPS must retain images as long as 354 they are needed, up to the lifetime of the project. In order to 355 achieve the I/O requirements, the IPS may maintain the pixel data 356 distributed across the processor nodes in an organized fashion, i.e.\ 357 associating specific machines with specific OTAs. The IPS interacts 358 with the IPP Metadata Database to allow other systems or subsystems to 359 identify the available images meeting specified criteria. IPS 360 specifications are described in the IPS subsystem specification. 353 images, and image subsections, \tbd{along with the associated 354 metadata}. The IPS must retain images as long as they are needed, up 355 to the lifetime of the project. In order to achieve the I/O 356 requirements, the IPS may maintain the pixel data distributed across 357 the processor nodes in an organized fashion, i.e.\ associating 358 specific machines with specific OTAs. The IPS interacts with the IPP 359 Metadata Database to allow other systems or subsystems to identify the 360 available images meeting specified criteria. IPS specifications are 361 described in the IPS subsystem specification. 361 362 362 363 In addition to storing the pixel data, the IPS is responsible for … … 369 370 370 371 \begin{enumerate} 371 \item IPP Pixel Data Scheduler 372 \item IPP Pixel Data Locality Optimizer 373 \item IPP Pixel Data Database 374 \item IPP Pixel Data Retrieval Agent 375 \item IPP Pixel Data Query Library 376 \item IPP Pixel Data I/O Library 377 \end{enumerate} 378 379 \subparagraph{IPP Pixel Data Scheduler (IPP-PDS)} 380 381 The IPP Pixel Data Scheduler coordinates the movement of image data 382 onto {\em local} storage for processing by the IPP System and executes 383 batch image data management tasks. By ``local storage'' is meant 384 storage accessible from a particular local machine (i.e.\ either on a 385 disk physically connected to the machine, or a disk mounted over the 386 network). 387 388 The IPP Pixel Data Scheduler has four basic modes of operation: 372 \item IPP Pixel Server Scheduler (IPSS) 373 \item IPP Pixel Server Data Locality Optimizer (IPSDLO) 374 \item IPP Pixel Server Database (IPSD) 375 \item IPP Pixel Server Node Agent (IPSNA) 376 \item IPP Pixel Server I/O Library (IPSIOL) 377 \end{enumerate} 378 379 \subparagraph{IPP Pixel Server Scheduler (IPSS)} 380 381 The IPSS coordinates the movement of image data and executes batch 382 image data management tasks. The IPSS has four basic modes of 383 operation: 389 384 390 385 \begin{itemize} 391 \item Copy external data: The IPP-PDS generates {\em retrieve data} 392 tasks which are executed on nodes specified by the IPP-DLO. This 393 mode will be used frequently to copy data from the Summit Pixel 394 Server to the IPP nodes for processing. 395 \item Delete data: The IPP-PDS looks up the location of the data in 396 the IPP Pixel Data Database and generates {\em delete data} tasks 397 which are executed on the appropriate nodes. This mode will be used 398 on a regular basis to clean old data that is no longer required. 399 \item Replicate data: The IPP-PDS generates {\em retrieve data} tasks 400 which are executed on nodes specified either by the ``replicate 401 data'' command, or by the IPP-DLO. This mode differs from the 402 ``copy external data'' mode in that it copies data already within 403 the IPP-PDS. This mode will be used to backup and rearrange data. 404 \item Move data: the IPP-PDS executes a replication followed by a 386 \item Retrieve external data: The IPSS generates {\em retrieve data} 387 tasks which are executed by the IPSNAs on nodes specified by the 388 IPSDLO. This mode will be used frequently to copy data from the 389 Summit Pixel Server to the IPP nodes for processing. 390 \item Delete data: The IPSS looks up the location of the data in the 391 IPP Pixel Data Database and generates {\em delete data} tasks which 392 are executed by the IPSNAs on the appropriate nodes. This mode will 393 be used on a regular basis to clean old data that is no longer 394 required. 395 \item Replicate data: The IPSS generates {\em copy data} tasks which 396 are executed by the IPSNAs on nodes specified either by the 397 ``replicate data'' command, or by the IPPDLO. This mode differs 398 from the ``copy external data'' mode in that it copies data already 399 within the IPSS. This mode will be used to backup and rearrange 400 data. 401 \item Move data: the IPSS executes a replication followed by a 405 402 deletion. This mode will be used to reorganise the storage. 406 403 \end{itemize} 407 404 408 It is not intended that the IP P-PDS will be used by the nodes in the405 It is not intended that the IPSS will be used by the nodes in the 409 406 course of processing --- it is only for bulk data management. ``Copy 410 407 external data'' mode will be used frequently to retrieve data from the … … 415 412 416 413 417 \subparagraph{IPP Pixel Data Locality Optimizer (IPP-PDLO)} 418 419 The IPP Pixel Data Locality Optimizer is a data task filter. Data 420 tasks generated by the IPP Pixel Data Scheduler are passed through the 421 IPP Pixel Data Locality Optimizer which may assign tasks to specific 422 nodes. This component is a merely a plug-in and may be bypassed 423 depending upon the operating mode of the IPP Pixel Data Scheduler. 424 425 \subparagraph{IPP Pixel Data Database (IPP-PDD)} 426 427 The IPP Pixel Data Database contains image data locations \tbd{and the 428 associated metadata}. 429 430 The IPP-PDD will contain at least: 431 414 \subparagraph{IPP Pixel Server Data Locality Optimizer (IPPDLO)} 415 416 Data tasks generated by the IPSS are passed through the IPSDLO which 417 assigns write tasks to specific nodes. This allows the location of 418 the data to be optimized so that it resides on the node which will 419 process it. 420 421 \subparagraph{IPP Pixel Server Database (IPSD)} 422 423 The IPSD contains image data locations \tbd{and the associated 424 metadata}. The IPSD will contain at least: 432 425 \begin{itemize} 433 426 \item The location of image data and its associated metadata that is 434 available for retrieval from the Summit Pixel Server.427 available for retrieval from the Summit Pixel Server. 435 428 \item The location of image data and its associated metadata that is 436 yet to be processed by the IPP System.429 yet to be processed by the IPP System. 437 430 \item The location of calibration data and its associated metadata for 438 processing within the IPP System.431 processing within the IPP System. 439 432 \item The location of reduced image data and its associated metadata as 440 generated by the IPP System.433 generated by the IPP System. 441 434 \item The location of difference image data and its associated metadata as 442 generated by the IPP System.435 generated by the IPP System. 443 436 \item The location of stacked image data and its associated metadata as 444 generated by the IPP System.437 generated by the IPP System. 445 438 \item A history of data management commands and actions. 446 439 \end{itemize} 447 440 448 \subparagraph{IPP Pixel Data Retrieval Agent (IPP-PDRA)} 449 450 The IPP Pixel Data Retrieval Agent acquires image data from a 451 specified location, possibly the Summit Pixel Server(s), and stores it 452 at a specified location. The IPP-PDRA is independent of the 453 underlying storage medium by using the IPP Pixel Data I/O Library. 454 455 456 \subparagraph{IPP Pixel Data I/O Library (IPP-PDIOL)} 457 458 The PDIOL is the workhorse of the Pixel Server system. It is a 459 library for retrieving files from and storing files to Uniform 460 Resource Identifiers (URIs), which can be used on the nodes to access 461 the pixel data. It will be able to: 441 \subparagraph{IPP Pixel Server Node Agent (IPSNA)} 442 443 The IPSNA runs on a node to perform the operations required by the IPSS 444 and IPSIOL. This includes: 462 445 \begin{itemize} 463 \item Locate new and reduced data for an exposure. 464 \item Locate the appropriate calibration data for an exposure. 465 \item Add the storage location and metadata of new data. 446 \item Retrieve data from an external source (e.g.\ the Summit Pixel 447 Server) to a local disk as requested by the IPSS. 448 \item Copy data from one of the other nodes to a local disk as 449 requested by the IPPS. 450 \item Delete data from a local disk as requested by the IPSS or 451 through the IPSIOL. 452 \item Respond to requests for data made by nodes through the IPSIOL. 453 \end{itemize} 454 455 \tbd{The Agent does not wear a suit, nor does it know kung fu.} 456 457 \subparagraph{IPP Pixel Server I/O Library (IPSIOL)} 458 459 The IPSIOL is the workhorse of the IPP Pixel Server system. It is a 460 library for reading and writing pixel data to the IPP Pixel Server. 461 It will generally be used on the nodes, although the IPSS will also 462 make use of it. The IPSIOL will be able to: 463 \begin{itemize} 464 \item Lookup the location of new and reduced data for an exposure. 465 \item Lookup the location of the appropriate calibration data for an 466 exposure. 467 \item Open a file at the location returned by a lookup. 468 \item Write new data and metadata to a specified location. 466 469 \item Update the storage location and/or metadata of any data. 467 470 \item Remove the storage location of data and metadata that has been … … 470 473 471 474 472 473 475 \paragraph{Pixel Data Flow} 474 476 475 \subparagraph{Acquisition} 477 Below we sketch out the intended sequence of events for common 478 operations. 479 480 \subparagraph{Acquisition of data from the Summit Pixel Server} 476 481 477 482 \begin{enumerate} 478 483 \item The Summit Pixel Server sends a ``new data notification'' to the 479 IPP Pixel Data Data Scheduler. 480 \item The IPP Pixel Data Data Scheduler generates a {\em retrieve 481 data} task which is filtered through the IPP Pixel Data Locality 482 Optimizer, which possibly assigns the task to a specific node or group 483 of nodes. 484 \item The IPP Pixel Data Scheduler farms out the various copy tasks to 485 the nodes, which spawn IPP Pixel Data Retrieval Agents. 486 \item The IPP Pixel Data Retrieval Agents downloads the image data 484 IPSS. 485 \item The IPSS generates the {\em retrieve data} tasks which are to be 486 executed on specific nodes (i.e.\ those which will reduce the raw 487 data). 488 \item Each specified node spawn IPSDRAs which downloads the image data 487 489 from the Summit Pixel Server to the disk physically mounted on the 488 490 node. 489 \item The node reports the finished task to the IPP Pixel Data Scheduler. 490 \item The IPP Pixel Data Scheduler updates the IPP Pixel Data Database to 491 the new storage location. 492 \item The IPP Pixel Data Scheduler notifies the IPP Scheduler that new data is 493 available by appending to a notification table in the IPP Pixel Data Database. 494 \tbd{In addition a notification maybe sent directly to the IPP Scheduler.} 491 \item The node reports the finished task to the IPSS. 492 \item The IPSS updates the IPSD to the new storage location. 493 \item The IPSS notifies the IPP Scheduler that new 494 data is available. 495 495 \end{enumerate} 496 496 … … 502 502 \end{figure} 503 503 504 \subparagraph{Processing} 505 506 \begin{enumerate} 507 508 \item The IPP Scheduler gives the IPP Controller a Phase 2 image processing task. 509 510 \begin{enumerate} 511 \item The IPP Controller passes the task to a \tbd{IPP Node Agent}. 512 \item The \tbd{IPP Node Agent} {\em spawns} a \tbd{IPP Image Processing Agent} and 513 passes it the task. 514 \item The \tbd{IPP Image Processing Agent} retrieves the exposure data to be processed 515 with the IPP Pixel Data I/O library and loads it into local memory. 516 \item The \tbd{IPP Image Processing Agent} retrieves the calibration data with 517 the IPP Pixel Data I/O library and loads it into local memory. 518 \item The \tbd{IPP Image Processing Agent} processes the Phase 2 task. 519 \item The \tbd{IPP Image Processing Agent} stores the processed data with the 520 IPP Pixel Data I/O library. 521 \end{enumerate} 522 523 \item The IPP Scheduler gives the IPP Controller a Stage 4 image processing task. 524 525 \begin{enumerate} 526 \item The IPP Controller passes the task to a \tbd{IPP Node Agent}. 527 \item The \tbd{IPP Node Agent} {\em spawns} a \tbd{IPP Image Processing Agent} and 528 passes it the task. 529 \item The \tbd{IPP Image Processing Agent} retrieves the reduced image data 530 with the IPP Pixel Data I/O library and loads it into local memory. 531 \item The \tbd{IPP Image Processing Agent} retrieves the best stacked image 532 data with the IPP Pixel Data I/O library and loads it into local memory. 533 \item The \tbd{IPP Image Processing Agent} retrieves the current working 534 stacked image data with the IPP Pixel Data I/O library and loads it into 535 local memory. 536 \item The \tbd{IPP Image Processing Agent} processes the Phase 4 task. 537 \item The \tbd{IPP Image Processing Agent} stores the difference image with 538 the IPP Pixel Data I/O library. 539 \item The \tbd{IPP Image Processing Agent} stores the new working stacked 540 image with the IPP Pixel Data I/O library. 541 \end{enumerate} 504 \subparagraph{Processing Reads} 505 506 \begin{enumerate} 507 \item A processing stage needs pixel data, e.g.\ the appropriate 508 flat-field for an image being processed. 509 \item The processing stage uses the IPSIOL to look up the location of 510 the appropriate image. 511 \item The processing stage retrieves the required pixel data using the 512 IPSIOL and loads it into local memory. 513 \end{enumerate} 514 515 \subparagraph{Processing Writes} 516 517 \begin{enumerate} 518 \item A processing stage has produced pixel data which should be saved, e.g.\ the 519 subtracted image. 520 \item The processing stage uses the IPSIOL to look up the location the 521 image should be written to. 522 \item The processing stage uses the IPSIOL to write the image. 523 \end{enumerate} 524 525 \subparagraph{Processing Updates} 526 527 \begin{enumerate} 528 \item A processing stage needs to update pixel data, e.g.\ the 529 static sky image. 530 \item The processing stage uses the IPSIOL to look up the location of 531 the appropriate image. 532 \item The processing stage retrieves the required pixel data using the 533 IPSIOL and loads it into local memory. 534 \item The processing stage modifies the pixel data in local memory. 535 \item The processing stage uses the IPSIOL to write the image to the 536 previous location with an overwrite flag. 542 537 \end{enumerate} 543 538
Note:
See TracChangeset
for help on using the changeset viewer.
