The Gaudi Framework  master (a36dfcab)
Loading...
Searching...
No Matches
BrunelScenarioAvalancheScheduler.py
Go to the documentation of this file.
1#!/usr/bin/env gaudirun.py
2
12
13from Configurables import (
14 AlgResourcePool,
15 AvalancheSchedulerSvc,
16 CPUCrunchSvc,
17 HiveSlimEventLoopMgr,
18 HiveWhiteBoard,
19)
20from Gaudi.Configuration import *
21
22# convenience machinery for assembling custom graphs of algorithm precedence rules (w/ CPUCrunchers as algorithms)
23from GaudiHive import precedence
24
25# metaconfig
26evtslots = 1
27evtMax = 1
28cardinality = 1
29algosInFlight = 4
30algoAvgTime = 0.02
31
32InertMessageSvc(OutputLevel=INFO)
33
34whiteboard = HiveWhiteBoard(
35 "EventDataSvc", EventSlots=evtslots, OutputLevel=INFO, ForceLeaves=True
36)
37
38slimeventloopmgr = HiveSlimEventLoopMgr(
39 SchedulerName="AvalancheSchedulerSvc", OutputLevel=INFO
40)
41
43 ThreadPoolSize=algosInFlight,
44 OutputLevel=DEBUG,
45 Optimizer="DRE",
46 DumpIntraEventDynamics=False,
47)
48
49AlgResourcePool(OutputLevel=DEBUG)
50
51CPUCrunchSvc(shortCalib=True)
52
53timeValue = precedence.UniformTimeValue(avgRuntime=algoAvgTime)
54# timeValue = precedence.RealTimeValue(
55# path="lhcb/reco/timing.Brunel.1kE.json", defaultTime=0.0)
57# 296 values, biased approximately as 90% to 10% - corresponds to the .GRAPHML scenario used below
58# (295 precedence graph algorithms, plus one fake algorithm - FetchFromFile)
59# ifIObound = precedence.RndBiasedBoolenValue(pattern = {True: 29, False: 267}, seed=1)
60
62 timeValue,
63 ifIObound,
64 sleepFraction=0.0,
65 cfgPath="lhcb/reco/cf.Brunel.graphml",
66 dfgPath="lhcb/reco/df.Brunel.graphml",
67 topSequencer="BrunelSequencer",
68).get()
69
71 EvtMax=evtMax,
72 EvtSel="NONE",
73 ExtSvc=[whiteboard],
74 EventLoop=slimeventloopmgr,
75 TopAlg=[sequencer],
76 MessageSvcType="InertMessageSvc",
77 OutputLevel=INFO,
78)
The AlgResourcePool is a concrete implementation of the IAlgResourcePool interface.
The Application Manager class.
Data service base class.
Thread safe extension to the standard MessageSvc.