|
|
|
|
@ -79314,10 +79314,15 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1693171997528" ID="ID_1481946764" MODIFIED="1693172169618" TEXT="Komponenten aufbauen">
|
|
|
|
|
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1693171997528" ID="ID_862845398" MODIFIED="1693172169618" TEXT="Komponenten aufbauen">
|
|
|
|
|
<linktarget COLOR="#87584c" DESTINATION="ID_862845398" ENDARROW="Default" ENDINCLINATION="-1041;0;" ID="Arrow_ID_735728098" SOURCE="ID_204159198" STARTARROW="None" STARTINCLINATION="-238;-282;"/>
|
|
|
|
|
<icon BUILTIN="pencil"/>
|
|
|
|
|
<node CREATED="1693172095351" ID="ID_605062962" MODIFIED="1693172311344" TEXT="Scheduler">
|
|
|
|
|
<node CREATED="1693172098402" ID="ID_671792975" MODIFIED="1693172099590" TEXT="DI"/>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1693841227130" ID="ID_1537960830" MODIFIED="1693841284055" TEXT="WorkForce einbinden">
|
|
|
|
|
<arrowlink COLOR="#5f39b2" DESTINATION="ID_987966047" ENDARROW="Default" ENDINCLINATION="-1039;-52;" ID="Arrow_ID_818972822" STARTARROW="None" STARTINCLINATION="-609;73;"/>
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1693172069235" ID="ID_1573845677" MODIFIED="1693172084048" TEXT="Layer-1: SchedulerInvocation"/>
|
|
|
|
|
<node CREATED="1693172074855" ID="ID_101356551" MODIFIED="1693172090591" TEXT="Layer-2: SchedulerCommutator"/>
|
|
|
|
|
@ -79440,11 +79445,188 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1689170064181" HGAP="5" ID="ID_987966047" MODIFIED="1689170075605" TEXT="WorkForce zur Ausführung" VSHIFT="7">
|
|
|
|
|
<linktarget COLOR="#5f39b2" DESTINATION="ID_987966047" ENDARROW="Default" ENDINCLINATION="-1039;-52;" ID="Arrow_ID_818972822" SOURCE="ID_1537960830" STARTARROW="None" STARTINCLINATION="-609;73;"/>
|
|
|
|
|
<linktarget COLOR="#5f39b2" DESTINATION="ID_987966047" ENDARROW="Default" ENDINCLINATION="-1039;-52;" ID="Arrow_ID_7965989" SOURCE="ID_1957090536" STARTARROW="None" STARTINCLINATION="-1231;87;"/>
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1689170081403" ID="ID_196314311" MODIFIED="1689171233757" TEXT="Technologie-Entscheidung">
|
|
|
|
|
<linktarget COLOR="#694db0" DESTINATION="ID_196314311" ENDARROW="Default" ENDINCLINATION="-56;-43;" ID="Arrow_ID_814147501" SOURCE="ID_1688483414" STARTARROW="None" STARTINCLINATION="-394;72;"/>
|
|
|
|
|
<linktarget COLOR="#b22e63" DESTINATION="ID_196314311" ENDARROW="Default" ENDINCLINATION="-1383;-51;" ID="Arrow_ID_134934445" SOURCE="ID_14638704" STARTARROW="None" STARTINCLINATION="-753;40;"/>
|
|
|
|
|
<icon BUILTIN="bell"/>
|
|
|
|
|
<node CREATED="1693773504249" ID="ID_181027430" MODIFIED="1693773549602" TEXT="Leitfrage">
|
|
|
|
|
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1693773517624" ID="ID_779344997" MODIFIED="1693773542645" TEXT="welche essentiellen Möglichkeiten haben unsere selbst gebatuen Lösungen?">
|
|
|
|
|
<font NAME="SansSerif" SIZE="12"/>
|
|
|
|
|
<icon BUILTIN="help"/>
|
|
|
|
|
<node CREATED="1693778159526" ID="ID_86763478" MODIFIED="1693778165739" TEXT="eigener Worker-Pool">
|
|
|
|
|
<node CREATED="1693778172262" ID="ID_112349205" MODIFIED="1693778185072" TEXT="präzise Kontrolle über den Modus der Arbeitsverteilung"/>
|
|
|
|
|
<node CREATED="1693778186492" ID="ID_884250701" MODIFIED="1693778200216" TEXT="Anpassung an die konkrete Workload"/>
|
|
|
|
|
<node CREATED="1693778201612" ID="ID_134813800" MODIFIED="1693778219235" TEXT="zusätzliche Steuer- und Kontrollmöglichkeiten"/>
|
|
|
|
|
<node CREATED="1693778245819" ID="ID_113777576" MODIFIED="1693778259397" TEXT="kann als dedizierter Service betrieben werden"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1693787618970" ID="ID_1621791774" MODIFIED="1693787623646" TEXT="lib::Thread">
|
|
|
|
|
<node CREATED="1693787648687" ID="ID_1734153874" MODIFIED="1693787682238" TEXT="läuft fast komplett auf die Eigenschaften von std::thread hinaus"/>
|
|
|
|
|
<node CREATED="1693787682946" ID="ID_1584585093" MODIFIED="1693787698708" TEXT="allerdings gibt es Unschärfen bei Referenz-Parametern für die Funktion"/>
|
|
|
|
|
<node CREATED="1693787699344" ID="ID_1144215420" MODIFIED="1693787806325" TEXT="der verwendete Thread stammt aus einem automatisch verwalteten Threadpool"/>
|
|
|
|
|
<node CREATED="1693787815177" ID="ID_1720096544" MODIFIED="1693787844804" TEXT="join() wird erschwert / zum Spezialfall gemacht"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1693789073665" ID="ID_1658974537" MODIFIED="1693789081779" TEXT="Mutex und ConditionVar">
|
|
|
|
|
<node CREATED="1693789083289" ID="ID_344539977" MODIFIED="1693789101083" TEXT="verpacken mühsamer zu verwendende POSIX-APIs"/>
|
|
|
|
|
<node CREATED="1693789106598" ID="ID_578647303" MODIFIED="1693789121791" TEXT="stellen Einheitlichkeit her, um darauf Policies aufzubauen"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1693788920585" ID="ID_1811801110" MODIFIED="1693788927651" TEXT="der Monitor (lib::Sync)">
|
|
|
|
|
<node CREATED="1693788948827" ID="ID_1839763460" MODIFIED="1693788966716" TEXT="ist ein bewährtes Design-Pattern mit guten Eigenschaften"/>
|
|
|
|
|
<node CREATED="1693788967376" ID="ID_1799182387" MODIFIED="1693788979634" TEXT="ist durch Policy konfigurierbar"/>
|
|
|
|
|
<node CREATED="1693788981334" ID="ID_697019077" MODIFIED="1693789010965" TEXT="bietet optional auch die wait / notify-Funktionalität"/>
|
|
|
|
|
<node CREATED="1693789015665" ID="ID_1551495123" MODIFIED="1693789054009" TEXT="ermögilcht als Mix-In auch einen sehr kompakt verwendbaren Lock-Guard"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1693773573993" ID="ID_1647001961" MODIFIED="1693777533642" TEXT="Eigenschaften der Standard-Lösungen">
|
|
|
|
|
<icon BUILTIN="info"/>
|
|
|
|
|
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1693777557361" ID="ID_1832737213" LINK="https://stackoverflow.com/q/58774356" MODIFIED="1693777611078" TEXT="es gibt (noch) keinen standardisierten Threadpool">
|
|
|
|
|
<icon BUILTIN="stop-sign"/>
|
|
|
|
|
<node CREATED="1693777627306" ID="ID_990313927" LINK="https://duckduckgo.com/l/?uddg=https%3A%2F%2Fwww.open%2Dstd.org%2Fjtc1%2Fsc22%2Fwg21%2Fdocs%2Fpapers%2F2020%2Fp0443r12.html&rut=18bac472d51ccd0d0d61ff44e67e95db26174d30580a58a460ddd659feba8179" MODIFIED="1693783619298" TEXT="»unified executors« / Proposal still in discussion (vielleicht C++23)"/>
|
|
|
|
|
<node CREATED="1693777976879" ID="ID_980726893" LINK="https://web.archive.org/web/20230322194534/https://accu.org/journals/overload/29/164/teodorescu/" MODIFIED="1693777997279" TEXT="»C++ Executors: the Good, the Bad, and Some Examples«"/>
|
|
|
|
|
<node CREATED="1693778375945" ID="ID_81861804" MODIFIED="1693778436222">
|
|
|
|
|
<richcontent TYPE="NODE"><html>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
↯ eine Standard-Lösung <font color="#a61b1b">impliziert auch ein Ausführungs-Framework</font>
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html></richcontent>
|
|
|
|
|
<node CREATED="1693778458303" ID="ID_832214591" MODIFIED="1693778480076" TEXT="...aber wir bauen selber ein Ausführungs-Framework">
|
|
|
|
|
<icon BUILTIN="stop-sign"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#ccb59b" COLOR="#6e2a38" CREATED="1693778472069" ID="ID_1414699251" MODIFIED="1693778476487" TEXT="und zwar aus gutem Grund">
|
|
|
|
|
<font ITALIC="true" NAME="SansSerif" SIZE="14"/>
|
|
|
|
|
<icon BUILTIN="yes"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1693789205811" ID="ID_536058942" MODIFIED="1693789351784" TEXT="die Standard-Library bietet keinen Monitor">
|
|
|
|
|
<icon BUILTIN="idea"/>
|
|
|
|
|
<node CREATED="1693789352820" ID="ID_1126857833" MODIFIED="1693789360975" TEXT="(und wird vermutlich auch keinen bieten)"/>
|
|
|
|
|
<node CREATED="1693789228741" ID="ID_837192274" MODIFIED="1693789248765" TEXT="...denn das würde dem Stil der STL widersprechen">
|
|
|
|
|
<node CREATED="1693789905354" ID="ID_835555737" MODIFIED="1693789923944" TEXT="stattdessen gibt es...">
|
|
|
|
|
<icon BUILTIN="idea"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1693789853537" ID="ID_1646017528" MODIFIED="1693789870620" TEXT="std::unique_lock<MUT>"/>
|
|
|
|
|
<node CREATED="1693789912326" ID="ID_471001146" MODIFIED="1693789920140" TEXT="std::lock_guard<MUT>"/>
|
|
|
|
|
<node CREATED="1693789948428" ID="ID_993053508" MODIFIED="1693789955848" TEXT="std::scoped_lock"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1693787422981" ID="ID_179766855" MODIFIED="1693787426728" TEXT="std::thread">
|
|
|
|
|
<node CREATED="1693787431388" ID="ID_1591799675" MODIFIED="1693787439172" TEXT="startet sofort bei Konstruktion (RAII)"/>
|
|
|
|
|
<node CREATED="1693787440188" ID="ID_56679749" MODIFIED="1693787459455" TEXT="nimmt eine auszuführende funktion"/>
|
|
|
|
|
<node CREATED="1693787459992" ID="ID_1545457780" MODIFIED="1693787478426" TEXT="kopiert alle dieser Funktion gegebenen Argumente"/>
|
|
|
|
|
<node CREATED="1693787489228" ID="ID_572651416" MODIFIED="1693787550552" TEXT="stellt sicher, daß die Funktion im neuen Thread beim verlassen des Konstruktors gestartet ist"/>
|
|
|
|
|
<node CREATED="1693787562730" ID="ID_1462251093" MODIFIED="1693787585283" TEXT="join() wird unterstützt"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1693783675300" ID="ID_1818177401" MODIFIED="1693790461409" TEXT="Entscheidungen">
|
|
|
|
|
<icon BUILTIN="forward"/>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1693783691433" ID="ID_279372215" MODIFIED="1693783750796" TEXT="Worker-Management selber bauen">
|
|
|
|
|
<icon BUILTIN="yes"/>
|
|
|
|
|
<node CREATED="1693783766735" ID="ID_912764109" MODIFIED="1693783781449" TEXT="und zwar in C++">
|
|
|
|
|
<node CREATED="1693783781989" ID="ID_1709905837" MODIFIED="1693783798679" TEXT="wegen Atomics & Futures"/>
|
|
|
|
|
<node CREATED="1693783810401" ID="ID_1691365318" MODIFIED="1693783825729" TEXT="wegen Funktoren und Typsicherheit"/>
|
|
|
|
|
<node CREATED="1693783799406" ID="ID_516886484" MODIFIED="1693783805118" TEXT="wegen Portabilität"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1693787750689" ID="ID_1636630763" MODIFIED="1693787785090" TEXT="lib::Thread wird aufgegeben">
|
|
|
|
|
<icon BUILTIN="yes"/>
|
|
|
|
|
<node CREATED="1693787857875" ID="ID_1964973756" MODIFIED="1693787947679">
|
|
|
|
|
<richcontent TYPE="NODE"><html>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
die Limitierungen und der Threadpool waren <i>gut gemeint</i>
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html></richcontent>
|
|
|
|
|
<icon BUILTIN="ksmiletris"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1693787905997" ID="ID_1862230955" MODIFIED="1693787943205" TEXT="aber: sie verlagern Architektur-Fragen in die LIbrary-Ebene">
|
|
|
|
|
<icon BUILTIN="closed"/>
|
|
|
|
|
<node CREATED="1693788079957" ID="ID_84816913" MODIFIED="1693788252833" TEXT="das ist bestenfalls wirkungslos">
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
...wenn es sich ohnehin nur um eine Einrichtung innerhalb einer bestimmten Applikation handelt, dann bleibt lediglich die Frage übrig, wohin der Quell/Objektcode gepackt wird
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html></richcontent>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1693788121089" ID="ID_553756560" MODIFIED="1693788325694" TEXT="schafft aber ungesunde Strukturen">
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
Da Library-Funktionen ohne Weiteres genutzt werden, zwingt das dazu, statische Instanzen und versteckte magische Initialisierung zu verwenden
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html></richcontent>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1693788148236" ID="ID_1859841213" MODIFIED="1693788618261" TEXT="und stellt im allgemeineren Fall eine Kompetenzüberschreitung dar">
|
|
|
|
|
<richcontent TYPE="NOTE"><html>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
Sprachmittel sind stets aus gutem Grund da. Entweder es gibt aktuell adäquaten Nutzen, oder es gab früher mal einen relevanten Nutzen. Daher stellt es eine Anmaßung dar, wenn jemand nun einfach rundheraus behauptet, es sei <i>falsch</i> dieses Sprachmittel zu verwenden. Wenn man einen Anfänger ohne ausreichende Kompetenzen entlasten möchte, oder wenn man unter Einschränkung ein bestimmtes Nutmuster vorgeben möchte, dann baut man ein <b>Framework</b>, und keine Library.
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html></richcontent>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1693788648105" ID="ID_426109467" MODIFIED="1693788808876">
|
|
|
|
|
<richcontent TYPE="NODE"><html>
|
|
|
|
|
<head/>
|
|
|
|
|
<body>
|
|
|
|
|
<p>
|
|
|
|
|
in allen sonstigen Eigenschaften hatte unsere Library-Lösung <i>genau das Design</i> gewählt,
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
das sich nun auch im Standard als angemessen herausgebildet hat —
|
|
|
|
|
</p>
|
|
|
|
|
<p>
|
|
|
|
|
aber die Standard-Lösung ist ausgereifter und verwendet moderne Sprachmittel
|
|
|
|
|
</p>
|
|
|
|
|
</body>
|
|
|
|
|
</html></richcontent>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1693789156806" ID="ID_128127845" MODIFIED="1693789195596" TEXT="Monitor erhalten und umschreiben">
|
|
|
|
|
<icon BUILTIN="yes"/>
|
|
|
|
|
<node CREATED="1693789376921" ID="ID_158507519" MODIFIED="1693789398154" TEXT="ein Monitor gehört typischerweise in ein Framework"/>
|
|
|
|
|
<node CREATED="1693789399454" ID="ID_1417502572" MODIFIED="1693789408745" TEXT="und hier haben wir ein Applicatino-Framework"/>
|
|
|
|
|
<node CREATED="1693789410469" ID="ID_1281994248" MODIFIED="1693789423198" TEXT="in diesem Rahmen hat er sich hervorragend bewährt"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1693791978730" ID="ID_167871463" MODIFIED="1693791982741" TEXT="Spezifikation">
|
|
|
|
|
<node CREATED="1693792127590" ID="ID_399407420" MODIFIED="1693792149871" TEXT="Stärke kann variiert werden">
|
|
|
|
|
<node CREATED="1693792157926" ID="ID_429801566" MODIFIED="1693792193345" TEXT="komplett heruntergeregelt ⟹ Render-Engine deaktiviert"/>
|
|
|
|
|
<node CREATED="1693792250942" ID="ID_1000686206" MODIFIED="1693792285653" TEXT="Obergrenze ≙ Hardware-concurrency * Provisionierungs-Faktor"/>
|
|
|
|
|
<node CREATED="1693792308542" ID="ID_1678880734" MODIFIED="1693792318777" TEXT="Herunterregeln erfolgt kooperativ"/>
|
|
|
|
|
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1693792585515" ID="ID_464175339" MODIFIED="1693792605896" TEXT="geplant: dynamische Kapazitätsregelung">
|
|
|
|
|
<icon BUILTIN="hourglass"/>
|
|
|
|
|
<node CREATED="1693792629986" ID="ID_1269240792" MODIFIED="1693792648043" TEXT="nur mindest-Stärke läuft"/>
|
|
|
|
|
<node CREATED="1693792648648" ID="ID_1347574580" MODIFIED="1693792689438" TEXT="bei Bedarf wird hochsakliert"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1693792477807" ID="ID_5065581" MODIFIED="1693792530740" TEXT="Zyklus: pull work / check / sleep">
|
|
|
|
|
<node CREATED="1693792715966" ID="ID_717442289" MODIFIED="1693792730000" TEXT="die "pull-work"-Funkton wird vom Scheduler-Layer-2 bereitgestellt"/>
|
|
|
|
|
<node CREATED="1693792744114" ID="ID_1037530409" MODIFIED="1693792754452" TEXT="die Schlaf-Periode ist ein (steuer)-Parameter"/>
|
|
|
|
|
<node CREATED="1693792760213" ID="ID_1223151647" MODIFIED="1693792767060" TEXT="ggfs leicht randomisiert">
|
|
|
|
|
<node CREATED="1693792791729" ID="ID_649360495" MODIFIED="1693792804966" TEXT="Einschätzung: das genügt um Contention zu vermeiden"/>
|
|
|
|
|
<node CREATED="1693792900758" ID="ID_1613781033" MODIFIED="1693792927222" TEXT="Vorraussetzung: Arbeitsphase >> Management-Phase"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1693841488183" HGAP="-2" ID="ID_671611566" MODIFIED="1693841514321" TEXT="WorkForce_test (Komponententest)" VSHIFT="-3">
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
@ -80574,6 +80756,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node COLOR="#338800" CREATED="1688337270626" FOLDED="true" ID="ID_1810148055" MODIFIED="1689994032309" TEXT="»BlockFlow« : Implementation">
|
|
|
|
|
<linktarget COLOR="#578096" DESTINATION="ID_1810148055" ENDARROW="Default" ENDINCLINATION="-1144;102;" ID="Arrow_ID_1579502372" SOURCE="ID_1478014419" STARTARROW="None" STARTINCLINATION="549;39;"/>
|
|
|
|
|
<icon BUILTIN="button_ok"/>
|
|
|
|
|
<node COLOR="#338800" CREATED="1688398675985" ID="ID_291772625" MODIFIED="1689188506325" TEXT="Basis: ExtentFamily">
|
|
|
|
|
<icon BUILTIN="button_ok"/>
|
|
|
|
|
@ -83367,6 +83550,17 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|
|
|
|
<node CREATED="1693238644990" ID="ID_1196672113" MODIFIED="1693238729300" TEXT="Laststeuerung für »free-wheeling« / background render">
|
|
|
|
|
<arrowlink COLOR="#965d71" DESTINATION="ID_1960804622" ENDARROW="Default" ENDINCLINATION="286;89;" ID="Arrow_ID_494620026" STARTARROW="None" STARTINCLINATION="2087;110;"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1693840934074" ID="ID_571516538" MODIFIED="1693840995972" TEXT="Render-Engie Lebenszyklus: start / stop">
|
|
|
|
|
<linktarget COLOR="#d87cae" DESTINATION="ID_571516538" ENDARROW="Default" ENDINCLINATION="-569;36;" ID="Arrow_ID_490264910" SOURCE="ID_1011982391" STARTARROW="None" STARTINCLINATION="-116;14;"/>
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
<node CREATED="1693841031260" ID="ID_204159198" MODIFIED="1693841088122" TEXT="Komponenten / DI">
|
|
|
|
|
<arrowlink COLOR="#87584c" DESTINATION="ID_862845398" ENDARROW="Default" ENDINCLINATION="-1041;0;" ID="Arrow_ID_735728098" STARTARROW="None" STARTINCLINATION="-238;-282;"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1693841347210" ID="ID_187251325" MODIFIED="1693841387431" TEXT="muß dann WorkForce hochskalieren">
|
|
|
|
|
<arrowlink COLOR="#7e4d5e" DESTINATION="ID_951861985" ENDARROW="Default" ENDINCLINATION="-213;-26;" ID="Arrow_ID_301980510" STARTARROW="None" STARTINCLINATION="186;14;"/>
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1680563509728" ID="ID_1883500842" MODIFIED="1684869810400" TEXT="Scheduler">
|
|
|
|
|
<icon BUILTIN="stop"/>
|
|
|
|
|
@ -83396,7 +83590,12 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1688438172401" ID="ID_1302126473" MODIFIED="1688438176429" TEXT="Memory-Manager"/>
|
|
|
|
|
<node CREATED="1688438172401" ID="ID_1302126473" MODIFIED="1688438176429" TEXT="Memory-Manager">
|
|
|
|
|
<node COLOR="#338800" CREATED="1693840789997" ID="ID_1478014419" MODIFIED="1693840887589" TEXT="BlockFlow (custom allocation scheme)">
|
|
|
|
|
<arrowlink COLOR="#578096" DESTINATION="ID_1810148055" ENDARROW="Default" ENDINCLINATION="-1144;102;" ID="Arrow_ID_1579502372" STARTARROW="None" STARTINCLINATION="549;39;"/>
|
|
|
|
|
<icon BUILTIN="forward"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1688438177472" ID="ID_854658770" MODIFIED="1688438183516" TEXT="Weiterentwicklung">
|
|
|
|
|
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1688438184671" ID="ID_1971690047" MODIFIED="1688438194457" TEXT="Prüfen / messen">
|
|
|
|
|
<icon BUILTIN="bell"/>
|
|
|
|
|
@ -83430,6 +83629,51 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1693840103305" ID="ID_1712403454" MODIFIED="1693840108876" TEXT="Subsystem / Lebenszyklus">
|
|
|
|
|
<node CREATED="1693840123854" ID="ID_1137026251" MODIFIED="1693840139943" TEXT="EngineFacade">
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1693840141571" ID="ID_675459196" MODIFIED="1693840151277" TEXT="EngineSubsyDescriptor">
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
<node CREATED="1693840154226" ID="ID_1739899141" MODIFIED="1693840187853" TEXT="�� bisher nur ein Skelett"/>
|
|
|
|
|
<node CREATED="1693840205259" ID="ID_906117225" MODIFIED="1693840220900" TEXT="Services">
|
|
|
|
|
<node CREATED="1693840225944" ID="ID_546523595" MODIFIED="1693840228291" TEXT="der Scheduler"/>
|
|
|
|
|
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1693841227130" ID="ID_1957090536" MODIFIED="1693841404088" TEXT="WorkForce-Komponente bereitstellen">
|
|
|
|
|
<arrowlink COLOR="#5f39b2" DESTINATION="ID_987966047" ENDARROW="Default" ENDINCLINATION="-1039;-52;" ID="Arrow_ID_7965989" STARTARROW="None" STARTINCLINATION="-1231;87;"/>
|
|
|
|
|
<icon BUILTIN="flag-yellow"/>
|
|
|
|
|
<node CREATED="1693841364032" ID="ID_951861985" MODIFIED="1693841380195" TEXT="regulieren/skalieren">
|
|
|
|
|
<linktarget COLOR="#7e4d5e" DESTINATION="ID_951861985" ENDARROW="Default" ENDINCLINATION="-213;-26;" ID="Arrow_ID_301980510" SOURCE="ID_187251325" STARTARROW="None" STARTINCLINATION="186;14;"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1693840260723" ID="ID_1171496185" MODIFIED="1693840333227" 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"/>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1693840384866" ID="ID_1054659625" MODIFIED="1693840397133" TEXT="Ökosystem von C-Services">
|
|
|
|
|
<icon BUILTIN="info"/>
|
|
|
|
|
<node CREATED="1693840404680" ID="ID_1171974069" MODIFIED="1693840406556" TEXT="mpool"/>
|
|
|
|
|
<node CREATED="1693840420342" ID="ID_1716830295" MODIFIED="1693840423786" TEXT="resourcecollector"/>
|
|
|
|
|
<node CREATED="1693840438347" ID="ID_1911524559" MODIFIED="1693840446279" TEXT="safeclib (für C-Strings)"/>
|
|
|
|
|
<node CREATED="1693840450337" ID="ID_1275294302" MODIFIED="1693840452934" TEXT="threadpool">
|
|
|
|
|
<node CREATED="1693840578969" ID="ID_868605937" MODIFIED="1693840593587" TEXT="wird separat von threadpool-init.cpp aufgerufen"/>
|
|
|
|
|
<node CREATED="1693840693336" ID="ID_861831989" MODIFIED="1693840715651" TEXT="LifecycleHook: ON_GLOBAL_INIT, &initialise_Threadpool"/>
|
|
|
|
|
<node CREATED="1693840594607" ID="ID_58671517" MODIFIED="1693840623216" TEXT="⟹ dies ist(war) der einzige tatsächlich benutzte Servic">
|
|
|
|
|
<icon BUILTIN="messagebox_warning"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1693840461057" ID="ID_932302464" MODIFIED="1693840466924" TEXT="filedescriptor-registry"/>
|
|
|
|
|
<node CREATED="1693840485318" ID="ID_1336910692" MODIFIED="1693840488755" TEXT="filehandle-cache"/>
|
|
|
|
|
<node CREATED="1693840510520" ID="ID_753991544" MODIFIED="1693840513131" TEXT="mmap-cache"/>
|
|
|
|
|
<node CREATED="1693840474319" ID="ID_472099840" MODIFIED="1693840477378" TEXT="config-system"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1693840242198" ID="ID_1011982391" MODIFIED="1693840985506" TEXT="hoch / runterfahren">
|
|
|
|
|
<arrowlink COLOR="#d87cae" DESTINATION="ID_571516538" ENDARROW="Default" ENDINCLINATION="-569;36;" ID="Arrow_ID_490264910" STARTARROW="None" STARTINCLINATION="-116;14;"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1693840231223" ID="ID_765939651" MODIFIED="1693840234691" TEXT="Lebenszyklus"/>
|
|
|
|
|
</node>
|
|
|
|
|
</node>
|
|
|
|
|
<node CREATED="1681085780230" ID="ID_667166448" MODIFIED="1681085784377" TEXT="Render Toolkit">
|
|
|
|
|
<node CREATED="1681085789797" ID="ID_435519695" MODIFIED="1681085821901" TEXT="Abstraktionsschicht über Low-Level-Funktionalität"/>
|
|
|
|
|
<node CREATED="1681085863204" ID="ID_136936235" MODIFIED="1681085881132" TEXT="isoliert system-Level Services und externe Library-Erweiterungen"/>
|
|
|
|
|
|