All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
GraphSchedulerSimpleTest 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)
 
 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

GraphSchedulerSimpleTest.a1 = CPUCruncher("A1")

Definition at line 81 of file GraphSchedulerSimpleTest.py.

GraphSchedulerSimpleTest.a2 = CPUCruncher("A2")

Definition at line 84 of file GraphSchedulerSimpleTest.py.

GraphSchedulerSimpleTest.a3 = CPUCruncher("A3")

Definition at line 88 of file GraphSchedulerSimpleTest.py.

GraphSchedulerSimpleTest.a4 = CPUCruncher("A4")

Definition at line 92 of file GraphSchedulerSimpleTest.py.

int GraphSchedulerSimpleTest.algosInFlight = 10

Definition at line 41 of file GraphSchedulerSimpleTest.py.

GraphSchedulerSimpleTest.avgRuntime

Definition at line 101 of file GraphSchedulerSimpleTest.py.

int GraphSchedulerSimpleTest.cardinality = 10

Definition at line 40 of file GraphSchedulerSimpleTest.py.

GraphSchedulerSimpleTest.Cardinality

Definition at line 98 of file GraphSchedulerSimpleTest.py.

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

Definition at line 104 of file GraphSchedulerSimpleTest.py.

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

Definition at line 103 of file GraphSchedulerSimpleTest.py.

GraphSchedulerSimpleTest.EventLoop

Definition at line 112 of file GraphSchedulerSimpleTest.py.

int GraphSchedulerSimpleTest.evtMax = 50

Definition at line 39 of file GraphSchedulerSimpleTest.py.

GraphSchedulerSimpleTest.EvtMax

Definition at line 109 of file GraphSchedulerSimpleTest.py.

GraphSchedulerSimpleTest.EvtSel

Definition at line 110 of file GraphSchedulerSimpleTest.py.

int GraphSchedulerSimpleTest.evtslots = 23

Definition at line 38 of file GraphSchedulerSimpleTest.py.

GraphSchedulerSimpleTest.ExtSvc

Definition at line 111 of file GraphSchedulerSimpleTest.py.

GraphSchedulerSimpleTest.inpKeys

Definition at line 85 of file GraphSchedulerSimpleTest.py.

GraphSchedulerSimpleTest.MessageSvcType

Definition at line 114 of file GraphSchedulerSimpleTest.py.

GraphSchedulerSimpleTest.outKeys

Definition at line 82 of file GraphSchedulerSimpleTest.py.

GraphSchedulerSimpleTest.OutputLevel

Definition at line 75 of file GraphSchedulerSimpleTest.py.

GraphSchedulerSimpleTest.scheduler
Initial value:
1 = ForwardSchedulerSvc(MaxAlgosInFlight = algosInFlight,
2  ThreadPoolSize = algosInFlight,
3  useGraphFlowManagement = True,
4  OutputLevel=WARNING)
The SchedulerSvc implements the IScheduler interface.

Definition at line 66 of file GraphSchedulerSimpleTest.py.

GraphSchedulerSimpleTest.shortCalib

Definition at line 97 of file GraphSchedulerSimpleTest.py.

GraphSchedulerSimpleTest.slimeventloopmgr = HiveSlimEventLoopMgr(OutputLevel=DEBUG)

Definition at line 57 of file GraphSchedulerSimpleTest.py.

GraphSchedulerSimpleTest.TopAlg

Definition at line 113 of file GraphSchedulerSimpleTest.py.

GraphSchedulerSimpleTest.varRuntime

Definition at line 100 of file GraphSchedulerSimpleTest.py.

GraphSchedulerSimpleTest.whiteboard
Initial value:
1 = HiveWhiteBoard("EventDataSvc",
2  EventSlots = evtslots)
Data service base class.

Definition at line 48 of file GraphSchedulerSimpleTest.py.