The Gaudi Framework
v30r3 (a5ef0a68)
|
Variables | |
int | evtslots = 23 |
int | evtMax = 50 |
int | cardinality = 10 |
int | threads = 10 |
whiteboard | |
slimeventloopmgr | |
scheduler | |
OutputLevel | |
a1 = CPUCruncher("A1") | |
outKeys | |
a2 = CPUCruncher("A2") | |
inpKeys | |
a3 = CPUCruncher("A3") | |
a4 = CPUCruncher("A4") | |
shortCalib | |
Cardinality | |
varRuntime | |
avgRuntime | |
ctrp = ContextEventCounterPtr("CNT*", Cardinality=0, OutputLevel=INFO) | |
ctrd = ContextEventCounterData("CNT&", Cardinality=0, OutputLevel=INFO) | |
EvtMax | |
EvtSel | |
ExtSvc | |
EventLoop | |
TopAlg | |
MessageSvcType | |
Reference optionfile which shows in a simple way how to take advantage of the Gaudi components desicated to concurrency. The components are: o HiveWhiteBoard: a convenient way to collect several TES (one per "processing slot"), accessible in a thread safe way, keeps a catalogue of the products written on each processing slot. The number of slots in the whiteboard determines also the number of events processed simultaneously by the scheduler. o AvalancheSchedulerSvc: state machine of the algorithms interfaced with the TBB runtime. It is responsible for the submission of the algorithms. An algorithm is marked ready for submission when its needed input is available. It deals the asynchronous termination of algorithms with a "receiver" thread and a thread safe queue. o HiveSlimEventLoopMgr: an event factory. Pushes new events and pops finished events to/from the scheduler. It does not manage algorithms/streams. o AlgResourcePool: Service managing the creation of algorithms (through the algorithm manager), including clones. It also manages the algorithms according to the resources they need (parameter NeededResources - vector of strings - of the Algorithm class). o InertMessageSvc: as the TBBMsgSvc, it manages the printing of the messages in a multithreaded environment. The CPUCruncher is not a component dealing with concurrency, but a useful entity to test it. It's an algorithm that simply wastes cpu.
AvalancheSchedulerSimpleTest.a1 = CPUCruncher("A1") |
Definition at line 80 of file AvalancheSchedulerSimpleTest.py.
AvalancheSchedulerSimpleTest.a2 = CPUCruncher("A2") |
Definition at line 83 of file AvalancheSchedulerSimpleTest.py.
AvalancheSchedulerSimpleTest.a3 = CPUCruncher("A3") |
Definition at line 87 of file AvalancheSchedulerSimpleTest.py.
AvalancheSchedulerSimpleTest.a4 = CPUCruncher("A4") |
Definition at line 91 of file AvalancheSchedulerSimpleTest.py.
AvalancheSchedulerSimpleTest.avgRuntime |
Definition at line 100 of file AvalancheSchedulerSimpleTest.py.
int AvalancheSchedulerSimpleTest.cardinality = 10 |
Definition at line 40 of file AvalancheSchedulerSimpleTest.py.
AvalancheSchedulerSimpleTest.Cardinality |
Definition at line 97 of file AvalancheSchedulerSimpleTest.py.
AvalancheSchedulerSimpleTest.ctrd = ContextEventCounterData("CNT&", Cardinality=0, OutputLevel=INFO) |
Definition at line 103 of file AvalancheSchedulerSimpleTest.py.
AvalancheSchedulerSimpleTest.ctrp = ContextEventCounterPtr("CNT*", Cardinality=0, OutputLevel=INFO) |
Definition at line 102 of file AvalancheSchedulerSimpleTest.py.
AvalancheSchedulerSimpleTest.EventLoop |
Definition at line 111 of file AvalancheSchedulerSimpleTest.py.
int AvalancheSchedulerSimpleTest.evtMax = 50 |
Definition at line 39 of file AvalancheSchedulerSimpleTest.py.
AvalancheSchedulerSimpleTest.EvtMax |
Definition at line 108 of file AvalancheSchedulerSimpleTest.py.
AvalancheSchedulerSimpleTest.EvtSel |
Definition at line 109 of file AvalancheSchedulerSimpleTest.py.
int AvalancheSchedulerSimpleTest.evtslots = 23 |
Definition at line 38 of file AvalancheSchedulerSimpleTest.py.
AvalancheSchedulerSimpleTest.ExtSvc |
Definition at line 110 of file AvalancheSchedulerSimpleTest.py.
AvalancheSchedulerSimpleTest.inpKeys |
Definition at line 84 of file AvalancheSchedulerSimpleTest.py.
AvalancheSchedulerSimpleTest.MessageSvcType |
Definition at line 113 of file AvalancheSchedulerSimpleTest.py.
AvalancheSchedulerSimpleTest.outKeys |
Definition at line 81 of file AvalancheSchedulerSimpleTest.py.
AvalancheSchedulerSimpleTest.OutputLevel |
Definition at line 74 of file AvalancheSchedulerSimpleTest.py.
AvalancheSchedulerSimpleTest.scheduler |
Definition at line 67 of file AvalancheSchedulerSimpleTest.py.
AvalancheSchedulerSimpleTest.shortCalib |
Definition at line 96 of file AvalancheSchedulerSimpleTest.py.
AvalancheSchedulerSimpleTest.slimeventloopmgr |
Definition at line 57 of file AvalancheSchedulerSimpleTest.py.
int AvalancheSchedulerSimpleTest.threads = 10 |
Definition at line 41 of file AvalancheSchedulerSimpleTest.py.
AvalancheSchedulerSimpleTest.TopAlg |
Definition at line 112 of file AvalancheSchedulerSimpleTest.py.
AvalancheSchedulerSimpleTest.varRuntime |
Definition at line 99 of file AvalancheSchedulerSimpleTest.py.
AvalancheSchedulerSimpleTest.whiteboard |
Definition at line 48 of file AvalancheSchedulerSimpleTest.py.