Chain-Load: initial draft

...design a pattern to generate a reproducible computation load
This commit is contained in:
Fischlurch 2023-11-10 23:54:47 +01:00
parent 3135887914
commit c8f13ca3e6
4 changed files with 298 additions and 20 deletions

View file

@ -44,6 +44,12 @@ END
PLANNED "Synthetic Load for Test" TestChainLoad_test <<END
return: 0
END
PLANNED "Scheduler Performance" SchedulerStress_test <<END
return: 0
END

View file

@ -0,0 +1,92 @@
/*
TestChainLoad(Test) - verify diagnostic setup to watch scheduler activities
Copyright (C) Lumiera.org
2023, Hermann Vosseler <Ichthyostega@web.de>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
* *****************************************************/
/** @file test-chain-load-test.cpp
** unit test \ref TestChainLoad_test
*/
#include "lib/test/run.hpp"
#include "lib/test/test-helper.hpp"
#include "test-chain-load.hpp"
//#include "vault/real-clock.hpp"
//#include "lib/time/timevalue.hpp"
//#include "lib/format-cout.hpp"
#include "lib/test/diagnostic-output.hpp"//////////////////////////TODO TOD-oh
//#include "lib/util.hpp"
//using lib::time::Time;
//using lib::time::FSecs;
//using util::isSameObject;
//using lib::test::randStr;
//using lib::test::randTime;
namespace vault{
namespace gear {
namespace test {
/*****************************************************************//**
* @test verify a tool to generate synthetic load for Scheduler tests.
* @see SchedulerService_test
* @see SchedulerStress_test
*/
class TestChainLoad_test : public Test
{
virtual void
run (Arg)
{
simpleUsage();
witch_gate();
}
/** @test TODO demonstrate simple usage of the test-load
*/
void
simpleUsage()
{
UNIMPLEMENTED ("setup of TestChainLoad");
}
/** @test TODO diagnostic blah
*/
void
witch_gate()
{
UNIMPLEMENTED ("witch gate");
}
};
/** Register this test class... */
LAUNCHER (TestChainLoad_test, "unit engine");
}}} // namespace vault::gear::test

View file

@ -0,0 +1,109 @@
/*
TEST-CHAIN-LOAD.hpp - produce a configurable synthetic computation load
Copyright (C) Lumiera.org
2023, Hermann Vosseler <Ichthyostega@web.de>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/** @file test-chain-load.hpp
** Generate synthetic computation load for Scheduler performance tests.
** The [Scheduler](\ref scheduler.hpp) is a service to invoke Render Job instances
** concurrently in accordance to a time plan. To investigate the runtime and performance
** characteristics of the implementation, a well-defined artificial computation load is
** necessary, comprised of the invocation of an extended number of Jobs, each configured
** to carry out a reproducible computation. Data dependencies between jobs can be established
** to verify handling of dependent jobs and job completion messages within the scheduler.
**
** # Usage
**
** Duh oh
**
** ## Observation tools
** - jaleck
**
** @see TestChainLoad_test
** @see SchedulerStress_test
*/
#ifndef VAULT_GEAR_TEST_TEST_CHAIN_LOAD_H
#define VAULT_GEAR_TEST_TEST_CHAIN_LOAD_H
#include "vault/common.hpp"
#include "lib/test/test-helper.hpp"
//#include "vault/gear/job.h"
//#include "vault/gear/activity.hpp"
//#include "vault/gear/nop-job-functor.hpp"
//#include "lib/time/timevalue.hpp"
//#include "lib/meta/variadic-helper.hpp"
//#include "lib/meta/function.hpp"
//#include "lib/wrapper.hpp"
//#include "lib/format-util.hpp"
//#include "lib/util.hpp"
//#include <functional>
//#include <utility>
//#include <string>
//#include <deque>
namespace vault{
namespace gear {
namespace test {
// using std::string;
// using std::function;
// using lib::time::TimeValue;
// using lib::time::Time;
// using lib::time::FSecs;
// using lib::time::Offset;
// using lib::meta::RebindVariadic;
// using util::isnil;
// using std::forward;
// using std::move;
namespace {// Diagnostic markers
// const string MARK_INC{"IncSeq"};
// const string MARK_SEQ{"Seq"};
// using SIG_JobDiagnostic = void(Time, int32_t);
}
/**
* A Generator for synthetic Render Jobs for Scheduler load testing.
* @see TestChainLoad_test
*/
class TestChainLoad
: util::NonCopyable
{
public:
TestChainLoad ()
{ }
private:
};
}}} // namespace vault::gear::test
#endif /*VAULT_GEAR_TEST_TEST_CHAIN_LOAD_H*/

View file

@ -82039,7 +82039,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<font NAME="SansSerif" SIZE="15"/>
<icon BUILTIN="flag-yellow"/>
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1697736413463" ID="ID_996573918" MODIFIED="1699650479669" TEXT="ein sinnvolles externes API entwickeln">
<linktarget COLOR="#ff1924" DESTINATION="ID_996573918" ENDARROW="Default" ENDINCLINATION="-817;60;" ID="Arrow_ID_226641198" SOURCE="ID_1891808134" STARTARROW="None" STARTINCLINATION="-848;-40;"/>
<linktarget COLOR="#3603c2" DESTINATION="ID_996573918" ENDARROW="Default" ENDINCLINATION="-817;60;" ID="Arrow_ID_226641198" SOURCE="ID_1891808134" STARTARROW="None" STARTINCLINATION="-848;-40;"/>
<icon BUILTIN="yes"/>
<node COLOR="#435e98" CREATED="1697736509591" ID="ID_1412564814" MODIFIED="1699650487058" TEXT="Ma&#xdf;gabe">
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
@ -84114,7 +84114,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
<node CREATED="1697982413572" ID="ID_1701704976" MODIFIED="1697982424659" TEXT="Wartezyklen randomisieren"/>
</node>
<node COLOR="#338800" CREATED="1697982430798" ID="ID_858120344" MODIFIED="1699498310726" TEXT="Implementierung">
<node COLOR="#338800" CREATED="1697982430798" FOLDED="true" ID="ID_858120344" MODIFIED="1699498310726" TEXT="Implementierung">
<icon BUILTIN="button_ok"/>
<icon BUILTIN="hourglass"/>
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1697982445677" ID="ID_1503747441" MODIFIED="1698808242557" TEXT="Ankerpunkte">
@ -84842,7 +84842,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<icon BUILTIN="idea"/>
</node>
</node>
<node COLOR="#338800" CREATED="1697982818498" ID="ID_136482882" MODIFIED="1699235053191" TEXT="Deadline ber&#xfc;cksichtigen ">
<node COLOR="#338800" CREATED="1697982818498" FOLDED="true" ID="ID_136482882" MODIFIED="1699235053191" TEXT="Deadline ber&#xfc;cksichtigen ">
<linktarget COLOR="#47a6ef" DESTINATION="ID_136482882" ENDARROW="Default" ENDINCLINATION="69;-169;" ID="Arrow_ID_63115321" SOURCE="ID_337384722" STARTARROW="None" STARTINCLINATION="-285;-30;"/>
<icon BUILTIN="button_ok"/>
<node CREATED="1697982844409" ID="ID_1374530988" MODIFIED="1697982854041" TEXT="im Datenrecord mitf&#xfc;hren"/>
@ -84881,7 +84881,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
</node>
</node>
<node COLOR="#338800" CREATED="1698874604558" ID="ID_5485655" MODIFIED="1699234965589">
<node COLOR="#338800" CREATED="1698874604558" FOLDED="true" ID="ID_5485655" MODIFIED="1699234965589">
<richcontent TYPE="NODE"><html>
<head/>
<body>
@ -84961,7 +84961,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
</node>
<node COLOR="#338800" CREATED="1698874464330" ID="ID_536599334" MODIFIED="1699024358867" TEXT="Markierung Dispatch per CalcStream/Manifestation-ID">
<linktarget COLOR="#9c4c6a" DESTINATION="ID_536599334" ENDARROW="Default" ENDINCLINATION="-898;46;" ID="Arrow_ID_1336944992" SOURCE="ID_1901851782" STARTARROW="None" STARTINCLINATION="-1049;-72;"/>
<linktarget COLOR="#4c7b9c" DESTINATION="ID_536599334" ENDARROW="Default" ENDINCLINATION="-898;46;" ID="Arrow_ID_1336944992" SOURCE="ID_1901851782" STARTARROW="None" STARTINCLINATION="-1049;-72;"/>
<icon BUILTIN="button_ok"/>
<node CREATED="1698874552701" ID="ID_393531098" MODIFIED="1698874578329">
<richcontent TYPE="NODE"><html>
@ -84986,9 +84986,9 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</body>
</html></richcontent>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1698970133343" ID="ID_1886746867" MODIFIED="1699024073160" TEXT="mu&#xdf; vom Scheduler high-Level-API bedient werden">
<node COLOR="#338800" CREATED="1698970133343" ID="ID_1886746867" MODIFIED="1699653329938" TEXT="mu&#xdf; vom Scheduler high-Level-API bedient werden">
<linktarget COLOR="#7136ac" DESTINATION="ID_1886746867" ENDARROW="Default" ENDINCLINATION="224;12;" ID="Arrow_ID_759487829" SOURCE="ID_1301519166" STARTARROW="None" STARTINCLINATION="50;-182;"/>
<icon BUILTIN="bell"/>
<icon BUILTIN="yes"/>
</node>
</node>
<node COLOR="#338800" CREATED="1698533220909" ID="ID_1286321982" MODIFIED="1698971499681" TEXT="Flag und Steuerung f&#xfc;r &#xbb;verbindliche Activities&#xab;">
@ -85062,9 +85062,9 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1698945215604" FOLDED="true" ID="ID_1778628995" MODIFIED="1699498378002" TEXT="Scheduler high-level-API erweitern">
<node COLOR="#338800" CREATED="1698945215604" FOLDED="true" ID="ID_1778628995" MODIFIED="1699653313488" TEXT="Scheduler high-level-API erweitern">
<arrowlink COLOR="#3d3aa9" DESTINATION="ID_780386157" ENDARROW="Default" ENDINCLINATION="86;143;" ID="Arrow_ID_103420327" STARTARROW="None" STARTINCLINATION="317;25;"/>
<icon BUILTIN="flag-yellow"/>
<icon BUILTIN="button_ok"/>
<node COLOR="#435e98" CREATED="1698971859240" HGAP="82" ID="ID_1814368786" MODIFIED="1699237073393" TEXT="Problem: &#x3bb;-post &#xfc;bermittelt nicht zwingend eine Deadline" VSHIFT="17">
<linktarget COLOR="#4a4f75" DESTINATION="ID_1814368786" ENDARROW="Default" ENDINCLINATION="45;-42;" ID="Arrow_ID_463155049" SOURCE="ID_847681286" STARTARROW="None" STARTINCLINATION="-46;5;"/>
<icon BUILTIN="messagebox_warning"/>
@ -90173,13 +90173,16 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1698072872306" ID="ID_488605324" MODIFIED="1698073045501" TEXT="SchedulerLoadControl_test">
<node COLOR="#338800" CREATED="1698072872306" ID="ID_488605324" MODIFIED="1699653633714" TEXT="SchedulerLoadControl_test">
<linktarget COLOR="#56a5a9" DESTINATION="ID_488605324" ENDARROW="Default" ENDINCLINATION="457;-68;" ID="Arrow_ID_1794430254" SOURCE="ID_288711039" STARTARROW="None" STARTINCLINATION="-752;0;"/>
<icon BUILTIN="pencil"/>
<icon BUILTIN="button_ok"/>
<node CREATED="1698072995729" ID="ID_130445310" MODIFIED="1698073015042" TEXT="Implementierungs-Details der Load-Control-Mechanismen">
<icon BUILTIN="info"/>
</node>
<node CREATED="1698073016039" ID="ID_1742616307" MODIFIED="1698073017507" TEXT="F&#xe4;lle">
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1699653621108" ID="ID_1120118362" MODIFIED="1699653631022" TEXT="simpleUsage fehlt noch">
<icon BUILTIN="bell"/>
</node>
<node COLOR="#338800" CREATED="1698073017869" ID="ID_916925082" MODIFIED="1698243342884" TEXT="classifyHorizon">
<icon BUILTIN="button_ok"/>
</node>
@ -90242,13 +90245,15 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1697473158929" ID="ID_505069585" MODIFIED="1697493162215" TEXT="Aufgaben">
<icon BUILTIN="yes"/>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1697736343993" ID="ID_1891808134" MODIFIED="1698521838378" TEXT="das Scheduler-API abdecken">
<arrowlink COLOR="#ff1924" DESTINATION="ID_996573918" ENDARROW="Default" ENDINCLINATION="-817;60;" ID="Arrow_ID_226641198" STARTARROW="None" STARTINCLINATION="-848;-40;"/>
<icon BUILTIN="pencil"/>
<node COLOR="#338800" CREATED="1697736343993" ID="ID_1891808134" MODIFIED="1699653661973" TEXT="das Scheduler-API abdecken">
<arrowlink COLOR="#3603c2" DESTINATION="ID_996573918" ENDARROW="Default" ENDINCLINATION="-817;60;" ID="Arrow_ID_226641198" STARTARROW="None" STARTINCLINATION="-848;-40;"/>
<icon BUILTIN="button_ok"/>
<node COLOR="#435e98" CREATED="1698521839789" ID="ID_1664026043" MODIFIED="1698622639880" TEXT="Lebenszyklus: start / stop"/>
<node COLOR="#435e98" CREATED="1698622641090" ID="ID_286677192" MODIFIED="1698866958527" TEXT="Load-Faktor"/>
<node COLOR="#435e98" CREATED="1698622658797" ID="ID_383756714" MODIFIED="1699498697034" TEXT="Job einstellen"/>
<node CREATED="1698622685538" ID="ID_1780968695" MODIFIED="1698622707743" TEXT="Meta-Job (f&#xfc;r CalcStream)"/>
<node COLOR="#5b280f" CREATED="1698622685538" ID="ID_1780968695" MODIFIED="1699653643314" TEXT="Meta-Job (f&#xfc;r CalcStream)">
<icon BUILTIN="button_cancel"/>
</node>
</node>
<node COLOR="#338800" CREATED="1697484506891" FOLDED="true" ID="ID_1292738036" MODIFIED="1698448216625" TEXT="den kompletten Work-Funktor durchspielen">
<linktarget COLOR="#56a5a9" DESTINATION="ID_1292738036" ENDARROW="Default" ENDINCLINATION="286;-465;" ID="Arrow_ID_367470516" SOURCE="ID_288711039" STARTARROW="None" STARTINCLINATION="-752;0;"/>
@ -92860,6 +92865,12 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</p>
</body>
</html></richcontent>
<node COLOR="#5b280f" CREATED="1699653854638" ID="ID_983038050" MODIFIED="1699653898164" TEXT="skeptisch....">
<icon BUILTIN="stop-sign"/>
</node>
<node CREATED="1699653869660" ID="ID_1500257692" MODIFIED="1699653895706" TEXT="Es ist stets die OS-Scheduler-Verz&#xf6;gerung mit dabei">
<icon BUILTIN="messagebox_warning"/>
</node>
</node>
<node CREATED="1697734845040" ID="ID_348047225" MODIFIED="1697735849618" TEXT="Last mit ged&#xe4;mpfter R&#xfc;ckkopplung geregelt hochfahren bis zur S&#xe4;ttigung">
<richcontent TYPE="NOTE"><html>
@ -94271,8 +94282,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</li>
</ol>
</body>
</html>
</richcontent>
</html></richcontent>
</node>
<node CREATED="1699641102423" ID="ID_904020690" MODIFIED="1699641115409" TEXT="quantisiere auf das Limit (im Nenner)"/>
</node>
@ -95157,8 +95167,8 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<node CREATED="1698874332947" ID="ID_1839829780" LINK="#ID_66017169" MODIFIED="1698874396380" TEXT="wird vom Job-Planning mit durchgegeben">
<icon BUILTIN="info"/>
</node>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1698874413225" ID="ID_1901851782" MODIFIED="1699024358866" TEXT="Serien von Schedules transparent verwerfen">
<arrowlink COLOR="#9c4c6a" DESTINATION="ID_536599334" ENDARROW="Default" ENDINCLINATION="-898;46;" ID="Arrow_ID_1336944992" STARTARROW="None" STARTINCLINATION="-1049;-72;"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1698874413225" ID="ID_1901851782" MODIFIED="1699653342293" TEXT="Serien von Schedules transparent verwerfen">
<arrowlink COLOR="#4c7b9c" DESTINATION="ID_536599334" ENDARROW="Default" ENDINCLINATION="-898;46;" ID="Arrow_ID_1336944992" STARTARROW="None" STARTINCLINATION="-1049;-72;"/>
<icon BUILTIN="flag-yellow"/>
</node>
</node>
@ -95604,6 +95614,64 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<icon BUILTIN="hourglass"/>
</node>
</node>
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1699657771858" ID="ID_492954771" MODIFIED="1699657774722" TEXT="Design">
<icon BUILTIN="pencil"/>
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1699657791215" ID="ID_1285189810" MODIFIED="1699657803659" TEXT="Anforderungen">
<icon BUILTIN="yes"/>
<node CREATED="1699657825826" ID="ID_525362265" MODIFIED="1699657835477" TEXT="stellt Jobs / Job-Functor bereit">
<node CREATED="1699657837345" ID="ID_761367578" MODIFIED="1699657843220" TEXT="einen Planungs-Funktor"/>
<node CREATED="1699657843952" ID="ID_850599164" MODIFIED="1699657847919" TEXT="einen Arbeits-Funktor"/>
</node>
<node CREATED="1699657947234" ID="ID_364611823" MODIFIED="1699657964063" TEXT="Datenstruktur zur Repr&#xe4;sentation der Abh&#xe4;ngigkeiten">
<node CREATED="1699658860202" ID="ID_1687611936" MODIFIED="1699658867597" TEXT="bidirektional verkn&#xfc;pft">
<node CREATED="1699658879840" ID="ID_767898649" MODIFIED="1699658891952" TEXT="n&#xe4;chster zu besuchender Schritt"/>
<node CREATED="1699658892469" ID="ID_1484530159" MODIFIED="1699658902615" TEXT="R&#xfc;ckverkn&#xfc;pfung zu Voraussetzungen"/>
</node>
<node CREATED="1699658946606" ID="ID_1336402506" MODIFIED="1699658949457" TEXT="einzelne Node">
<node CREATED="1699658960115" ID="ID_136030981" MODIFIED="1699658968246" TEXT="entspricht einem Rechen-Job"/>
<node CREATED="1699659307893" ID="ID_1684375007" MODIFIED="1699659327720" TEXT="bietet eine WaterLevel-Zahl (&#x27fc; Timings)"/>
<node CREATED="1699659560603" ID="ID_107957904" MODIFIED="1699660125419" TEXT="verweist auf 1..N Vorg&#xe4;nger"/>
<node CREATED="1699659856043" ID="ID_1473666030" MODIFIED="1699660114333" TEXT="hat 0..M direkte Nachfolger"/>
<node CREATED="1699659667940" ID="ID_1368216745" MODIFIED="1699659677087" TEXT="speichert ein Ergebnis"/>
<node CREATED="1699659712591" ID="ID_1629221792" MODIFIED="1699659723169" TEXT="Flag ob schon besucht / berechnet"/>
</node>
</node>
<node CREATED="1699658003347" ID="ID_728639879" MODIFIED="1699658006734" TEXT="Nutzungs-Muster">
<node CREATED="1699658019169" ID="ID_11395500" MODIFIED="1699658038530" TEXT="einen einzigen Job mit verifizierbarem Aufruf"/>
<node CREATED="1699658093543" ID="ID_1670142319" MODIFIED="1699658116942" TEXT="eine (gro&#xdf;e) Menge von Jobs mit reproduzierbarem Ergebnis"/>
<node CREATED="1699658238075" ID="ID_731772772" MODIFIED="1699658242245" TEXT="verkettete Jobs"/>
<node CREATED="1699658245163" ID="ID_408966392" MODIFIED="1699658273547" TEXT="mehrere verzweigte Ketten"/>
<node CREATED="1699658289205" ID="ID_879608485" MODIFIED="1699658305136" TEXT="w&#xe4;hlbare Rechenlast im Einzeljob"/>
</node>
<node CREATED="1699657998555" ID="ID_1781018318" MODIFIED="1699658001663" TEXT="Use-Cases">
<node CREATED="1699658336383" ID="ID_119864860" MODIFIED="1699658343042" TEXT="Ausf&#xfc;hrungs-Struktur generieren"/>
<node CREATED="1699659737116" ID="ID_1224224640" MODIFIED="1699659747550" TEXT="Struktur traversieren und initialisieren/zur&#xfc;cksetzen"/>
<node CREATED="1699658344771" ID="ID_35417722" MODIFIED="1699658409009" TEXT="Struktur traversieren und Berechnungen direkt (synchron) ausf&#xfc;hren"/>
<node CREATED="1699658491906" ID="ID_835020550" MODIFIED="1699658505644" TEXT="Struktur traversieren und Job-Schedule generieren"/>
<node CREATED="1699658551330" ID="ID_635280615" MODIFIED="1699658571078" TEXT="per Referenz eine Stelle in der Struktur anspringen und dort berechnen"/>
</node>
</node>
<node CREATED="1699660750931" ID="ID_1546880350" MODIFIED="1699660753501" TEXT="Berechnung">
<node CREATED="1699660766521" ID="ID_1011761833" MODIFIED="1699660868230" TEXT="Node bekommt Zahl von direktem Vorg&#xe4;nger">
<icon BUILTIN="full-1"/>
</node>
<node CREATED="1699660791966" ID="ID_177412704" MODIFIED="1699660870309" TEXT="Node holt sich Ergebnisse von weiteren Vorg&#xe4;ngern und kombiniert diese">
<icon BUILTIN="full-2"/>
</node>
<node CREATED="1699660832248" ID="ID_277680708" MODIFIED="1699660873161" TEXT="Node iteriert auf diesem Ergebnis">
<icon BUILTIN="full-3"/>
</node>
</node>
<node CREATED="1699660141645" ID="ID_155664837" MODIFIED="1699660148215" TEXT="Graph-Konstruktion">
<node CREATED="1699660149747" ID="ID_929712258" MODIFIED="1699660154703" TEXT="Problem der Topologie">
<node CREATED="1699660169105" ID="ID_1672239953" MODIFIED="1699660238581" TEXT="sie mu&#xdf; sich deterministisch ergeben (pure Function)"/>
<node CREATED="1699660203467" ID="ID_1633489731" MODIFIED="1699660425059" TEXT="sie mu&#xdf; jeweils einen kontrollierten Parallelit&#xe4;tsgrad haben"/>
<node CREATED="1699660622440" ID="ID_441728017" MODIFIED="1699660641534" TEXT="nebenl&#xe4;ufige Zweige sollten f&#xfc;r eine gewisse Anzahl an Schritten bestehen bleiben"/>
<node CREATED="1699660880003" ID="ID_1798983066" MODIFIED="1699660903256" TEXT="Am Anfang steht ein einziger Seed, am Ende ein einziges Ergebnis"/>
<node CREATED="1699660593344" ID="ID_308815750" MODIFIED="1699660599239" TEXT="es darf keine Sackgassen geben"/>
</node>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1697737304920" ID="ID_1305412516" MODIFIED="1697737436489" TEXT="DemoVideoGenerator">
<arrowlink COLOR="#6f587c" DESTINATION="ID_460039330" ENDARROW="Default" ENDINCLINATION="-263;-171;" ID="Arrow_ID_48943827" STARTARROW="None" STARTINCLINATION="-695;79;"/>
@ -97195,7 +97263,7 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
</node>
</node>
</node>
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1693840260723" ID="ID_1171496185" MODIFIED="1693840333227" TEXT="lumiera_backend_init?">
<node COLOR="#435e98" CREATED="1693840260723" FOLDED="true" ID="ID_1171496185" MODIFIED="1699654670267" TEXT="lumiera_backend_init?">
<icon BUILTIN="help"/>
<node CREATED="1693840334713" ID="ID_904946730" MODIFIED="1693840352179" TEXT="wird bisher nur von C-Tests benutzt">
<icon BUILTIN="smiley-oh"/>
@ -97217,6 +97285,9 @@ Date:&#160;&#160;&#160;Thu Apr 20 18:53:17 2023 +0200<br/>
<node CREATED="1693840510520" ID="ID_753991544" MODIFIED="1693840513131" TEXT="mmap-cache"/>
<node CREATED="1693840474319" ID="ID_472099840" MODIFIED="1693840477378" TEXT="config-system"/>
</node>
<node COLOR="#5b280f" CREATED="1699654627879" ID="ID_309006941" MODIFIED="1699654650865" TEXT="inzwischen tot gemacht ... werden absehbar in dieser Form nicht gebraucht">
<icon BUILTIN="closed"/>
</node>
</node>
</node>
<node CREATED="1693840242198" ID="ID_1011982391" MODIFIED="1693840985506" TEXT="hoch / runterfahren">