Simple supervisor for simulation of ATLAS 2nd level trigger. Listen for new Level 1 triggers, allocate processor, collect together event IDs of processed events and send them out as one DeleteData message to each ROB.
Derived from: DEStar
Location: ~gjc/ptolemy/src
Version: 1.0 "28/01/99"
Author: G. J. Crone
| evid | int | Identifier of a newly generated event. |
| netInput | message | Input from the level 2 network |
| DFMBackPressure | int | Back Pressure signal from the DFM: 1 busy, 0 free |
| netOutput | message | Output to the level 2 network |
| myid | IntState | ID (address) of this node | "666" |
| debugLevel | IntState | Amount of output to print on screen: 0 = none, 1 = errors, 2 = errors + info, 3 = ... + debugging, 4 = ... + heavy debugging or all | "2" |
| cpuSpeed | IntState | Frequency (MHz) of hardware on which Super runs | "300" |
| outstanding_in_system | IntState | Maximum number of outstanding events in system | "10" |
| nrobs | IntState | Number of ROBS in simulation | "1" |
| first_rob | IntState | Identifier of first ROB node | "1" |
| nprocs | IntState | Number of processor nodes in simulation | "1" |
| first_proc | IntState | Identifier of first processor node | "1" |
| ndfms | IntState | Number of DFM nodes in simulation | "1" |
| first_dfm | IntState | Identifier of first DFM node | "1" |
| packing | IntState | Number of event ids to be packed in one message | "50" |
| id_process_time | FloatState | Time taken to add an event to the list of events to be deleted (on 300 MHz CPU) | "0.5" |
| st_packet_size | IntState | Length in bytes of a SteerEvent packet | "32" |
| proc_alloc_time | FloatState | Time taken to allocate a proccessor node for handling an event (on 300 MHz CPU) | "0.5" |
| time_to_clear | FloatState | Time taken to send the clear to the ROBs (on 300 MHz CPU) | "0.0" |
| time_to_produce | FloatState | Time taken to produce an event (on 300 MHz CPU) | "0.5" |
| time_to_send | FloatState | Time taken to send a SteerEventMessage (on 300 MHz CPU) | "0.5" |
| time_to_receive | FloatState | Time taken to receive a SteerComplete message (on 300 MHz CPU) | "0.5" |
| time_to_accept | FloatState | Time taken to build and send a LVL2Accept message (on 300 MHz CPU) | "0.5" |
| useEventFilter | IntState | Flag to control the use of the Event Filter 0 = do not use 1 = use the Event Filter | "0" |
| outputControl | IntState | Flag to control statistics output (as opposed to debug output) 0 = all off, 1 = histogram on, 2 = save times to file, 3 = both on | "1" |
| statsFile | StringState | File to contain statistics if outputControl >= 2 | "superStats.dat" |
| startTime | FloatState | Time of generation of first event | "0.0" |
| allocationMode | IntState | Flag to control processor allocation method 0 = each instance keeps its own sequence counter 1 = use class static variable shared by all supervisors | "0" |
| LVL2_Accept_Length | IntState | Length of LVL2 Accept message | "20" |
Documentation on this star can be found here. The information below is out of date and should not be used. It has been kept for a day when I might bring it up to date.
Marc Dobson
SteerEvent message which it sends to the next
processor in a round-robin scheme. It uses the nprocs
and first_proc states to address the processors. The
size of the generated SteerEvent message is controlled
by the state st_packet_size.
packing such messages the supervisor
will generate a
DeleteData message which will be sent to all ROBS.
See: source code,
Super users
Copyright (c) 1999 Gordon Crone All rights reserved.