| The Gaudi Framework v28r2-patches (bc4ad17a)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Namespace List
- Namespace Members

Variables
ForwardSchedulerSimpleTest Namespace Reference

## Variables
int | evtslots = 23
int | evtMax = 50
int | cardinality = 10
int | algosInFlight = 10
| whiteboard
| slimeventloopmgr = HiveSlimEventLoopMgr(OutputLevel=DEBUG)
| 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)
string | msgFmt = "% F%30W%S%4W%s%e%15W%X%7W%R%T %0W%M"
| msgSvc = InertMessageSvc("MessageSvc",OutputLevel=INFO)
| Format
| EvtMax
| EvtSel
| ExtSvc
| EventLoop
| TopAlg
| MessageSvcType

## Detailed Description

    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 ForwardSchedulerSvc: 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.

## Variable Documentation

ForwardSchedulerSimpleTest.a1 = CPUCruncher("A1")

Definition at line 80 of file ForwardSchedulerSimpleTest.py.

ForwardSchedulerSimpleTest.a2 = CPUCruncher("A2")

Definition at line 83 of file ForwardSchedulerSimpleTest.py.

ForwardSchedulerSimpleTest.a3 = CPUCruncher("A3")

Definition at line 87 of file ForwardSchedulerSimpleTest.py.

ForwardSchedulerSimpleTest.a4 = CPUCruncher("A4")

Definition at line 91 of file ForwardSchedulerSimpleTest.py.

int ForwardSchedulerSimpleTest.algosInFlight = 10

Definition at line 41 of file ForwardSchedulerSimpleTest.py.

ForwardSchedulerSimpleTest.avgRuntime

Definition at line 100 of file ForwardSchedulerSimpleTest.py.

int ForwardSchedulerSimpleTest.cardinality = 10

Definition at line 40 of file ForwardSchedulerSimpleTest.py.

ForwardSchedulerSimpleTest.Cardinality

Definition at line 97 of file ForwardSchedulerSimpleTest.py.

ForwardSchedulerSimpleTest.ctrd = ContextEventCounterData("CNT&", Cardinality=0, OutputLevel=INFO)

Definition at line 103 of file ForwardSchedulerSimpleTest.py.

ForwardSchedulerSimpleTest.ctrp = ContextEventCounterPtr("CNT*", Cardinality=0, OutputLevel=INFO)

Definition at line 102 of file ForwardSchedulerSimpleTest.py.

ForwardSchedulerSimpleTest.EventLoop

Definition at line 120 of file ForwardSchedulerSimpleTest.py.

int ForwardSchedulerSimpleTest.evtMax = 50

Definition at line 39 of file ForwardSchedulerSimpleTest.py.

ForwardSchedulerSimpleTest.EvtMax

Definition at line 117 of file ForwardSchedulerSimpleTest.py.

ForwardSchedulerSimpleTest.EvtSel

Definition at line 118 of file ForwardSchedulerSimpleTest.py.

int ForwardSchedulerSimpleTest.evtslots = 23

Definition at line 38 of file ForwardSchedulerSimpleTest.py.

ForwardSchedulerSimpleTest.ExtSvc

Definition at line 119 of file ForwardSchedulerSimpleTest.py.

ForwardSchedulerSimpleTest.Format

Definition at line 113 of file ForwardSchedulerSimpleTest.py.

ForwardSchedulerSimpleTest.inpKeys

Definition at line 84 of file ForwardSchedulerSimpleTest.py.

ForwardSchedulerSimpleTest.MessageSvcType

Definition at line 122 of file ForwardSchedulerSimpleTest.py.

string ForwardSchedulerSimpleTest.msgFmt = "% F%30W%S%4W%s%e%15W%X%7W%R%T %0W%M"

Definition at line 110 of file ForwardSchedulerSimpleTest.py.

ForwardSchedulerSimpleTest.msgSvc = InertMessageSvc("MessageSvc",OutputLevel=INFO)

Definition at line 112 of file ForwardSchedulerSimpleTest.py.

ForwardSchedulerSimpleTest.outKeys

Definition at line 81 of file ForwardSchedulerSimpleTest.py.

ForwardSchedulerSimpleTest.OutputLevel

Definition at line 74 of file ForwardSchedulerSimpleTest.py.

ForwardSchedulerSimpleTest.scheduler

Initial value:
1 = ForwardSchedulerSvc(MaxAlgosInFlight = algosInFlight,
2 ThreadPoolSize = algosInFlight,
3 OutputLevel=WARNING)
ForwardSchedulerSvc
The SchedulerSvc implements the IScheduler interface.
Definition: ForwardSchedulerSvc.h:83

Definition at line 66 of file ForwardSchedulerSimpleTest.py.

ForwardSchedulerSimpleTest.shortCalib

Definition at line 96 of file ForwardSchedulerSimpleTest.py.

ForwardSchedulerSimpleTest.slimeventloopmgr = HiveSlimEventLoopMgr(OutputLevel=DEBUG)

Definition at line 57 of file ForwardSchedulerSimpleTest.py.

ForwardSchedulerSimpleTest.TopAlg

Definition at line 121 of file ForwardSchedulerSimpleTest.py.

ForwardSchedulerSimpleTest.varRuntime

Definition at line 99 of file ForwardSchedulerSimpleTest.py.

ForwardSchedulerSimpleTest.whiteboard

Initial value:
1 = HiveWhiteBoard("EventDataSvc",
2 EventSlots = evtslots)
HiveWhiteBoard
Data service base class.
Definition: HiveWhiteBoard.cpp:95

Definition at line 48 of file ForwardSchedulerSimpleTest.py.