From c4807abf8a11874def14053931a4d12d4220c95e Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Tue, 19 Dec 2023 21:06:23 +0100 Subject: [PATCH] Scheduler-test: planning for stress-tests --- tests/vault/gear/scheduler-stress-test.cpp | 86 +++++++-- wiki/thinkPad.ichthyo.mm | 198 +++++++++++++-------- 2 files changed, 192 insertions(+), 92 deletions(-) diff --git a/tests/vault/gear/scheduler-stress-test.cpp b/tests/vault/gear/scheduler-stress-test.cpp index e47457515..d8250ef8b 100644 --- a/tests/vault/gear/scheduler-stress-test.cpp +++ b/tests/vault/gear/scheduler-stress-test.cpp @@ -26,9 +26,14 @@ #include "lib/test/run.hpp" +#include "test-chain-load.hpp" #include "vault/gear/scheduler.hpp" -//#include "lib/time/timevalue.hpp" -//#include "lib/format-cout.hpp" +#include "lib/time/timevalue.hpp" +#include "lib/format-cout.hpp" +#include "lib/test/diagnostic-output.hpp"//////////////////////////TODO work in distress +//#include "lib/format-string.hpp" +//#include "lib/test/transiently.hpp" +//#include "lib/test/microbenchmark.hpp" //#include "lib/util.hpp" //#include @@ -46,6 +51,10 @@ namespace test { // using lib::time::Offset; // using lib::time::Time; + namespace { // Test definitions and setup... + + } + @@ -62,36 +71,83 @@ namespace test { virtual void run (Arg) { - simpleUsage(); + smokeTest(); + generalFuckup(); walkingDeadline(); - setupLalup(); } - /** @test TODO demonstrate a simple usage scenario + /** @test TODO demonstrate sustained operation under load + * @todo WIP 12/23 🔁 define ⟶ implement */ void - simpleUsage() + smokeTest() { + MARK_TEST_FUN + TestChainLoad testLoad{64}; + testLoad.configureShape_chain_loadBursts() + .buildToplolgy(); + + auto stats = testLoad.computeGraphStatistics(); + cout << _Fmt{"Test-Load: Nodes: %d Levels: %d ∅Node/Level: %3.1f Forks: %d Joins: %d"} + % stats.nodes + % stats.levels + % stats.indicators[STAT_NODE].pL + % stats.indicators[STAT_FORK].cnt + % stats.indicators[STAT_JOIN].cnt + << endl; + + // while building the calculation-plan graph + // node hashes were computed, observing dependencies + size_t expectedHash = testLoad.getHash(); + + // some jobs/nodes are marked with a weight-step + // these can be instructed to spend some CPU time + auto LOAD_BASE = 500us; + testLoad.performGraphSynchronously(LOAD_BASE); + CHECK (testLoad.getHash() == expectedHash); + + double referenceTime = testLoad.calcRuntimeReference(LOAD_BASE); + cout << "refTime(singleThr): "< - - + + @@ -79992,10 +79992,10 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- - + + - + @@ -80103,15 +80103,17 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + - + + + @@ -80151,8 +80153,22 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + + + + + +

+ ...und wird daher auf Implementierungs-Ebene im »ExecutionCtx« gesetzt und weitergegeben; im einzelnen Activity-Record ist diese Information nicht vorhanden und meist auch nicht relevant +

+ +
+ +
+ + +
@@ -80277,7 +80293,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -80465,8 +80481,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- - + + @@ -80488,10 +80504,10 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + - - + + @@ -80673,7 +80689,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -80684,8 +80700,9 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + + @@ -80699,6 +80716,9 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
+ + +
@@ -80708,7 +80728,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -80861,9 +80881,9 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + - + @@ -81576,7 +81596,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + + @@ -81652,7 +81673,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -81663,7 +81684,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + + @@ -81744,7 +81766,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -81897,7 +81919,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -82013,7 +82035,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -82994,8 +83016,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- - + + @@ -83320,12 +83342,12 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- - + + - + @@ -83333,11 +83355,11 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- - + + - + @@ -83359,8 +83381,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- - + + @@ -83374,7 +83396,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -83411,7 +83433,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -83432,7 +83454,6 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- @@ -83851,6 +83872,9 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
+ + + @@ -83863,8 +83887,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- - + + @@ -84656,9 +84680,9 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + - + @@ -89871,7 +89895,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -89946,7 +89970,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -89956,8 +89980,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- - + + @@ -90076,7 +90100,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -90104,6 +90128,9 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
+ + +
@@ -91163,7 +91190,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -91229,7 +91256,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -91237,7 +91264,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -91662,7 +91689,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -93845,13 +93872,13 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + - + @@ -93924,7 +93951,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -94072,7 +94099,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -96737,14 +96764,14 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + - + - - + + @@ -96752,7 +96779,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -96763,7 +96790,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -96784,6 +96811,21 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
+ + + + + + + + + + + + + + +
@@ -103486,7 +103528,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + + @@ -103496,7 +103539,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -103544,7 +103587,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -103719,7 +103762,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -103767,7 +103810,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -103829,7 +103872,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -103982,6 +104025,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
+ @@ -104051,7 +104095,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -104143,7 +104187,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -104171,7 +104215,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -105138,7 +105182,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- + @@ -105161,10 +105205,10 @@ Date:   Thu Apr 20 18:53:17 2023 +0200
- - - - + + + + @@ -113743,9 +113787,9 @@ unsigned int ThreadIdAsInt = *static_cast<unsigned int*>(static_cast<vo - + - +