# Presentation: 950700

## Image Builder Design

- Tao Qian
- UIUC
- April 10, 2007

## Basic Structure

- 	The Image Builder will consist of five nodes and a supervisor:
- IB supervisor layer -- 1 Linux system
- Maintain the current status information of IB nodes
- Coordinate the connections between monsoon PANs and IB node
- IB – five nodes
- Collect pixel data from science/focus PANs
- Combine pixel data with metadata
- Form multi-extension FITS file and deliver to downstream

- Tao Qian

## Basic Idea

- IB consists of a set of Linux boxes
- One IB node assembles data from five science/focus PANs at any time
- Current active IB node is determined by IB supervisor
- Connection between PANs and IB are through TCP/IP sockets
- IB is server; PANs are clients
- Clients push the pixel data and metadata into IB
- IB stuffs the data into the shared memory

- Tao Qian

## Architecture

- Ethernet Switch

-  Image Builder Supervisor directs pixel data to one IB machine at any time

- Tao Qian

## Primary Processes in IB

- collector:
- Listen to connection from clients (PANs)
- Stuff the pixel data into the shared memory cache
- Listen for commands from supervisor layer, reporting the current status
- sharedMemoryManager:
- Organize the shared memory cache
- Reorient the memory page to account for CCD readout direction
- Provide access pointer for other processes
- pixelFeed
- Gather global metadata from database
- Assemble image from the shared memory into FITS format
- Send file to DTS through sockets

- Tao Qian

## Data Flow Testing (1)

- A toy model has been developed
- Client on (storm.des.hep.uiuc.edu) Pentium 4 Linux machine
- Server on (cyclone.des.hep.uiuc.edu) Pentium 4 Linux machine
- Transferring data from half full PAN 18/2:
- numCcd = 9;
- nx = 2248;  rows pixel
- ny = 4146;  columns pixel
- 4 bytes/pixel
- Total data = 2248 * 4146 *4 *9
-                    = 335, 527, 488 bytes
- The data is equivalent to 9 CCD pixel data with 4 bytes per pixel.

- Tao Qian

## Data Flow Testing (2)

| Packet size  (bytes) | Action | Trial 1 (sec) | Trial 2 (sec) | Trial 3 (sec) | Average (sec)
 | Average Rate
(1/sec) |
| --- | --- | --- | --- | --- | --- | --- |
| 
1024 | Recv | 29 | 28 | 29 | 29 | 11.57 Mbytes
92.56 Mbits |
|  | &Save | 81 | 81 | 81 |  |  |
| 
4096 | Recv | 28.52 | 28.15 | 27.84 | 28.17 | 11.91 MBytes
95.28 Mbits |
|  | &Save | 100 | 100 | 100 |  |  |
| 
8192 | Recv | 30.40 | 29.41 | 28.91 | 29.57 | 11.34 MBytes
90.7 Mbits |
|  | &Save | 100.13 | 104.88 | 102.89 | 102.63 |  |

- Ethernet switch 10Mb/100Mbps, Ethernet Adaptors (1Gbps)
- Received data : 335, 527, 488 bytes

- Estimation: Total time = (~30*2)/PAN x 5 PANs = 300 seconds with current switch.
- Need a faster Ethernet switch to repeat the test!!!

- Tao Qian

## Data Flow Testing (3)

- Two clients (tempest and storm sending data)
- One server (cyclone receiving data through two different ports)
- Tempest started the transferring 1 seconds earlier and finished in 31 seconds, with rate ~90Mbps
- Storm started the process late and the connection was set, but the transmission was almost halted, and continued after tempest was done
- Total time was doubled w.r.t. one client one server case.

|  | Tempest | Storm |
| --- | --- | --- |
| Time for 9 CCD data | 31 seconds | 61 seconds |

- Tao Qian

## Estimation of DHS node

- Assumptions
- 1 gigabit/second switch, actual 30% efficiency (conservative)
- R = 300 bits/sec
- Pixel size per CCD (p = 2248*4146 = 9,320,208 pixels)
- 4 bytes per pixel (n = 4)
- 18 full size CCDs per PAN (C = 18)
- Total Bytes to transfer per PAN  (B=p*n*C= 671,054,976 bytes)
- Total 5 PANs (N=5)
- Transfer time t1=B*N/R=90 seconds (<100 sec Exposure) (OK!)
- Time for data operation (e.g. focus) in DHS t2 = 200 (s)
- Time for data output to DTS  t3= 90 (s)
- Node = (90 + 200 + 90)/100 = 4

- Tao Qian

## Next Step

- Write Interface Control document
- Test the client code and implant it into MONSOON
- Link the correct dhsUtil.lib in MONSOON which will send data to DHS (modify the monsoon library)
- Develop the server
- Develop based on DHS software from NEWFIRM
- Design IB supervisor layer

- Tao Qian

## Reference

- DES image builder design follows data handling system and data capture agency software in NEWFIRM project at NOAO
- In NEWFIRM, one Data Handling System matches one PAN
- The data are delivered to one Data Capture Agent machine to form multi extension FITS file

- Tao Qian