Scheduler-test: press harder with long and massive graph
...observing multiple failures, which seem to be interconnected - the test-setup with the planning chunk pre-roll is insufficient - basically it is not possible to perform further concurrent planning, without getting behind the actual schedule; at least in the setup with DUMP print statements (which slowdown everything) - muliple chained re-entrant calls into the planning function can result - the **ASSERTION in the Allocator** was triggered again - the log+stacktrace indicate that there **is still a Gap** in the logic to protect the allocations via Grooming-Token
This commit is contained in:
parent
2cd51fa714
commit
90ab20be61
3 changed files with 819 additions and 123 deletions
|
|
@ -84,10 +84,11 @@ namespace test {
|
|||
smokeTest()
|
||||
{
|
||||
MARK_TEST_FUN
|
||||
TestChainLoad testLoad{128};
|
||||
TestChainLoad testLoad{512};
|
||||
testLoad.configureShape_chain_loadBursts()
|
||||
.buildToplolgy()
|
||||
.printTopologyDOT();
|
||||
// .printTopologyDOT()
|
||||
;
|
||||
|
||||
auto stats = testLoad.computeGraphStatistics();
|
||||
cout << _Fmt{"Test-Load: Nodes: %d Levels: %d ∅Node/Level: %3.1f Forks: %d Joins: %d"}
|
||||
|
|
@ -120,7 +121,8 @@ namespace test {
|
|||
double performanceTime =
|
||||
testLoad.setupSchedule(scheduler)
|
||||
.withLoadTimeBase(LOAD_BASE)
|
||||
.withJobDeadline(50ms)
|
||||
.withJobDeadline(100ms)
|
||||
.withChunkSize(20)
|
||||
.launch_and_wait();
|
||||
|
||||
cout << "runTime(Scheduler): "<<performanceTime/1000<<"ms"<<endl;
|
||||
|
|
|
|||
|
|
@ -166,7 +166,7 @@ namespace test {
|
|||
const double LOAD_SPEED_BASELINE = 100; ///< initial assumption for calculation speed (without calibration)
|
||||
const microseconds LOAD_DEFAULT_TIME = 100us; ///< default time delay produced by ComputationalLoad at `Node.weight==1`
|
||||
const size_t LOAD_DEFAULT_MEM_SIZE = 1000; ///< default allocation base size used if ComputationalLoad.useAllocation
|
||||
const microseconds PLANNING_TIME_PER_NODE = 80us; ///< time budget to reserve for each node to be planned and scheduled
|
||||
const microseconds PLANNING_TIME_PER_NODE = 400us; ///< time budget to reserve for each node to be planned and scheduled
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue