To support a shared DRP. One process that understands all the resources that are in-use and prevents conflicts. Two possibilities:
- make the collection software long-lived and supports learning about multiple partitions/platforms
- cpo currently leaning this way: "fewer moving parts
- add a layer on top of the collection code
Requirements
- a service: two cnf files can have same node/kcu/pgplane but would be prevented from starting if another cnf already has it allocated.
- which nodes/kcu/pgplanes are allocated
- don't want to start the process until we know there is node/pgplane for it. an ordering problem.
- deallocated
- crash
- killPartition
"Risk Management" thought: if the sharing doesn't work we can buy DRP nodes and fibers to keep .cnf files orthogonal (obviates the need for the BOS). Expensive and harder to maintain.
Considerations:
- BOS (dynamically changes connections, of devices of the same type (fim, opal, hsd))
- DRP Nodes
- PGP Lanes
- procmgr ports ("platforms"). don't want two people using platform 2.
- readout groups (only matter within a single XPM, maybe doesn't matter with per-hutch XPM idea)
- special networks connections:
- xtcav
- bld (cmp001, cmp014). currently not special, but maybe not true in the future (1MHz needs a clean network)
- connection to ATCA timing system (ctl001). needed to run all pyxpm
- which firmware runs in which node
- tprtrig
- front-end machines (e.g. daq-tmo-hsd-01, daq-tmo-andor-01) would NOT be a managed resource (not shared drp). BOS does need to know about them.
- ffb connections? drp-neh-ctl002 doesn't have an FFB, but is part of the shared drp.
- pgp remoteId information could be useful
- two case complexity: e.g. wave8's from different hutches can trivially share a drp node (as long use different pgplanes). but opal's cannot (so currently would need to allocate all lanes)
- need to think about 2 KCU case
Thoughts:
- could we get rid of the idea of platforms?
- an example of how one could do that: could statically allocate ports for each
What Resources are Managed/Shared
Overview
Content Tools