Lumiera
0.pre.03
»edit your freedom«
|
#include "/Werk/devel/lumi/tests/vault/gear/stress-test-rig.hpp"
Configurable template framework for running Scheduler Stress tests Use to build a custom setup class, which is then injected to perform a specific measurement tool. Several tools and detailed customisations are available in namespace bench
Definition at line 174 of file stress-test-rig.hpp.
Public Types | |
using | TestLoad = TestChainLoad< maxFan > |
using | TestSetup = typename TestLoad::ScheduleCtx |
Static Public Member Functions | |
template<class CONF > | |
static auto | with () |
Entrance Point: build a stress test measurement setup using a dedicated TOOL class, takes the configuration CONF as template parameter and which is assumed to inherit (indirectly) from StressRig. More... | |
Static Public Attributes | |
static uint constexpr | REPETITIONS {20} |
Public Attributes | |
BlockFlowAlloc | bFlow {} |
uint | CONCURRENCY = work::Config::getDefaultComputationCapacity() |
double | EPSILON = 0.01 |
error bound to abort binary search | |
double | FAIL_LIMIT = 2.0 |
delta-limit when to count a run as failure | |
bool | INSTRUMENTATION = true |
Scheduler | scheduler {bFlow, watch} |
bool | showRef = true |
calculate single threaded reference time | |
bool | showRes = true |
print result data | |
bool | showRuns = false |
print a line for each individual run | |
bool | showStep = true |
print a line for each binary search step | |
double | TRIGGER_DELTA = 2*FAIL_LIMIT |
in ms : criterion-3 average delta above this limit | |
double | TRIGGER_FAIL = 0.55 |
%-fact: criterion-1 failures above this rate | |
double | TRIGGER_SDEV = FAIL_LIMIT |
in ms : criterion-2 standard derivation | |
double | UPPER_STRESS = 1.7 |
starting point for the upper limit, likely to fail | |
EngineObserver | watch {} |
Classes | |
struct | Launcher |
Protected Member Functions | |
auto | testLoad (size_t nodes=64) |
Extension point: build the computation topology for this test. | |
auto | testSetup (TestLoad &testLoad) |
(optional) extension point: base configuration of the test ScheduleCtx More... | |
Additional Inherited Members | |
Private Member Functions inherited from NonCopyable | |
NonCopyable (NonCopyable const &)=delete | |
NonCopyable & | operator= (NonCopyable const &)=delete |
|
inlinestatic |
Entrance Point: build a stress test measurement setup using a dedicated TOOL class, takes the configuration CONF as template parameter and which is assumed to inherit (indirectly) from StressRig.
CONF | specialised subclass of StressRig with customisation |
Definition at line 191 of file stress-test-rig.hpp.
References Config::getDefaultComputationCapacity().
|
inlineprotected |
(optional) extension point: base configuration of the test ScheduleCtx
Definition at line 231 of file stress-test-rig.hpp.
References TestChainLoad< maxFan >::setupSchedule().
Referenced by SchedulerStress_test::investigateWorkProcessing(), BreakingPoint< CONF >::maybeAdaptScaleEmpirically(), and SchedulerStress_test::search_breaking_point().