Scheduler-test: next goal -- massively parallel work jobs
Search processing pattern for massive parallel test. The goal is to get all cores into active processing most of the time, thus we need a graph with low dependency management overhead, which is also consistently wide horizontally to have several jobs in working state all of the time. The investigation aims at finding out about systematic overheads in such a setup.
This commit is contained in:
parent
3fb4baefd5
commit
3674d82bdf
2 changed files with 139 additions and 3 deletions
|
|
@ -328,7 +328,14 @@ namespace test {
|
|||
void
|
||||
generalFuckup()
|
||||
{
|
||||
UNIMPLEMENTED("tbd");
|
||||
TestChainLoad<8> testLoad{64};
|
||||
testLoad.seedingRule(testLoad.rule().probability(0.6).maxVal(2))
|
||||
.pruningRule(testLoad.rule().probability(0.44))
|
||||
.setSeed(60)
|
||||
.buildTopology()
|
||||
.printTopologyDOT()
|
||||
.printTopologyStatistics()
|
||||
;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -95887,8 +95887,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1697755558855" ID="ID_278365674" MODIFIED="1697741858009" TEXT="SchedulerStress_test">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1697755558855" ID="ID_278365674" MODIFIED="1704764280752" TEXT="SchedulerStress_test">
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node CREATED="1688337200875" ID="ID_1251284763" MODIFIED="1697735887738" TEXT="Nonfunktionale Anforderungen">
|
||||
<icon BUILTIN="info"/>
|
||||
</node>
|
||||
|
|
@ -95969,6 +95969,10 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1697733236455" ID="ID_698621499" MODIFIED="1697733269203" TEXT="Realtime 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="1704766137597" 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="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"/>
|
||||
|
|
@ -95982,6 +95986,9 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</body>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#c8c0b6" CREATED="1704764438687" ID="ID_1298660922" MODIFIED="1704764476781" TEXT="....jajaja... das hat so einige Käferlein ent-deckt...">
|
||||
<icon BUILTIN="ksmiletris"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1695555555555" ID="ID_1032000470" MODIFIED="1697744929394" TEXT="#1344 Implement performance Tests for Scheduler">
|
||||
|
|
@ -110766,6 +110773,128 @@ 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="#eee5c3" COLOR="#990000" CREATED="1704766027439" ID="ID_161148852" MODIFIED="1704766137597" TEXT="Untersuchung-1: hohe Auslastung">
|
||||
<linktarget COLOR="#3832ae" DESTINATION="ID_161148852" ENDARROW="Default" ENDINCLINATION="-712;-56;" ID="Arrow_ID_1703930922" SOURCE="ID_549174207" STARTARROW="None" STARTINCLINATION="289;17;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<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>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
die ganzen Test zur Integration und zum Aufbau der Testanordnung haben die »chained load bursts« verwendet, ein hochgradig unregelmäßiges und abschnittsweise stark verknüpftes Pattern. Damit konnte ich in etwa die erwartete Parallelisierung beobachten, aber die Computational Load ist typischerweise doppelt so lang gelaufen wie kalibriert, während gleichzeitig permanent Koordinations-Aufwand zu leisten war. Deshalb wähle ich nun einen anderen Blickwinkel: Wie gut können wir die theoretisch vorhandene »Rechenkapazität« zum Einsatz bringen? Dafür braucht es ein möglichst einfaches Pattern, das aber hinreichend breit sein muß, um alle Kerne auszulasten. Ziel ist es, einen gleichmäßigen »Flow« von länger laufenden Rechen-Jobs zu generieren
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1704766425859" ID="ID_819162648" MODIFIED="1704766437260" TEXT="geeignetes Last-Pattern aufbauen">
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1704766438235" ID="ID_49179977" MODIFIED="1704766505960" TEXT="Idee: übersättigte Seeds + Breiten-Limitierung">
|
||||
<icon BUILTIN="idea"/>
|
||||
<node CREATED="1704849761430" ID="ID_973472982" MODIFIED="1704849788023" TEXT="massiv-vernetzt">
|
||||
<node CREATED="1704849789603" ID="ID_1248796850" MODIFIED="1704850126462" STYLE="bubble">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
<font size="2">          TestChainLoad<8> testLoad{64}; </font>
|
||||
</p>
|
||||
<p>
|
||||
<font size="2">          testLoad.seedingRule(testLoad.rule().probability(0.6).maxVal(2)) </font>
|
||||
</p>
|
||||
<p>
|
||||
<font size="2">                  .pruningRule(testLoad.rule().probability(0.44)) </font>
|
||||
</p>
|
||||
<p>
|
||||
<font size="2">                  .setSeed(</font><font size="2" color="#cf0707"><b>62</b></font><font size="2">) </font>
|
||||
</p>
|
||||
<p>
|
||||
<font size="2">                  .buildTopology() </font>
|
||||
</p>
|
||||
<p>
|
||||
<font size="2">                  ; </font>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1704849847892" ID="ID_477248717" MODIFIED="1704849856158" TEXT="3 Zusammenhangskomponenten"/>
|
||||
<node CREATED="1704849857735" ID="ID_1587579504" MODIFIED="1704849867765" TEXT="jeweils eine Join-Kette bis zum Exit"/>
|
||||
<node CREATED="1704849868616" ID="ID_1515141001" MODIFIED="1704849883546" TEXT="∅pL = 5.8"/>
|
||||
</node>
|
||||
<node CREATED="1704849928488" ID="ID_1928191255" MODIFIED="1704850743844" TEXT="4-parallel-interleaved">
|
||||
<node CREATED="1704850003870" ID="ID_703412136" MODIFIED="1704850140684" STYLE="bubble">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
<font size="2">          TestChainLoad<8> testLoad{64}; </font>
|
||||
</p>
|
||||
<p>
|
||||
<font size="2">          testLoad.seedingRule(testLoad.rule().probability(0.6).maxVal(2)) </font>
|
||||
</p>
|
||||
<p>
|
||||
<font size="2">                  .pruningRule(testLoad.rule().probability(0.44)) </font>
|
||||
</p>
|
||||
<p>
|
||||
<font size="2">                  .setSeed(</font><font size="2" color="#c10404"><b>60</b></font><font size="2">) </font>
|
||||
</p>
|
||||
<p>
|
||||
<font size="2">                  .buildTopology() </font>
|
||||
</p>
|
||||
<p>
|
||||
<font size="2">                  ; </font>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1704850040097" ID="ID_980343562" MODIFIED="1704850051875" TEXT="unverknüpfte Ketten der Länge 4"/>
|
||||
<node CREATED="1704850052463" ID="ID_75067439" MODIFIED="1704850064145" TEXT="auf jedem Level ein Seed und ein Exit"/>
|
||||
<node CREATED="1704850066089" ID="ID_422217163" MODIFIED="1704850092368" TEXT="⟹ ∅pL = 4"/>
|
||||
</node>
|
||||
<node CREATED="1704850522511" ID="ID_1699065000" MODIFIED="1704850544528" TEXT="massiv-parallel">
|
||||
<node CREATED="1704850545733" ID="ID_1888388122" MODIFIED="1704850628464" STYLE="bubble">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
<font size="2">          TestChainLoad<8> testLoad{64}; </font>
|
||||
</p>
|
||||
<p>
|
||||
<font size="2">          testLoad.seedingRule(testLoad.rule().probability(0.6).</font><font color="#a602bc" size="2">minVal</font><font size="2">(2)) </font>
|
||||
</p>
|
||||
<p>
|
||||
<font size="2">                  .pruningRule(testLoad.rule().probability(0.44)) </font>
|
||||
</p>
|
||||
<p>
|
||||
<font size="2">                  .setSeed(</font><font color="#d40202" size="2"><b>55</b></font><font size="2">) </font>
|
||||
</p>
|
||||
<p>
|
||||
<font size="2">                  .buildTopology() </font>
|
||||
</p>
|
||||
<p>
|
||||
<font size="2">                  ; </font>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1704850637464" ID="ID_1080884397" MODIFIED="1704850648934" TEXT="kurze Ketten der Länge 2"/>
|
||||
<node CREATED="1704850649695" ID="ID_204505064" MODIFIED="1704850663456" TEXT="sofort bis zum Anschlag parallel"/>
|
||||
<node CREATED="1704850664900" ID="ID_1637288846" MODIFIED="1704850693948" TEXT="jeweils 4 Einzelketten, dann eine Zusammenhangskette mit 2 gestuften Joins"/>
|
||||
<node CREATED="1704849868616" ID="ID_1616250866" MODIFIED="1704849883546" TEXT="∅pL = 5.8"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1702954431054" ID="ID_669378388" MODIFIED="1702954436305" TEXT="offen/aufzuklären">
|
||||
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1702954476683" ID="ID_1030796415" MODIFIED="1702954846789" TEXT="Verhalten von Workern unter concurrency">
|
||||
|
|
|
|||
Loading…
Reference in a new issue