Scheduler-test: stable-state run > 1sec
This test completes the stress-testing effort and summarises the findings * Scheduler performs within relevant parameter range without significant overhead * Scheduler can operate with full load in stable state, with 100% correct result
This commit is contained in:
parent
177e241060
commit
a46449d5ac
2 changed files with 150 additions and 67 deletions
|
|
@ -515,6 +515,48 @@ cout << "time="<<runTime/1000
|
|||
SHOW_EXPR(stress)
|
||||
SHOW_EXPR(delta)
|
||||
SHOW_EXPR(time)
|
||||
|
||||
/* ========== verify extended stable operation ============== */
|
||||
|
||||
// Use the same pattern, but extended to 4 times the length;
|
||||
// moreover, this time planning and execution will be interviened.
|
||||
TestChainLoad<8> testLoad{1024};
|
||||
testLoad.seedingRule(testLoad.rule().probability(0.6).maxVal(2))
|
||||
.pruningRule(testLoad.rule().probability(0.44))
|
||||
.weightRule(testLoad.value(1))
|
||||
.setSeed(60)
|
||||
.buildTopology()
|
||||
// .printTopologyDOT()
|
||||
// .printTopologyStatistics()
|
||||
;
|
||||
size_t expectedHash = testLoad.getHash();
|
||||
|
||||
TRANSIENTLY(work::Config::COMPUTATION_CAPACITY) = 4;
|
||||
BlockFlowAlloc bFlow;
|
||||
EngineObserver watch;
|
||||
Scheduler scheduler{bFlow, watch};
|
||||
|
||||
auto testSetup =
|
||||
testLoad.setupSchedule(scheduler)
|
||||
.withLoadTimeBase(5ms)
|
||||
.withJobDeadline(50ms) // ◁───────────────────── deadline is way shorter than overall run time
|
||||
.withChunkSize(32) // ◁───────────────────── planning of the next 32 nodes interleaved with performance
|
||||
.withInstrumentation()
|
||||
.withAdaptedSchedule (1.0, 4); // ◁───────────────────── stress factor 1.0 and 4 workers
|
||||
double runTime = testSetup.launch_and_wait();
|
||||
auto stat = testSetup.getInvocationStatistic();
|
||||
|
||||
SHOW_EXPR(runTime)
|
||||
SHOW_EXPR(stat.activeTime);
|
||||
SHOW_EXPR(stat.coveredTime);
|
||||
SHOW_EXPR(stat.activationCnt);
|
||||
SHOW_EXPR(stat.avgConcurrency);
|
||||
SHOW_EXPR(expectedHash)
|
||||
SHOW_EXPR(testLoad.getHash());
|
||||
CHECK (stat.activationCnt == 1024);
|
||||
CHECK (expectedHash == testLoad.getHash());
|
||||
CHECK (3.2 < stat.avgConcurrency);
|
||||
CHECK (stat.coveredTime < 5 * time*1000);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -96143,10 +96143,10 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node CREATED="1688337200875" ID="ID_1251284763" MODIFIED="1697735887738" TEXT="Nonfunktionale Anforderungen">
|
||||
<icon BUILTIN="info"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1697473158929" ID="ID_555722340" MODIFIED="1697493162215" TEXT="Aufgaben">
|
||||
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1697473158929" ID="ID_555722340" MODIFIED="1713396227433" TEXT="Aufgaben">
|
||||
<icon BUILTIN="yes"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1697733005253" ID="ID_284566035" MODIFIED="1697735902191" TEXT="Leerlauf-Stresstest">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#5b280f" CREATED="1697733005253" ID="ID_284566035" MODIFIED="1713396251815" TEXT="Leerlauf-Stresstest">
|
||||
<icon BUILTIN="button_cancel"/>
|
||||
<node CREATED="1697733279313" ID="ID_1511632308" MODIFIED="1697734150888" TEXT="Ziel: Feststellen des Implementierungs-Overhead">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
|
|
@ -96203,9 +96203,33 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#5b280f" CREATED="1713396243570" ID="ID_1225850212" MODIFIED="1713396266285">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Fazit: ist direkt <b>nicht möglich</b>
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<icon BUILTIN="forward"/>
|
||||
<node CREATED="1713396268468" ID="ID_1180690858" MODIFIED="1713396289347" TEXT="im leer laufende Scheduler tritt massive Contention auf"/>
|
||||
<node CREATED="1713396290001" ID="ID_1399024004" MODIFIED="1713396304675" TEXT="deshalb reguliert dieser sofort die Work-Load herunter"/>
|
||||
<node CREATED="1713396308295" ID="ID_817984974" MODIFIED="1713396320382" TEXT="man kann einen Scheduling-Overhead nur indirekt messen">
|
||||
<node CREATED="1713396322917" ID="ID_381455857" MODIFIED="1713396332136" TEXT="und zwar durch lineare Regression"/>
|
||||
<node CREATED="1713396333100" ID="ID_1578509446" MODIFIED="1713396339430" TEXT="sowie durch Einzel-Instrumentierung"/>
|
||||
<node CREATED="1713396340803" ID="ID_8366028" MODIFIED="1713396389818" TEXT="Ergebnisse">
|
||||
<icon BUILTIN="forward"/>
|
||||
<node CREATED="1713396344594" ID="ID_959505542" MODIFIED="1713396358148" TEXT="Debug-Build: 100µs / Job Admin-Overhead"/>
|
||||
<node CREATED="1713396359704" ID="ID_778877296" MODIFIED="1713396551365" TEXT="Lastspitze: Sockel-Latenz 5ms">
|
||||
<arrowlink COLOR="#366e86" DESTINATION="ID_1180966664" ENDARROW="Default" ENDINCLINATION="2713;-145;" ID="Arrow_ID_36903408" STARTARROW="None" STARTINCLINATION="769;75;"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1697733137628" ID="ID_1249232397" MODIFIED="1697733148339" TEXT="Dependency-Notification-Stresstest">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1697733137628" ID="ID_1249232397" MODIFIED="1713396220589" TEXT="Dependency-Notification-Stresstest">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1697733314115" ID="ID_537940927" MODIFIED="1697736103683" TEXT="Ziel: Overhead exzessiv vernetzter Activities">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
|
|
@ -96217,20 +96241,23 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</html></richcontent>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1697733236455" ID="ID_698621499" MODIFIED="1713110634092" TEXT="Realistic Full-Load Test">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node CREATED="1697733438012" ID="ID_18653531" MODIFIED="1697733448582" TEXT="Ziel: Vollast unter Zeitbeschränkung"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1704765993176" ID="ID_549174207" MODIFIED="1713110710552" TEXT="Zwischenziel: hohe Auslastung im Test erreichen">
|
||||
<node COLOR="#338800" CREATED="1697733236455" ID="ID_698621499" MODIFIED="1713396215222" TEXT="Realistic Full-Load Test">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#435e98" CREATED="1697733438012" ID="ID_18653531" MODIFIED="1713396679603" TEXT="Ziel: Vollast unter Zeitbeschränkung">
|
||||
<arrowlink COLOR="#2b4ed5" DESTINATION="ID_180484606" ENDARROW="Default" ENDINCLINATION="-1521;-88;" ID="Arrow_ID_994676785" STARTARROW="None" STARTINCLINATION="1715;133;"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
<node COLOR="#435e98" CREATED="1704765993176" ID="ID_549174207" MODIFIED="1713396212604" TEXT="Zwischenziel: hohe Auslastung im Test erreichen">
|
||||
<arrowlink COLOR="#3832ae" DESTINATION="ID_161148852" ENDARROW="Default" ENDINCLINATION="-712;-56;" ID="Arrow_ID_1703930922" STARTARROW="None" STARTINCLINATION="333;19;"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1704765993176" ID="ID_1479474389" MODIFIED="1713110700090" TEXT="Ziel: Auslastung kontrolliert aufrechterhalten">
|
||||
<node COLOR="#435e98" CREATED="1704765993176" ID="ID_1479474389" MODIFIED="1713396212604" TEXT="Ziel: Auslastung kontrolliert aufrechterhalten">
|
||||
<arrowlink COLOR="#3832ae" DESTINATION="ID_1350821310" ENDARROW="Default" ENDINCLINATION="-712;-56;" ID="Arrow_ID_320251207" STARTARROW="None" STARTINCLINATION="289;17;"/>
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1697736109528" ID="ID_1697493338" MODIFIED="1697736119264" TEXT="Correctness under Load">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1697736109528" ID="ID_1697493338" MODIFIED="1713396224580" TEXT="Correctness under Load">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1697736121279" ID="ID_1940006605" MODIFIED="1697736240729" TEXT="Ziel: Fehler in der Ausführungslogik ausschließen">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
|
|
@ -111045,9 +111072,22 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1704288869866" ID="ID_1475817699" MODIFIED="1704288911093" TEXT="Aufgabe: Belegen der grundsätzlichen Tauglichkeit"/>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1704288897590" ID="ID_1251840457" MODIFIED="1704288911094" TEXT="Parameter + Grenzen für eine Standard-Last herausfinden"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1704766027439" ID="ID_161148852" MODIFIED="1704919268932" TEXT="Untersuchung-1: hohe Auslastung">
|
||||
<node COLOR="#338800" CREATED="1713396014111" ID="ID_1019016849" MODIFIED="1713396034218" TEXT="Untersuchung-1 : breaking point">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1713396038322" ID="ID_1450935505" MODIFIED="1713396053775" TEXT="habe ich praktisch schon mit dem Aufbau der Meßanordnung abgeschlossen"/>
|
||||
<node COLOR="#435e98" CREATED="1713396054528" ID="ID_333816634" MODIFIED="1713396142477" TEXT="Fazit">
|
||||
<icon BUILTIN="forward"/>
|
||||
<node CREATED="1713396084356" ID="ID_325066175" MODIFIED="1713396094117" TEXT="nach Kompensation keine erkennbare Ineffizienz"/>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1713396094947" ID="ID_1375967262" MODIFIED="1713396114104" TEXT="Einschränkung: Ausreichend lange Job-Zeiten">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
<node CREATED="1713396115686" ID="ID_1422695537" MODIFIED="1713396118692" TEXT="sonst Contention"/>
|
||||
<node CREATED="1713396119136" ID="ID_1758311668" MODIFIED="1713396137569" TEXT="bei Contention degradiert des Verhalten"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1704766027439" ID="ID_161148852" MODIFIED="1713396148543" TEXT="Untersuchung-2: hohe Auslastung">
|
||||
<linktarget COLOR="#3832ae" DESTINATION="ID_161148852" ENDARROW="Default" ENDINCLINATION="-712;-56;" ID="Arrow_ID_1703930922" SOURCE="ID_549174207" STARTARROW="None" STARTINCLINATION="333;19;"/>
|
||||
<icon BUILTIN="pencil"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1704766160781" ID="ID_1879705815" MODIFIED="1704766424803" TEXT="bisher ging es um Dependency-Management — nun geht es um »Last«">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
|
|
@ -111058,7 +111098,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</body>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node CREATED="1704766425859" ID="ID_819162648" MODIFIED="1704766437260" TEXT="geeignetes Last-Pattern aufbauen">
|
||||
<node COLOR="#338800" CREATED="1704766425859" ID="ID_819162648" MODIFIED="1713395967646" TEXT="geeignetes Last-Pattern aufbauen">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#435e98" CREATED="1704766438235" FOLDED="true" ID="ID_49179977" MODIFIED="1713111210424" TEXT="Idee: repetitive Pattern + Breiten-Limitierung">
|
||||
<linktarget COLOR="#4c5ab8" DESTINATION="ID_49179977" ENDARROW="Default" ENDINCLINATION="-515;1146;" ID="Arrow_ID_640223049" SOURCE="ID_1751068516" STARTARROW="None" STARTINCLINATION="-64;-3;"/>
|
||||
<linktarget COLOR="#4c5ab8" DESTINATION="ID_49179977" ENDARROW="Default" ENDINCLINATION="-549;1037;" ID="Arrow_ID_1912342428" SOURCE="ID_128782461" STARTARROW="None" STARTINCLINATION="-322;0;"/>
|
||||
|
|
@ -111207,8 +111248,9 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
<node CREATED="1707665539100" ID="ID_1559912536" MODIFIED="1707665551400" TEXT="Erkennen gravierender Defekte"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1707695734022" ID="ID_726373855" MODIFIED="1707695741504" TEXT="praktische Aufgaben">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1707695734022" ID="ID_726373855" MODIFIED="1713395974212" TEXT="praktische Aufgaben">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#5b280f" CREATED="1707695742692" ID="ID_534550855" MODIFIED="1707753814309" TEXT="Instrumentierung in die ComputationalLoad">
|
||||
<icon BUILTIN="button_cancel"/>
|
||||
<node CREATED="1707695763705" ID="ID_173852025" MODIFIED="1707754003327" TEXT="Zweck: ∅ Abweichung unter Real-Bedingungen">
|
||||
|
|
@ -111946,8 +111988,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1708651353088" ID="ID_9850721" MODIFIED="1708651367397" TEXT="ergänzende Meßmethode : lineare Regression">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1708651353088" ID="ID_9850721" MODIFIED="1713395976731" TEXT="ergänzende Meßmethode : lineare Regression">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#435e98" CREATED="1708651381229" ID="ID_34422716" MODIFIED="1712594284191" TEXT="Ansatz: Verhaltesmuster durch anderen Meß-Ansatz bestätigen">
|
||||
<icon BUILTIN="idea"/>
|
||||
<node CREATED="1708651455035" ID="ID_154910298" MODIFIED="1708651476794" TEXT="das Kriterium »Schedule gebrochen« ist sehr spezifisch">
|
||||
|
|
@ -115206,8 +115248,8 @@ std::cout << tmpl.render({"what", "World"}) << s
|
|||
<node CREATED="1712241515362" ID="ID_326943240" MODIFIED="1712241527541" TEXT="kann durchaus auch reguläres Schedule sein"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1708744078861" ID="ID_1023448351" MODIFIED="1708744085468" TEXT="Integration / Untersuchungen">
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node COLOR="#338800" CREATED="1708744078861" ID="ID_1023448351" MODIFIED="1713395977994" TEXT="Integration / Untersuchungen">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1708744086675" ID="ID_551606292" MODIFIED="1708744105373" TEXT="erster Meßlauf">
|
||||
<node CREATED="1708744106371" ID="ID_508772586" MODIFIED="1708744111228" TEXT="20 Punkte 2...64"/>
|
||||
<node CREATED="1708744112098" ID="ID_179043543" MODIFIED="1708744119235" TEXT="Parameter: ist Anzahl Nodes"/>
|
||||
|
|
@ -115240,8 +115282,8 @@ std::cout << tmpl.render({"what", "World"}) << s
|
|||
<node CREATED="1709834544352" ID="ID_620498652" MODIFIED="1709834560018" TEXT="einen definierten Rückstau abarbeiten"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1709834048527" ID="ID_1151259698" MODIFIED="1709834057668" TEXT="Messung mit möglichst elastischem Schedule">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1709834048527" ID="ID_1151259698" MODIFIED="1713395917669" TEXT="Messung mit möglichst elastischem Schedule">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1709834821867" ID="ID_1521098376" MODIFIED="1709834828031" TEXT="Eigenschaften des Schedule">
|
||||
<node CREATED="1709834829355" ID="ID_736433278" MODIFIED="1709834836157" TEXT="keine Abhängigkeiten"/>
|
||||
<node CREATED="1709834836811" ID="ID_1468908878" MODIFIED="1709834863174" TEXT="Vollauslastung durch Überschuß von Jobs">
|
||||
|
|
@ -115453,9 +115495,8 @@ std::cout << tmpl.render({"what", "World"}) << s
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1704915305240" ID="ID_466567694" MODIFIED="1704915313937" TEXT="Untersuchung im Stress-Test-Rig">
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node COLOR="#338800" CREATED="1704915305240" ID="ID_466567694" MODIFIED="1713396152943" TEXT="Untersuchung im Stress-Test-Rig">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1712595168957" ID="ID_1322573597" MODIFIED="1712595178892" TEXT="Last-Pattern">
|
||||
<icon BUILTIN="info"/>
|
||||
<node CREATED="1712595181747" ID="ID_1751068516" MODIFIED="1712595247094" TEXT="spezielle »kleine Graphen«">
|
||||
|
|
@ -116247,20 +116288,21 @@ std::cout << tmpl.render({"what", "World"}) << s
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1704766027439" ID="ID_1350821310" MODIFIED="1713110695900" TEXT="Untersuchung-2: steady work state">
|
||||
<node COLOR="#338800" CREATED="1704766027439" ID="ID_1350821310" MODIFIED="1713396206156" TEXT="Untersuchung-3: steady work state">
|
||||
<linktarget COLOR="#3832ae" DESTINATION="ID_1350821310" ENDARROW="Default" ENDINCLINATION="-712;-56;" ID="Arrow_ID_320251207" SOURCE="ID_1479474389" STARTARROW="None" STARTINCLINATION="289;17;"/>
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node CREATED="1713110807801" ID="ID_11893474" MODIFIED="1713110819844" TEXT="Aufgabe weiterhin: geeignete Last aufbauen">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#435e98" CREATED="1713110807801" ID="ID_11893474" MODIFIED="1713396168404" TEXT="Aufgabe weiterhin: geeignete Last aufbauen">
|
||||
<icon BUILTIN="yes"/>
|
||||
<node CREATED="1712595181747" ID="ID_128782461" MODIFIED="1713110946545" TEXT="gehe wieder von den »kleine Graphen« aus">
|
||||
<arrowlink COLOR="#4c5ab8" DESTINATION="ID_49179977" ENDARROW="Default" ENDINCLINATION="-549;1037;" ID="Arrow_ID_1912342428" STARTARROW="None" STARTINCLINATION="-322;0;"/>
|
||||
<node CREATED="1713111325229" ID="ID_1211516688" MODIFIED="1713111338663" TEXT="1. Ansatz: Breitenbeschränkung nutzen">
|
||||
</node>
|
||||
<node CREATED="1713111325229" ID="ID_1211516688" MODIFIED="1713396177020" TEXT="Ansatz: Breitenbeschränkung nutzen">
|
||||
<node CREATED="1713111339939" ID="ID_908498578" MODIFIED="1713111348070" TEXT="verwende Graph-3: massiv-parallel"/>
|
||||
<node CREATED="1713111348923" ID="ID_640317274" MODIFIED="1713111360772" TEXT="Chain-Load ist auf 8 Nodes beschränkt"/>
|
||||
<node CREATED="1713111370079" ID="ID_1165922148" MODIFIED="1713111383009" TEXT="es ergeben sich 7.53 Nodes / Level"/>
|
||||
<node CREATED="1713111361384" ID="ID_1183485948" MODIFIED="1713111367309" TEXT="rechne mit 8 Kernen"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1713110964437" ID="ID_1985468535" MODIFIED="1713392925805" TEXT="Beobachtung wieder im Stress-Test-Rig">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#338800" CREATED="1713111196126" ID="ID_850536834" MODIFIED="1713392920805" TEXT="6.Test">
|
||||
|
|
@ -116356,9 +116398,7 @@ std::cout << tmpl.render({"what", "World"}) << s
|
|||
</body>
|
||||
</html></richcontent>
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
es ist und bleibt ein Kompromiß....
|
||||
|
|
@ -116367,8 +116407,7 @@ std::cout << tmpl.render({"what", "World"}) << s
|
|||
Ich versuche hier, eine sehr spezifische Meßmethode halbwegs generisch nutzbar zu machen, stecke dabei aber bereits gefährlich viel Vorannahmen über den Scheduler in den Meßprozeß
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</html></richcontent>
|
||||
<icon BUILTIN="forward"/>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -116468,16 +116507,13 @@ std::cout << tmpl.render({"what", "World"}) << s
|
|||
</node>
|
||||
<node COLOR="#435e98" CREATED="1713132381066" FOLDED="true" ID="ID_651763651" MODIFIED="1713381635480" TEXT="Fehlzugriff aus dem Allocator (isValidPos (idx))">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
extent-family.hpp:356
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</html></richcontent>
|
||||
<linktarget COLOR="#648bb9" DESTINATION="ID_651763651" ENDARROW="Default" ENDINCLINATION="23;-13;" ID="Arrow_ID_1152882180" SOURCE="ID_966787442" STARTARROW="None" STARTINCLINATION="-98;8;"/>
|
||||
<icon BUILTIN="broken-line"/>
|
||||
<node CREATED="1713132457217" ID="ID_1257716735" LINK="#ID_917615827" MODIFIED="1713132548204" TEXT="die gleiche Assertion hat schon früher angesprochen">
|
||||
|
|
@ -116776,29 +116812,23 @@ std::cout << tmpl.render({"what", "World"}) << s
|
|||
<node CREATED="1713388269784" ID="ID_1234121492" MODIFIED="1713388286244" TEXT="weil er nur maximal 4 Kerne parallel braucht"/>
|
||||
<node CREATED="1713388287014" ID="ID_385515593" MODIFIED="1713388351726" TEXT="damit ist er eine bessere Grundlage für einen generischen Test">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
...ich muß auch daran denken, daß nicht jede Maschine 8 Kerne hat. Insofern erscheint es sinnvoller, die Concurrency auf 4 zu beschränken, und dann zu sehen, wo man landet
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node CREATED="1713388249411" ID="ID_1149253486" MODIFIED="1713388494914" TEXT="weil dieser Graph nur aus unverknüpften Ketten besteht">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
der Graph-3 hat denn doch immer wieder mehrstufige Dependency-Tries — und ich kann daher nicht entscheiden, ob die beobachtete ∅concurrency = 5.4 auf dependency-wait zurückzuführen ist, oder tatsächlich durch Abregeln der Kapazität durch den Scheduler zustande kam. Möglicherweise auch beides im Wechselspiel.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node CREATED="1713389530936" ID="ID_687771347" MODIFIED="1713389605825" TEXT="⟹ 66 Level — ∅3.88 Nodes/Level"/>
|
||||
<node CREATED="1713389623499" ID="ID_841283321" MODIFIED="1713389680527" TEXT="25% seed, 25% exit, 50% inner nodes (sehr ausgewogen)"/>
|
||||
|
|
@ -116811,16 +116841,13 @@ std::cout << tmpl.render({"what", "World"}) << s
|
|||
<node CREATED="1713389882687" ID="ID_957430022" MODIFIED="1713389887665" TEXT="∅concurrency = 3.5">
|
||||
<node CREATED="1713389918466" ID="ID_600533061" MODIFIED="1713392945570">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
das ist <b>ziemlich gut</b>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node CREATED="1713389924761" ID="ID_1422814603" MODIFIED="1713389946729" TEXT="da wir ∅3.88 Nodes/Level haben"/>
|
||||
</node>
|
||||
|
|
@ -116834,35 +116861,48 @@ std::cout << tmpl.render({"what", "World"}) << s
|
|||
</node>
|
||||
<node CREATED="1713390567444" ID="ID_764793271" MODIFIED="1713390691584" TEXT="⟹ nur erklärbar durch dependency-waits">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
...da die tatsächliche Last ehr bei 5.5ms liegt, können diese Durchschnittswerte nur erklärt werden, indem zeitweilig die zusätzlichen, freien Worker mithelfen; sie können aber nicht permanent voll ausgelastet werden, da der Graph eigentlich nicht so viel Last hergibt. Trotzdem ergibt sich noch ein auf 60% verdichtetes Schedule
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1713390702828" ID="ID_1572610932" MODIFIED="1713390753270">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
Das deutet alles darauf hin, daß das Scheduling weitgehend <b>effizient</b>  ist
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</html></richcontent>
|
||||
<icon BUILTIN="forward"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#338800" CREATED="1713395737881" ID="ID_1206876411" MODIFIED="1713396197240">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
<u><font size="4">Abschließender Test</font></u>: <b>Laufzeit > 1 sec</b>
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1713395757359" ID="ID_222095587" MODIFIED="1713395769921" TEXT="verwende 4 mal die Graph-Länge"/>
|
||||
<node CREATED="1713395770509" ID="ID_81076022" MODIFIED="1713395782640" TEXT="verwende Planung in 32-er-Chunks"/>
|
||||
<node CREATED="1713395787298" ID="ID_180484606" MODIFIED="1713396679603" TEXT="verwende eine relativ knappe deadline">
|
||||
<linktarget COLOR="#2b4ed5" DESTINATION="ID_180484606" ENDARROW="Default" ENDINCLINATION="-1521;-88;" ID="Arrow_ID_994676785" SOURCE="ID_18653531" STARTARROW="None" STARTINCLINATION="1715;133;"/>
|
||||
</node>
|
||||
<node CREATED="1713395812208" ID="ID_1758213482" MODIFIED="1713395827513" TEXT="prüfe den berechneten verketteten Hash"/>
|
||||
<node CREATED="1713395830358" ID="ID_799220713" MODIFIED="1713395857293" TEXT="Laufzeit ist in etwa 4 mal die Zeit aus vorhergehender Messung"/>
|
||||
<node CREATED="1713395858002" ID="ID_104435684" MODIFIED="1713395873157" TEXT="Concurrency steigt sogar bis auf 3.9"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1712878607523" ID="ID_61094750" MODIFIED="1712878636653" TEXT="Ergebnisse">
|
||||
<icon BUILTIN="forward"/>
|
||||
|
|
@ -117273,7 +117313,8 @@ std::cout << tmpl.render({"what", "World"}) << s
|
|||
<node CREATED="1702309058200" ID="ID_1888511103" MODIFIED="1702309098838" TEXT="Abarbeiten der Kette eines „praktisch leeren“ Jobs: 80µs"/>
|
||||
<node CREATED="1702309135573" ID="ID_85007648" MODIFIED="1702309146250" TEXT="Abarbeiten bis zum failed Gate-check: 25µs"/>
|
||||
</node>
|
||||
<node CREATED="1712674132163" FOLDED="true" ID="ID_1180966664" MODIFIED="1712674427987" TEXT="empirscher Latenz-Overhead: +5ms">
|
||||
<node CREATED="1712674132163" FOLDED="true" ID="ID_1180966664" MODIFIED="1713396545253" TEXT="empirscher Latenz-Overhead: +5ms">
|
||||
<linktarget COLOR="#366e86" DESTINATION="ID_1180966664" ENDARROW="Default" ENDINCLINATION="2713;-145;" ID="Arrow_ID_36903408" SOURCE="ID_778877296" STARTARROW="None" STARTINCLINATION="769;75;"/>
|
||||
<icon BUILTIN="forward"/>
|
||||
<node CREATED="1712674156848" ID="ID_1121001776" LINK="#ID_29307844" MODIFIED="1712674424045" TEXT="beobachtet durch Meß-Serien mit linearer Regression">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
|
|
|
|||
Loading…
Reference in a new issue