Common DFOS tools:
Documentation

dfos = Data Flow Operations System, the common tool set for DFO
*make printable   see also:
    Condor for QC

Condor® Project University Wisconsin

Simple simulations for Condor

1. FORS1

The following simple sketch illustrates the potential of using Condor, both on a dual processor and a multi-processor platform. We assume a model cascade with three levels (dependencies) and up to 6 independent ABs ("FORS1"). To simplify further, we also assume similar execution times per recipe and processor. Then the execution time for a batch of jobs is the fundamental cycle time of the system, by which we measure the system performance. Grey is idle time, blue is active time:

FORS1 model cascade: 1 BIAS, 3 depending FLATs, 6 depending STD traditional QC processing (DRS_TYPE="CPL") slightly more advanced dfo processing (DRS_TYPE="CON") processing on a small cluster (N=6)
    1       BIAS
2   3   4   FLAT
5 6 7 8 9 10 STD
1
2
3
4
5
6
7
8
9
10
1  
2 3
4 5
6 7
8 9
10 10

1          
2 3 4      
5 6 7 8 9 10
number of cycles: 10 6
(2,3,4 can only start when 1 is done; 5-10 only when 2-4 is done)
3
(cannot be reduced further)

The very same cascade on a multi-processor platform with more than 6 nodes cannot be made any faster because of the dependencies.

2. OCAM

The survey instruments with up to 32 detectors will require a higher processing multiplexity. The idea is to have the pipeline recipe access a particular extension (both in raw and product files) and hence have the same AB running 32 times, indexed by detector ID. Then there is an additional job, #33, to merge all 32 product files into a single final product. In the following we take a very simple-minded cascade for a 32 detector instrument (1 BIAS, 1 FLAT; "OCAM"), executed on a small and on an adapted cluster. Again, similar execution and performance times are assumed:

OCAM model cascade: 1 BIAS, 1 depending FLAT processing on N=6 cluster processing on N=32 cluster
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 BIAS
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 FLAT
1 2 3 4 5 6
7 8 9 10 11 12
13 14 15 16 17 18
19 20 21 22 23 24
25 26 27 28 29 30
31 32        
33          
34 35 36 37 38 39
40 41 42 43 44 45
46 47 48 49 50 51
52 53 54 55 56 57
58 59 60 61 62 63
64 65        
66          
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
33                                                              
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
66                                                              
number of cycles: 14
Jobs 33 and 66 are join job (to create MEF product file). 33 depends on 1-32. 34-65 depend on 33. 66 depends on 34-65.
4
(cannot be reduced)

3. Hybrid: OCAM plus FORS1

In general, CONDOR will be used by QC to execute all pipeline jobs. Hence a hybrid scenario (with the two cascades from above submitted to the same cluster) could look like following:

OCAM and FORS1 model cascades from above processing on N=6 cluster processing on N=32 cluster
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 BIAS
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 FLAT

    1      
2   3   4  
5 6 7 8 9 10
1 2 3 4 5 6
7 8 9 10 11 12
13 14 15 16 17 18
19 20 21 22 23 24
25 26 27 28 29 30
31 32 1      
33 2 3 4    
34 35 36 37 38 39
40 41 42 43 44 45
46 47 48 49 50 51
52 53 54 55 56 57
58 59 60 61 62 63
64 65 5 6 7 8
66 9 10      
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
33 1                                                            
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
66 2 3 4                                                        
5 6 7 8 9 10                                                    

 

5
(an extra cycle is required because of the FORS dependencies)
Buying just one more CPU would reduce the cycle number to 4:
processing on N=33 cluster
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 1
33                                                           2 3 4
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 5
66                                                       6 7 8 9 10
number of cycles 14
(The FORS jobs can be scheduled to idle processors)
4-5

Obviously the idle processor cycles could be used for further compute jobs. The important point is that by careful adaption of the resources to the compute needs the cost-to-benefit ratio can improve significantly (gain of 20% throughput by just adding 1 more CPU to existing 32).