|tag name||v0.5-ref1303 (97bb578a5a24e33de5fe6e2cfe320fa62596a250)|
|tag date||2013-04-03 22:20:13 +0200|
|tagged by||Danilo Piparo <email@example.com>|
|tagged object||commit a60dcc54b3...|
o Algorithm class modified in order to store the algorithm type, store the data dependencies in form of data object handles, host the event context, switch to the correct whiteboard slot in presence of the event context in sysExecute. o HiveWhiteBoard service added. This service acts as a "manyfold" event store and allows the treatment of multiple events simultaneously. It provides thread safe object registration and access. o HiveFwdSchedulerSvc added. Implementing the IScheduler interface, this service is a simple state machine which takes care of the submission of the algorithms (wrapped in a AlgoExecutionTask) to the TBB runtime according to the presence of their data dependencies and decisions linked to the control flow. Two helper classes are used to achieve this goal, the DataFlowManager and the ControlFlowManager. o AlgResourcePool service added. Provides algorithms instances and clones. Manages the states of the algorithms (calls to initialise, resetExecuted, finalize...). It "flattens" the top algorithms list and deduces the control flow from the sequencers provided. o HiveSlimEventLoopMgr class added. This is a simple version of the eventLoopMgr which just acts as an event factory and communicate with the scheduler svc via the IScheduler interface. o HiveReadAlgorithm algorithm added. A fundamental piece to achieve forward scheduling. With no data nor control flow dependencies, this algorithm is used to preload the content of an input file into the whiteboard. o DataObjectHandler class added. It allows the declaration of the input and output data objects of an algorithm. o concurrentRun.exe executable added to avoid to steer the application execution with Python. o CPUCruncher algorithm added. It crunches CPU for a certain amount of time finding prime numbers using an inefficient algorithm. It is calibrated to emulate a real machine load. o HiveEventLoopMgr class added. Legacy: the class was part of the very first prototype, able only to run CPUCrunchers. It is in the repository to perform comparisons and reproduce the old results if needed. o Athena Reco, Brunel and CMSSW Reco scenarios added. Emulate these real workflows with number crunching algorithms. Necessary to study the projected application behaviour. o InertMsgSvc service added. A thread safe, lightweight msg service not using the TBB runtime. o compareRootHistos.py refurbished, made faster (no pvalues spurious recalculation) and and able to compare histograms bin by bin. o SeqSchedSvc service added. A scheduler that schedules sequentially the algorithms. It works with the HiveSlimEventLoopMgr for testing purposes.