Introduction
The ResourcesInfo is a new package providing to the users information
about enabled (i.e. active) resources. The information is provided on
start of each new run, OKS database reload or Run Control stopless
recovery action. The information about resources takes into account DAL
auto‐disabling algorithm.
The information is provided by the following means:
- online - information is published on Information Service
- offline - information is stored on COOL
The information about resources is ranged by detectors and their
sub-folders. The sub-folders are configurable individual for each
detector using OKS database.
Applications
The information publisher (res_info_provider
application) is a run control application started in online segment of
a user partition. It reads own configuration from OKS at CONFIGURE
transition and makes information available at START transition. It is
informed by the es_server on stopless recovery action and disables or
enables affected resources.
To survive central relational database service downtime the info
provider stores information to be archived into COOL in a temporal
file, that is picked up by the COOL information archiver (res_info_archiver application).
The archiver application is permanently running in the initial
partition and checks files to be archived each 10".
The archiver application assumes all COOL folders are already created
for user partition and it's ResourcesInfo configuration. Otherwise they
have to be created or updated by the COOL DB creator application (res_info_create_db application),
that needs to be run with schema owner account.
ResourcesInfo Configuration Classes
The ResourcesInfo
configuration is described by objects of 3 new classes described below
and one new relationship added to the Partition class.
The Partition class
references ResourcesInfoConfig
class (see below) via 0..1 ResourcesInfoConfiguration
relationship. The ResourcesInfo is only active, if this relationship is
set.
The ResourcesInfoConfig
class has the following properties:
- boolean attribute ArchiveInCOOL
- archive resources on COOL, if this value is true; otherwise the information
about active resources is published in IS only;
- 1..1 relationship GlobalFolder
referencing an object of the ResourcesInfoDetectorConfig
class (see below) - describes configuration for resources stored on
common folder
- 1..N relationship DetectorFolders
referencing objects of the ResourcesInfoDetectorConfig
class (see below) - describes configuration for resources stored on
detector specific folders
- 0..N relationship DefaultDetectorSubFolders
referencing objects of the ResourcesInfoDetectorFolderConfig
class (see below) - describes default detector folders.
The ResourcesInfoDetectorConfig
class has the following properties:
- string attribute FolderName
- defines name of the detector folder;
- 8 bits unsigned integer attributes SubDetectorMinID and SubDetectorMaxID - define minimum
and maximum event format detector ID for detector associated with
resources or their parent;
- 0..N relationship SubFolders
referencing objects of the ResourcesInfoDetectorFolderConfig
class (see below) - describes detector folders configuration.
The ResourcesInfoDetectorConfig
class has the following properties:
- string attribute FolderName
- defines name of the detector sub-folder;
- multi-string attribute BaseClasses
- defines list of OKS classes; if detector resource's class is equal or
derived from any OKS class of this list, then resource is published in
given sub-folder.
Example Configuration
Below there is an example configuration:
FolderSetName
|
MinID
|
MaxID |
Sub-Folders
Configurations |
PIXEL |
0x11 |
0x13 |
|
TILE |
0x50 |
0x54 |
Tile
specific sub-folders:
|
FolderName |
Base
Classes |
Comments |
RODs |
TileCal_RODModule |
32
object |
Drawers |
TileDrawerModule |
256
objects |
TDAQ_CTP |
0x77 |
0x77 |
|
MUON_MDT |
0x61 |
0x64 |
|
L1CALO |
0x71 |
0x75 |
L1Calo
specific sub-folders:
|
FolderName |
Base
Classes |
Comments |
Modules |
L1caloModule
|
~300
objects of 16 classes |
Connections |
CableConnection
|
~1180
objects of 8 classes |
MUON_SCT |
0x69 |
0x6A |
|
MUON_RPC |
0x65 |
0x66 |
|
MUON_TGC |
0x67 |
0x68 |
|
LAR |
0x41 |
0x48 |
|
FORWARD |
0x81 |
0x84 |
|
SCT |
0x21 |
0x24 |
|
TRT |
0x30 |
0x34 |
|
TDAQ_MUON_CTP |
0x76 |
0x76 |
|
GLOBAL |
-
|
-
|
|
All
Folders
|
Default Folders Config (i.e. for ALL
detectors + GLOBAL):
|
FolderName |
Base
Classes |
Robins |
RobinDataChannel |
Once defined, the configuration should not be changed (at least often).
ResourcesInfo in COOL
The information about enabled resources is stored on several COOL
folders and folders sets:
/TDAQ/EnabledResources/$partition/$detector/$folder
The names of detector folders set and their nested folders correspond
to the ResourcesInfo configuration described above.
Use named channels and IoV = RunNumber:LuminosityBlock:
- the channel name is defined by the OKS resource object ID
- the integer channel ID is arbitrary define by creation order
starting from 1 and remains unchangeable for given partition
- a channel is created, when related OKS resource object is enabled
first time in given partition and first object with open IoV is
inserted in it
- the object's IoV is closed, when resource object is disabled or
removed in given partition
- the IoV is reopen again, when resource object is re-enabled, etc.
Example
If resource X was introduced at run 100, remained enabled until run
200, removed until run 299 and re-enabled at run 300, then the channel
X will store 2 objects with IoV [100,200[ and [300,max[.
A $folder payload contains OKS object class name (COOL string255).
ResourcesInfo in IS
Information about enabled resources is published on "Resources" IS
server running in user partition. Each IS info of type EnabledResource contains
information about single resource, e.g.:
Resources.Enabled:MUON_MDT/Robins/ROL-MDT-BA-00-610000
=> {Class="RobinDataChannel"}
Resources.Enabled:MUON_MDT/Robins/ROL-MDT-BA-00-610001
=>
{Class="RobinDataChannel"}
Resources.Enabled:MUON_MDT/Robins/ROL-MDT-BA-00-610002
=>
{Class="RobinDataChannel"}
Another information (empty InfoResource
type), that can be found on that IS server, contains resources
explictly disabled and enabled by RunControl stopless recovery, e.g.:
Resources.StoplessRecoveryDisabled:ROL-MDT-BA-00-610003 => (null)
Resources.StoplessRecoveryDisabled:ROL-MDT-BA-00-610004 => (null)
How to use on Point-1
To enable the service for user partition:
- Link your partition object via ResourcesInfoConfiguration
relationship with MAIN@ResourcesInfoConfig
object from daq/segments/resources-info.data.xml
file.
- Let to know, if above resources info configuration has to be
extended for your system or detector
- To create COOL folders for your partition use the following
command:
res_info_create_db -c
'oracle://INTR;schema=ATLAS_COOLONL_RESINFO;user=ATLAS_COOLONL_RESINFO;dbname=COMP200'
-p $TDAQ_PARTITION -d oksconfig:$TDAQ_DB_DATA
- To read information from COOL use ATLAS_COOL_READER_U user account