Scheduler: implement the remaining API functions
...this completes the definition of the Scheduler-Service implementation
This commit is contained in:
parent
2baf058198
commit
ecf1a5a301
6 changed files with 313 additions and 46 deletions
|
|
@ -101,6 +101,7 @@ namespace gear {
|
|||
// standard copy operations acceptable
|
||||
|
||||
explicit operator uint32_t() const { return id_;}
|
||||
explicit operator bool() const { return id_ != 0; }
|
||||
|
||||
friend bool operator== (ManifestationID const& a, ManifestationID const& b) { return a.id_ == b.id_; }
|
||||
friend bool operator!= (ManifestationID const& a, ManifestationID const& b) { return not (a == b); }
|
||||
|
|
|
|||
|
|
@ -484,7 +484,7 @@ namespace gear {
|
|||
auto requiredNew = distance / _raw(epochStep_);
|
||||
if (distance % _raw(epochStep_) > 0)
|
||||
++requiredNew; // fractional: requested deadline lies within last epoch
|
||||
alloc_.openNew(requiredNew); // Note: epochHandle now points to the first new Epoch
|
||||
alloc_.openNew(requiredNew); // Note: nextEpoch now points to the first new Epoch
|
||||
for ( ; 0 < requiredNew; --requiredNew)
|
||||
{
|
||||
REQUIRE (nextEpoch);
|
||||
|
|
|
|||
|
|
@ -249,7 +249,8 @@ namespace gear {
|
|||
void
|
||||
activate (ManifestationID manID)
|
||||
{
|
||||
allowed_.insert (manID);
|
||||
if (manID)
|
||||
allowed_.insert (manID);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
|||
|
|
@ -283,12 +283,51 @@ namespace gear {
|
|||
|
||||
|
||||
/**
|
||||
*
|
||||
* Set the Scheduler to work on a new CalcStream.
|
||||
* @param planningJob a »meta-Job« to schedule a chunk of render-Jobs.
|
||||
* @param manID (optional) a manifestation-ID to be enabled for processing
|
||||
* @note the planningJob will be dispatched _immediately now,_ which typically
|
||||
* will cause its dispatch in the current thread (but that is not guaranteed).
|
||||
* The _deadline_ is also set automatically to a very large leeway (1/10 sec),
|
||||
* and the new planning job is marked as _compulsory_ — implying that the
|
||||
* Scheduler will [trigger emergency](\ref #triggerEmergency) if this deadline
|
||||
* can not be met. Emergency will cause all PlayProcess to be paused.
|
||||
* @remark it is up to the planning instance to use this mechanism properly; the idea
|
||||
* is to [place follow-up jobs](\ref #continueMetaJob) repeatedly, always to
|
||||
* define the next chunk of work jobs. If a ManifestationID is given, then
|
||||
* obviously the work jobs must use the same ID, since jobs with an ID not
|
||||
* [explicitly enabled](\ref SchedulerInvocation::activate) will be silently
|
||||
* discarded (unless the ID is zero, which is always implicitly enabled).
|
||||
* Moreover, the recommendation is to start planning with at least 20ms
|
||||
* of remaining headroom, to ensure smooth allocation of capacity.
|
||||
*/
|
||||
void
|
||||
seedCalcStream()
|
||||
seedCalcStream (Job planningJob
|
||||
,ManifestationID manID = ManifestationID())
|
||||
{
|
||||
UNIMPLEMENTED("get it going");
|
||||
layer1_.activate(manID);
|
||||
continueMetaJob (RealClock::now(), planningJob, manID);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Place a follow-up job-planning job into the timeline.
|
||||
*/
|
||||
void
|
||||
continueMetaJob (Time nextStart
|
||||
,Job planningJob
|
||||
,ManifestationID manID = ManifestationID())
|
||||
{
|
||||
bool isCompulsory = true;
|
||||
Time deadline = nextStart + DUTY_CYCLE_TOLERANCE;
|
||||
// place the meta-Job into the timeline...
|
||||
postChain ({activityLang_.buildMetaJob(planningJob, nextStart, deadline)
|
||||
.post()
|
||||
, nextStart
|
||||
, deadline
|
||||
, manID
|
||||
, isCompulsory});
|
||||
ensureDroppedGroomingToken();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ namespace test {
|
|||
|
||||
|
||||
/** @test cover properties and handling of Epochs (low-level)
|
||||
* - demonstrate that Epoch is placed into an Extent
|
||||
* - demonstrate that each Epoch is placed into an Extent
|
||||
* - verify that both Extent and Epoch access the same memory block
|
||||
* - demonstrate the standard setup and initialisation of an Epoch
|
||||
* - allocate some Activities into the storage and observe free-managment
|
||||
|
|
@ -191,7 +191,7 @@ namespace test {
|
|||
for (uint i=extent.size()-2; i>1; --i)
|
||||
gate.claimNextSlot();
|
||||
|
||||
// one final slot is left (beyond of the EpochGate itself)
|
||||
// one final slot is left (beyond the EpochGate itself)
|
||||
CHECK (isSameObject (*gate.next, epoch[1]));
|
||||
CHECK (gate.filledSlots() == EXTENT_SIZ-2);
|
||||
CHECK (gate.hasFreeSlot());
|
||||
|
|
@ -210,7 +210,6 @@ namespace test {
|
|||
CHECK ( gate.isAlive (Time(999,9)));
|
||||
CHECK (not gate.isAlive (Time(0,10)));
|
||||
CHECK (not gate.isAlive (Time(1,10)));
|
||||
////////////////////////////////////////////////////////////////////////////////////////TICKET #1298 : actually use a GATE implementation and then also check the count-down latch
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -78650,9 +78650,6 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</html></richcontent>
|
||||
<icon BUILTIN="help"/>
|
||||
<node CREATED="1693270676024" ID="ID_670456864" MODIFIED="1693270704990" TEXT="man könnte vorm Übergeben jedes POSTs die aktuelle Zeit prüfen..."/>
|
||||
<node CREATED="1693270719026" ID="ID_842390392" MODIFIED="1693270832972" TEXT="die Planung muß im Grooming-Modus stattfinden">
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1693270834579" ID="ID_362449143" MODIFIED="1693270967108" TEXT="damit ist ein Überholen von Jobs aus dem aktuellen Chunk ausgeschlossen">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
|
|
@ -78663,6 +78660,10 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</body>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node CREATED="1693270719026" ID="ID_842390392" MODIFIED="1699566672295" TEXT="die Planung muß im Grooming-Modus stattfinden">
|
||||
<linktarget COLOR="#4d42d4" DESTINATION="ID_842390392" ENDARROW="Default" ENDINCLINATION="-552;30;" ID="Arrow_ID_565359964" SOURCE="ID_1361396246" STARTARROW="None" STARTINCLINATION="358;16;"/>
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -78948,6 +78949,21 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<arrowlink COLOR="#fc5172" DESTINATION="ID_1834678491" ENDARROW="Default" ENDINCLINATION="-410;29;" ID="Arrow_ID_139741662" STARTARROW="None" STARTINCLINATION="-339;0;"/>
|
||||
<linktarget COLOR="#ff3681" DESTINATION="ID_1642755650" ENDARROW="Default" ENDINCLINATION="-874;84;" ID="Arrow_ID_846448701" SOURCE="ID_1433064275" STARTARROW="None" STARTINCLINATION="-223;-228;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1699563656019" ID="ID_1361396246" MODIFIED="1699566672294" TEXT="Job-Planung muß aus Konsistenzgründen in einem Job laufen">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
...damit sie das Grooming-Token hat und damit Zugriff auf die Scheduler-Ressourcen. Außerdem ist damit ein konsitenter Rahmen sichergestellt: geplante Startzeiten sollten frühestend 20ms danach beginnen
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<arrowlink COLOR="#3c55cf" DESTINATION="ID_916265093" ENDARROW="Default" ENDINCLINATION="-74;-350;" ID="Arrow_ID_1386478293" STARTARROW="None" STARTINCLINATION="673;31;"/>
|
||||
<arrowlink COLOR="#4d42d4" DESTINATION="ID_842390392" ENDARROW="Default" ENDINCLINATION="-552;30;" ID="Arrow_ID_565359964" STARTARROW="None" STARTINCLINATION="358;16;"/>
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1686839683285" ID="ID_36707137" MODIFIED="1687191788043" TEXT="JobPlanning">
|
||||
|
|
@ -78974,7 +78990,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1693238755343" HGAP="29" ID="ID_1858134894" MODIFIED="1693239064719" TEXT="Deadline-Service für »free wheeling« und background rendering" VSHIFT="10">
|
||||
<arrowlink COLOR="#683034" DESTINATION="ID_917322834" ENDARROW="Default" ENDINCLINATION="445;-22;" ID="Arrow_ID_57467075" STARTARROW="None" STARTINCLINATION="557;24;"/>
|
||||
<arrowlink COLOR="#683034" DESTINATION="ID_917322834" ENDARROW="Default" ENDINCLINATION="445;-22;" ID="Arrow_ID_57467075" STARTARROW="None" STARTINCLINATION="494;26;"/>
|
||||
<linktarget COLOR="#b84d5d" DESTINATION="ID_1858134894" ENDARROW="Default" ENDINCLINATION="348;-10;" ID="Arrow_ID_1937059043" SOURCE="ID_1162137081" STARTARROW="None" STARTINCLINATION="10;223;"/>
|
||||
<linktarget COLOR="#743f58" DESTINATION="ID_1858134894" ENDARROW="Default" ENDINCLINATION="-547;24;" ID="Arrow_ID_313746889" SOURCE="ID_1276102583" STARTARROW="None" STARTINCLINATION="-1607;-121;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
|
|
@ -79765,7 +79781,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
<node CREATED="1684980982361" ID="ID_1863198468" MODIFIED="1684980987321" TEXT="Themen">
|
||||
<node CREATED="1684980991406" ID="ID_1812192430" MODIFIED="1698948793241" TEXT="Timings nachführen">
|
||||
<arrowlink COLOR="#705783" DESTINATION="ID_1565158605" ENDARROW="Default" ENDINCLINATION="588;-13;" ID="Arrow_ID_516157232" STARTARROW="None" STARTINCLINATION="372;51;"/>
|
||||
<arrowlink COLOR="#705783" DESTINATION="ID_1565158605" ENDARROW="Default" ENDINCLINATION="588;-13;" ID="Arrow_ID_516157232" STARTARROW="None" STARTINCLINATION="126;24;"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -80235,6 +80251,22 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</body>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node CREATED="1699563384878" ID="ID_28734392" LINK="#ID_394986223" MODIFIED="1699563462111" VSHIFT="6">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p style="text-align: center">
|
||||
beide Probleme lassen sich nicht lösen —
|
||||
</p>
|
||||
<p style="text-align: center">
|
||||
<i>..aber entschärfen..</i>
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#972e26" CREATED="1693224254426" ID="ID_135086138" MODIFIED="1693224295058" TEXT="Zielkonflikt bei „erfundenen“ Deadlines">
|
||||
<icon BUILTIN="clanbomber"/>
|
||||
|
|
@ -80308,25 +80340,25 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1688999216020" ID="ID_1652417442" MODIFIED="1689000686850" TEXT="Nutzungs-Zyklus">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1688999216020" ID="ID_1652417442" MODIFIED="1699563479356" TEXT="Nutzungs-Zyklus">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#338800" CREATED="1688999221795" ID="ID_1575286737" MODIFIED="1693327452333" TEXT="der Term selbst ist transient">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1688999245632" ID="ID_1036154230" MODIFIED="1689000708795">
|
||||
<node COLOR="#338800" CREATED="1688999245632" ID="ID_1036154230" MODIFIED="1699563218151">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
<p>
|
||||
aus dem Term können die
|
||||
aus dem Term gehen die
|
||||
</p>
|
||||
<p>
|
||||
Instruct-Daten gewonnen werden
|
||||
Scheduling-Daten hervor
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<arrowlink COLOR="#95354f" DESTINATION="ID_61492355" ENDARROW="Default" ENDINCLINATION="-907;-55;" ID="Arrow_ID_1026469877" STARTARROW="None" STARTINCLINATION="-985;134;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#435e98" CREATED="1693174049090" ID="ID_21670308" MODIFIED="1693269809516" TEXT="was wird überhaupt benötigt?">
|
||||
<icon BUILTIN="help"/>
|
||||
<node CREATED="1693174068255" ID="ID_324012035" MODIFIED="1693174093851">
|
||||
|
|
@ -80343,15 +80375,23 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node CREATED="1693174135510" ID="ID_1652013577" MODIFIED="1693269047632" TEXT="für diese aber stets eine Aktivierungs-Zeit ≙ »Water-Level«">
|
||||
<arrowlink COLOR="#bb6884" DESTINATION="ID_331711778" ENDARROW="Default" ENDINCLINATION="309;8;" ID="Arrow_ID_743236550" STARTARROW="None" STARTINCLINATION="180;9;"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1693269074177" ID="ID_715918201" MODIFIED="1693269098396" TEXT="⟹ Konsequenz: es wird eine POST-Activity erwartet">
|
||||
<node CREATED="1693269074177" ID="ID_715918201" MODIFIED="1699563126557" TEXT="⟹ Konsequenz: es wird eine POST-Activity erwartet">
|
||||
<node CREATED="1697503384674" ID="ID_478110624" MODIFIED="1697503477075" TEXT="timeWindow.life ⟼ »when«-Parameter für Scheduling">
|
||||
<arrowlink COLOR="#6289a0" DESTINATION="ID_1952039720" ENDARROW="Default" ENDINCLINATION="814;-69;" ID="Arrow_ID_95530766" STARTARROW="None" STARTINCLINATION="658;36;"/>
|
||||
</node>
|
||||
<node CREATED="1697503353470" ID="ID_1942594803" MODIFIED="1697503382998" TEXT="timeWindow.dead ⟼ Deadline für den BlockFlow-Allocator"/>
|
||||
</node>
|
||||
<node COLOR="#435e98" CREATED="1699562986721" ID="ID_132607334" LINK="#ID_5485655" MODIFIED="1699563082181" TEXT="es werden weitere Informationen zur Relevanz benötigt">
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1699563100616" ID="ID_1191499530" MODIFIED="1699563131784" TEXT="⟹ läuft in jedem Fall auf einen Builder hinaus"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1699563136890" ID="ID_1816494945" MODIFIED="1699563238511" TEXT="das tatsächliche API wird kompleter (und limitierter)">
|
||||
<arrowlink COLOR="#576f6b" DESTINATION="ID_1142273023" ENDARROW="Default" ENDINCLINATION="-1210;-1187;" ID="Arrow_ID_417210596" STARTARROW="None" STARTINCLINATION="-575;30;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1688999304504" ID="ID_564520426" MODIFIED="1693327475634" TEXT="der Term bleibt auch nach dem Instruct() valide">
|
||||
<node COLOR="#338800" CREATED="1688999304504" ID="ID_564520426" MODIFIED="1699545900403" TEXT="der Term bleibt auch nach dem post() valide">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#338800" CREATED="1688999331796" ID="ID_1974598754" MODIFIED="1693327479852" TEXT="Builder-Operationen sind vorher gültig">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
|
|
@ -80391,7 +80431,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1688999553494" ID="ID_370064738" MODIFIED="1693271022228" TEXT="Analyse der Concurrency-Situation">
|
||||
<arrowlink COLOR="#fe123a" DESTINATION="ID_1716270984" ENDARROW="Default" ENDINCLINATION="-2763;178;" ID="Arrow_ID_883377376" STARTARROW="None" STARTINCLINATION="657;50;"/>
|
||||
<icon BUILTIN="flag-pink"/>
|
||||
<node COLOR="#435e98" CREATED="1693271026513" HGAP="45" ID="ID_578093558" MODIFIED="1693271085681" VSHIFT="10">
|
||||
<node COLOR="#435e98" CREATED="1693271026513" HGAP="45" ID="ID_578093558" MODIFIED="1699567052537" VSHIFT="10">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
|
|
@ -80400,8 +80440,23 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
...da nun wirklich jeder Dispatch am Grooming-Token <i>„vorbei muß“  — </i>theoretisch wäre es sogar darstellbar, die eigentliche Job-Planung außerhalb und ohne Grooming-Token zu machen; die neuen Jobs gehen dann eben in die Instruction-Queue. Auch eine Notification (welche das Gate dekrementieren könnte) geht durch das λ-post, welches direkt durch Layer2.postDispatch geht, und damit entweder versucht, das Grooming-Token zu erlangen, oder eben in die Instruct-Queue einstellt
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<arrowlink COLOR="#3f59c9" DESTINATION="ID_504534684" ENDARROW="Default" ENDINCLINATION="405;-19;" ID="Arrow_ID_1923865634" STARTARROW="None" STARTINCLINATION="-29;133;"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1699563567271" HGAP="54" ID="ID_916265093" MODIFIED="1699563851855" TEXT="Wichtig: stets nur auf diesem Weg planen" VSHIFT="15">
|
||||
<arrowlink COLOR="#579fc9" DESTINATION="ID_1878072938" ENDARROW="Default" ENDINCLINATION="344;30;" ID="Arrow_ID_29503486" STARTARROW="None" STARTINCLINATION="22;126;"/>
|
||||
<linktarget COLOR="#3c55cf" DESTINATION="ID_916265093" ENDARROW="Default" ENDINCLINATION="-74;-350;" ID="Arrow_ID_1386478293" SOURCE="ID_1361396246" STARTARROW="None" STARTINCLINATION="673;31;"/>
|
||||
<icon BUILTIN="clanbomber"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1693269900769" ID="ID_734843401" MODIFIED="1693269922734" TEXT="kann erst im Rahmen der Integration mit Job-Planning geklärt werden">
|
||||
|
|
@ -80411,7 +80466,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
<node COLOR="#338800" CREATED="1688999319686" ID="ID_1484039920" MODIFIED="1693327501431" TEXT="der Term kann jederzeit ohne Seiteneffekt gelöscht werden">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node BACKGROUND_COLOR="#fdfdcf" COLOR="#ff0000" CREATED="1688999694596" ID="ID_504534684" MODIFIED="1693271078574" TEXT="Term-Build setzt GroomingToken vorraus">
|
||||
<node BACKGROUND_COLOR="#e0ceaa" COLOR="#690f14" CREATED="1688999694596" ID="ID_504534684" MODIFIED="1699563529026" TEXT="Term-Build setzt GroomingToken vorraus">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
|
|
@ -80423,6 +80478,23 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<linktarget COLOR="#3f59c9" DESTINATION="ID_504534684" ENDARROW="Default" ENDINCLINATION="405;-19;" ID="Arrow_ID_1923865634" SOURCE="ID_578093558" STARTARROW="None" STARTINCLINATION="-29;133;"/>
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
<node CREATED="1699563508108" ID="ID_565152299" MODIFIED="1699563525418" TEXT="muß durch den Aufrufkontext sichergestellt werden">
|
||||
<icon BUILTIN="yes"/>
|
||||
</node>
|
||||
<node CREATED="1699563536669" ID="ID_1878072938" MODIFIED="1699563756594" TEXT="dieser ist selbst ein (Meta)Job">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
und hat damit garantiert das Grooming-Token
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<linktarget COLOR="#579fc9" DESTINATION="ID_1878072938" ENDARROW="Default" ENDINCLINATION="344;30;" ID="Arrow_ID_29503486" SOURCE="ID_916265093" STARTARROW="None" STARTINCLINATION="22;126;"/>
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -80433,8 +80505,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1690068378225" ID="ID_975357334" MODIFIED="1690068414755" TEXT="ActivityLang ≡ Rahmen und Laufzeitsystem">
|
||||
<linktarget COLOR="#3d344c" DESTINATION="ID_975357334" ENDARROW="Default" ENDINCLINATION="-4;-17;" ID="Arrow_ID_56581087" SOURCE="ID_462121305" STARTARROW="Default" STARTINCLINATION="6;32;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1690068444705" ID="ID_1936713026" MODIFIED="1690068449569" TEXT="stellt Setup bereit">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1690068444705" ID="ID_1936713026" MODIFIED="1699567142132" TEXT="stellt Setup bereit">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#338800" CREATED="1690068450704" ID="ID_716451982" MODIFIED="1693431638406" TEXT="Dependency-Injection">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1690068675474" ID="ID_834417186" MODIFIED="1690068685091" TEXT="reine Konstruktor-DI genügt">
|
||||
|
|
@ -80444,8 +80516,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1690068469725" ID="ID_1098945451" MODIFIED="1690068479132" TEXT="λ-Bindings">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1690068469725" ID="ID_1098945451" MODIFIED="1699567140369" TEXT="λ-Bindings">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1690068487379" ID="ID_967744995" MODIFIED="1690068517443" TEXT="Teile der Activity-Ausführungen aktiveren externe Funktionalität"/>
|
||||
<node CREATED="1690068633296" ID="ID_490552261" MODIFIED="1690068663039" TEXT="diese müssen mit dem Setup bereits mit hergestellt werden"/>
|
||||
<node CREATED="1690068518127" ID="ID_72274125" MODIFIED="1690068609740" TEXT="diese wird normalerweise im Scheduler Layer-2 bereitgestellt">
|
||||
|
|
@ -80456,8 +80528,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1690068712621" ID="ID_663408731" MODIFIED="1690068720581" TEXT="Abstraktion: ExecutionContext">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node COLOR="#338800" CREATED="1690068712621" ID="ID_663408731" MODIFIED="1699567130353" TEXT="Abstraktion: ExecutionContext">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1690068752736" ID="ID_1532008023" MODIFIED="1690494850607" TEXT="enthält die λ-Bindings">
|
||||
<arrowlink COLOR="#e3fddf" DESTINATION="ID_229335349" ENDARROW="Default" ENDINCLINATION="46;-190;" ID="Arrow_ID_382638651" STARTARROW="None" STARTINCLINATION="-301;39;"/>
|
||||
<linktarget COLOR="#dae9fa" DESTINATION="ID_1532008023" ENDARROW="Default" ENDINCLINATION="-184;505;" ID="Arrow_ID_61418953" SOURCE="ID_1073489318" STARTARROW="None" STARTINCLINATION="630;34;"/>
|
||||
|
|
@ -80509,7 +80581,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1690490265626" ID="ID_691752926" MODIFIED="1690490274359" TEXT="wird eingebunden als Template-Parameter">
|
||||
<node COLOR="#435e98" CREATED="1690490265626" FOLDED="true" ID="ID_691752926" MODIFIED="1699567176393" TEXT="wird eingebunden als Template-Parameter">
|
||||
<node COLOR="#338800" CREATED="1690490280656" ID="ID_1134844863" MODIFIED="1690490315482" TEXT="direkt in Activity selber">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
|
|
@ -80591,12 +80663,12 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1693316292138" ID="ID_1313498082" MODIFIED="1693440864259" TEXT="Ausführungs-Logik">
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1693316312133" ID="ID_1707163520" MODIFIED="1697497953582" TEXT="Bedeutung des kontextuellen Zeitfensters?">
|
||||
<node COLOR="#338800" CREATED="1693316292138" ID="ID_1313498082" MODIFIED="1699567152802" TEXT="Ausführungs-Logik">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#435e98" CREATED="1693316312133" ID="ID_1707163520" MODIFIED="1699567158536" TEXT="Bedeutung des kontextuellen Zeitfensters?">
|
||||
<linktarget COLOR="#7d7d95" DESTINATION="ID_1707163520" ENDARROW="Default" ENDINCLINATION="-66;1053;" ID="Arrow_ID_1162895595" SOURCE="ID_1428475873" STARTARROW="None" STARTINCLINATION="803;63;"/>
|
||||
<icon BUILTIN="help"/>
|
||||
<node CREATED="1693316323123" ID="ID_118526613" MODIFIED="1693316925262" TEXT="noch nicht recht klar...">
|
||||
<node COLOR="#435e98" CREATED="1693316323123" ID="ID_118526613" MODIFIED="1699567233998" TEXT="noch nicht recht klar...">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
|
|
@ -80605,8 +80677,13 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1699567240161" HGAP="68" ID="ID_1589694579" MODIFIED="1699567279664" STYLE="bubble" TEXT="(inzwischen schon)" VSHIFT="-4">
|
||||
<edge COLOR="#2813ae"/>
|
||||
<font ITALIC="true" NAME="SansSerif" SIZE="9"/>
|
||||
<icon BUILTIN="ksmiletris"/>
|
||||
</node>
|
||||
<node CREATED="1693316943383" ID="ID_816321833" MODIFIED="1693317032517" TEXT="Redundanz in den Deadline-Angaben">
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#c8c0b6" COLOR="#435e98" CREATED="1693316943383" FOLDED="true" ID="ID_816321833" MODIFIED="1699567307253" TEXT="Redundanz in den Deadline-Angaben">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
<body>
|
||||
|
|
@ -80615,6 +80692,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
<icon BUILTIN="yes"/>
|
||||
<node CREATED="1693317159003" ID="ID_231581526" MODIFIED="1693317168673" TEXT="Deadline für den BlockFlow-Allocator"/>
|
||||
<node CREATED="1693317169874" ID="ID_259509888" MODIFIED="1693317180028" TEXT="Deadline-Check im GATE"/>
|
||||
<node COLOR="#5b280f" CREATED="1693317215964" ID="ID_983950185" MODIFIED="1693317373254" TEXT="redundante Deadline-Prüfung im Scheduler sinnvoll?">
|
||||
|
|
@ -80658,7 +80736,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1697500165153" ID="ID_1967372083" MODIFIED="1697500296652" TEXT="Bedeutung des »when«-Parameters">
|
||||
<node COLOR="#435e98" CREATED="1697500165153" FOLDED="true" ID="ID_1967372083" MODIFIED="1699567305397" TEXT="Bedeutung des »when«-Parameters">
|
||||
<icon BUILTIN="info"/>
|
||||
<node CREATED="1697501206702" ID="ID_327384351" MODIFIED="1697501307538" TEXT="POST-Activity: data_.timeWindow.life ⟼ »when«-Parameter"/>
|
||||
<node CREATED="1697500302194" ID="ID_454559013" MODIFIED="1697500322768" TEXT="in λ-post | POST-Eingang">
|
||||
<node CREATED="1697500328916" ID="ID_1952039720" MODIFIED="1697503477075" TEXT="der Triggerzeitpunkt">
|
||||
|
|
@ -81122,6 +81201,19 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node CREATED="1681398712198" ID="ID_1529988864" MODIFIED="1681398770503" TEXT="Schedule ≡ Priorisierung und Verteilung an die Worker"/>
|
||||
<node CREATED="1681398678151" ID="ID_1921320233" MODIFIED="1681398704971" TEXT="Control ≡ Beobachtung und Zustands-Aktualisierung"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1699567400583" ID="ID_1805979989" MODIFIED="1699567595728" TEXT="Play-Prozeß">
|
||||
<icon BUILTIN="hourglass"/>
|
||||
</node>
|
||||
<node COLOR="#435e98" CREATED="1699567397056" ID="ID_1111153236" MODIFIED="1699567591682" TEXT="Scheduler">
|
||||
<icon BUILTIN="info"/>
|
||||
<node CREATED="1699567412006" ID="ID_1349496227" MODIFIED="1699567426127" TEXT="Scheduler-API: Eingang von der Planung"/>
|
||||
<node CREATED="1699567426716" ID="ID_1278770752" MODIFIED="1699567463730" TEXT="SchedulerService: Verbindungen und Kapazitätsplanung"/>
|
||||
<node CREATED="1699567565622" ID="ID_578353407" MODIFIED="1699567584295" TEXT="LoadController: Selbstregulierung und Kapazitäts-Steuerung"/>
|
||||
<node CREATED="1699567465549" ID="ID_354480855" MODIFIED="1699567483062" TEXT="Layer-2: Concurrency und Dispatch"/>
|
||||
<node CREATED="1699567483834" ID="ID_252865294" MODIFIED="1699567496373" TEXT="Layer-1: Queue-Implementierung"/>
|
||||
<node CREATED="1699567498680" ID="ID_1842900991" MODIFIED="1699567516105" TEXT="Activity-Lang: Steuerung der Ausfürhungs-Struktur"/>
|
||||
<node CREATED="1699567516725" ID="ID_536129711" MODIFIED="1699567556603" TEXT="BlockFlow: garantierte Lebensdauer-Zeit"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1680563595176" ID="ID_773353840" MODIFIED="1680563601552" TEXT="Aufruf/Verdrahtung im Player">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
|
|
@ -81150,7 +81242,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1680564304940" ID="ID_1657236591" MODIFIED="1697664155547" TEXT="Scheduler entwerfen">
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1680564304940" ID="ID_1657236591" MODIFIED="1699571818475" TEXT="Scheduler entwerfen">
|
||||
<arrowlink COLOR="#93236a" DESTINATION="ID_1753880750" ENDARROW="Default" ENDINCLINATION="-499;-50;" ID="Arrow_ID_1018529334" STARTARROW="None" STARTINCLINATION="-219;1274;"/>
|
||||
<linktarget COLOR="#f6e1c2" DESTINATION="ID_1657236591" ENDARROW="Default" ENDINCLINATION="-1219;87;" ID="Arrow_ID_49470357" SOURCE="ID_59027079" STARTARROW="None" STARTINCLINATION="-2189;368;"/>
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1687471254704" ID="ID_1902396309" MODIFIED="1687471266974" TEXT="Basis und Rahmen">
|
||||
|
|
@ -82015,7 +82108,18 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<icon BUILTIN="info"/>
|
||||
</node>
|
||||
<node CREATED="1698937110289" ID="ID_1837336933" MODIFIED="1698937115982" TEXT="reduziert Header-Includes"/>
|
||||
<node CREATED="1698937116771" ID="ID_231850405" MODIFIED="1698937120938" TEXT="verbessert Verständlichkeit"/>
|
||||
<node CREATED="1698937116771" ID="ID_231850405" MODIFIED="1699573981078" TEXT="verbessert Verständlichkeit">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
<i>das</i> ist das ausschlaggebende Argument: Jemand, der erst mal nur den Scheduler-Header liest, wäre sonst sofort erschlagen von technischen Details, und würde den Wald vor lauter Bäumen nicht mehr sehen. Zumal Scheduler selber nochmal zerlegt wird in einen Header-Anteil und eine eigene translation-unit (scheduler.cpp)
|
||||
</p>
|
||||
</body>
|
||||
</html></richcontent>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#e1d6c7" COLOR="#463227" CREATED="1698945910380" ID="ID_1122976270" MODIFIED="1698946107167" TEXT="Domänen-Struktur zeigt sich">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
|
|
@ -82030,7 +82134,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1698937122167" ID="ID_4829396" MODIFIED="1698937490736" TEXT="kann dort Inteface-Typen definieren">
|
||||
<icon BUILTIN="yes"/>
|
||||
<node BACKGROUND_COLOR="#f8f1cb" COLOR="#a50125" CREATED="1699245684722" ID="ID_1883772504" MODIFIED="1699245829024" TEXT="Zusammenarbeit mit SchedulerService ermöglichen">
|
||||
<linktarget COLOR="#fedfb1" DESTINATION="ID_1883772504" ENDARROW="Default" ENDINCLINATION="-261;14;" ID="Arrow_ID_416423581" SOURCE="ID_788545423" STARTARROW="None" STARTINCLINATION="242;-83;"/>
|
||||
<linktarget COLOR="#fedfb1" DESTINATION="ID_1883772504" ENDARROW="Default" ENDINCLINATION="-261;14;" ID="Arrow_ID_416423581" SOURCE="ID_788545423" STARTARROW="None" STARTINCLINATION="193;-33;"/>
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
<node CREATED="1699245702520" ID="ID_1053537499" MODIFIED="1699245792944" TEXT="möglichst wenig virtuelle Funktionen">
|
||||
|
|
@ -82043,7 +82147,35 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
<node CREATED="1698936458463" ID="ID_1013196495" MODIFIED="1698936467425" TEXT="bedeutet: virtuelle Funktionen">
|
||||
<node CREATED="1698936468473" ID="ID_1724852576" MODIFIED="1698936484199" TEXT="⟹ Konsequenz: nur Prozeß-Level-API"/>
|
||||
<node CREATED="1698936561745" ID="ID_725627912" MODIFIED="1698936583898" TEXT="auch die Activity-Lang soll verborgen bleiben"/>
|
||||
<node COLOR="#5b280f" CREATED="1698936561745" ID="ID_725627912" MODIFIED="1699573624922" TEXT="auch die Activity-Lang soll verborgen bleiben">
|
||||
<icon BUILTIN="button_cancel"/>
|
||||
<node CREATED="1699573633992" ID="ID_1916986829" MODIFIED="1699573853826" TEXT="das läßt sich in der Strenge nicht ohne Weiteres realisieren">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
...und zwar wegen der Builder-Notation; wegen der Möglichkeit, später noch Dependencies aufzuschalten, muß der activity::Term im Builder eingebettet sein, also bei der Definition der Builder-Klasse bekannt. Einziger Ausweg wäre, in die äußere Builder-Klasse einen opaque buffer zu legen, und die Implementierung in scheduler.cpp nachzutragen. Diese Lösung halte ich für unnötig komplex (wiewohl sie keinen relevanten Performance-overhead erzeugt)
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1699573648854" ID="ID_716393193" MODIFIED="1699573724694" TEXT="ist aber auch nicht wirklich notwendig">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
...denn die betreffenden Header sind nicht wirklich <i>schwergewichtig</i>  —<b> </b>im Besonderen da die typischen Clients des SchedulerService selber Implementierungs-Code sind
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1698936663551" ID="ID_1985217972" MODIFIED="1698937090405" TEXT="normalen Job über abstrahiertes Builder-API einstellen">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head/>
|
||||
|
|
@ -82055,6 +82187,35 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</html></richcontent>
|
||||
<linktarget COLOR="#997b81" DESTINATION="ID_1985217972" ENDARROW="Default" ENDINCLINATION="863;46;" ID="Arrow_ID_1068642654" SOURCE="ID_41803972" STARTARROW="None" STARTINCLINATION="793;49;"/>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1699574005686" ID="ID_1637382420" MODIFIED="1699574018197" TEXT="brauche noch sinnvollen virtuellen Zugang zum Scheduler">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node CREATED="1699574037212" ID="ID_621021823" MODIFIED="1699574131476" TEXT="postChain wäre ein Kandidat, ist aber zweifelhaft">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
denn dabei handelt es sich nun wirklich um eine zentrale Implementierungs-Funktion, die auch aus der Implementierung heraus aufgerufen wird. Selbst wenn der Optimizer wahrscheinlich die <i>monomorphic optimization </i>beherrscht, macht man sowas einfach nicht.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1699574329467" ID="ID_1038685203" MODIFIED="1699574971826" TEXT="zumal die anderen high-level-Funktionen auch virtual sein müssen">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
...so ziemlich jede von denen greift in der Implementierung auf die Komponenten im Scheduler zu.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -82078,6 +82239,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<icon BUILTIN="button_ok"/>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1697756908166" ID="ID_1142273023" MODIFIED="1699497966267" TEXT="Wrapper-Builder um den Activity-Term legen">
|
||||
<linktarget COLOR="#576f6b" DESTINATION="ID_1142273023" ENDARROW="Default" ENDINCLINATION="-1210;-1187;" ID="Arrow_ID_417210596" SOURCE="ID_1816494945" STARTARROW="None" STARTINCLINATION="-575;30;"/>
|
||||
<linktarget COLOR="#33aaf4" DESTINATION="ID_1142273023" ENDARROW="Default" ENDINCLINATION="-737;663;" ID="Arrow_ID_891496003" SOURCE="ID_175313196" STARTARROW="None" STARTINCLINATION="1218;-76;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node COLOR="#338800" CREATED="1698945250261" ID="ID_780386157" MODIFIED="1699376300350" TEXT="Zusatz-Angaben zur Relevanz">
|
||||
|
|
@ -82194,8 +82356,8 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1699245611846" FOLDED="true" ID="ID_788545423" MODIFIED="1699498007295" TEXT="Definitions-Struktur und Code-Anordnung klären">
|
||||
<arrowlink COLOR="#fedfb1" DESTINATION="ID_1883772504" ENDARROW="Default" ENDINCLINATION="-261;14;" ID="Arrow_ID_416423581" STARTARROW="None" STARTINCLINATION="242;-83;"/>
|
||||
<node COLOR="#338800" CREATED="1699245611846" FOLDED="true" ID="ID_788545423" MODIFIED="1699573896906" TEXT="Definitions-Struktur und Code-Anordnung klären">
|
||||
<arrowlink COLOR="#fedfb1" DESTINATION="ID_1883772504" ENDARROW="Default" ENDINCLINATION="-261;14;" ID="Arrow_ID_416423581" STARTARROW="None" STARTINCLINATION="193;-33;"/>
|
||||
<arrowlink COLOR="#f5dffd" DESTINATION="ID_3688190" ENDARROW="Default" ENDINCLINATION="-410;-597;" ID="Arrow_ID_1041094005" STARTARROW="None" STARTINCLINATION="-664;318;"/>
|
||||
<icon BUILTIN="button_ok"/>
|
||||
<node CREATED="1699245733434" ID="ID_1697507405" MODIFIED="1699245746917" TEXT="die post()-Implementierung muß den eigentlichen Scheduler sehen"/>
|
||||
|
|
@ -82261,8 +82423,50 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1697757025906" ID="ID_180161439" MODIFIED="1697757063868" TEXT="seedCalcStream()">
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
<node BACKGROUND_COLOR="#eef0c5" COLOR="#990000" CREATED="1697757025906" ID="ID_180161439" MODIFIED="1699575045104" TEXT="seedCalcStream()">
|
||||
<icon BUILTIN="pencil"/>
|
||||
<node CREATED="1699568049090" ID="ID_1596574245" MODIFIED="1699568057075" TEXT="hat sehr viel limitiertere Aufgaben">
|
||||
<icon BUILTIN="idea"/>
|
||||
</node>
|
||||
<node CREATED="1699568058043" ID="ID_1348913314" MODIFIED="1699568067002" TEXT="daher ist hier kein expliziter Builder notwendig"/>
|
||||
<node CREATED="1699568068327" ID="ID_1707263469" MODIFIED="1699568075312" TEXT="kann direkt auf die unterliegenden APIs durchgehen"/>
|
||||
<node CREATED="1699568097669" ID="ID_669864822" MODIFIED="1699568115788" TEXT="einige Parameter werden fest vorgegeben">
|
||||
<node CREATED="1699568121776" ID="ID_33668425" MODIFIED="1699568155219" TEXT="die Deadline: analog zum »Tick«">
|
||||
<richcontent TYPE="NOTE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
also sehr großzügig
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1699568156544" ID="ID_635029922" MODIFIED="1699568164782" TEXT="es ist immer ein Meta-Job"/>
|
||||
<node CREATED="1699568165537" ID="ID_788135445" MODIFIED="1699568185049">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
er ist stets <i>compulsory</i>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
</node>
|
||||
<node CREATED="1699568192950" ID="ID_46078853" MODIFIED="1699568201950" TEXT="weitere Parameter sind nur optional">
|
||||
<node CREATED="1699568225289" ID="ID_1953407534" MODIFIED="1699568238756" TEXT="brauche daher zwei Varianten"/>
|
||||
<node CREATED="1699568239935" ID="ID_1918919265" MODIFIED="1699568264056" TEXT="Start-Offset ist per default »now«"/>
|
||||
<node CREATED="1699568273591" ID="ID_138761713" MODIFIED="1699568281494" TEXT="aber die ManifestationID wird man meist angeben">
|
||||
<node CREATED="1699568288833" ID="ID_1628158423" MODIFIED="1699568304195" TEXT="denn auch eine bereits abgeschickte Planungs-Fortschreibung kann obsolet werden"/>
|
||||
<node CREATED="1699568305542" ID="ID_145276801" MODIFIED="1699568314497" TEXT="sie wird ja um eine erhebliche Zeit in die Zukunft geschoben"/>
|
||||
</node>
|
||||
</node>
|
||||
</node>
|
||||
<node COLOR="#338800" CREATED="1697757058002" ID="ID_603254465" MODIFIED="1698867045291" TEXT="terminateProcessing()">
|
||||
<icon BUILTIN="button_ok"/>
|
||||
|
|
@ -88964,7 +89168,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1684980732965" ID="ID_1914429002" MODIFIED="1684980742528" TEXT="Thema: Timing-Updates">
|
||||
<icon BUILTIN="hourglass"/>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1684980744406" ID="ID_1565158605" LINK="https://issues.lumiera.org/ticket/1302" MODIFIED="1698948793241" TEXT="#1302 maintain consistent job timings">
|
||||
<linktarget COLOR="#705783" DESTINATION="ID_1565158605" ENDARROW="Default" ENDINCLINATION="588;-13;" ID="Arrow_ID_516157232" SOURCE="ID_1812192430" STARTARROW="None" STARTINCLINATION="372;51;"/>
|
||||
<linktarget COLOR="#705783" DESTINATION="ID_1565158605" ENDARROW="Default" ENDINCLINATION="588;-13;" ID="Arrow_ID_516157232" SOURCE="ID_1812192430" STARTARROW="None" STARTINCLINATION="126;24;"/>
|
||||
<icon BUILTIN="flag-yellow"/>
|
||||
</node>
|
||||
</node>
|
||||
|
|
@ -95083,7 +95287,7 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
</node>
|
||||
<node BACKGROUND_COLOR="#eee5c3" COLOR="#990000" CREATED="1693238542895" ID="ID_917322834" MODIFIED="1693238802819" TEXT="Deadlines for »free wheeling« and background rendering">
|
||||
<arrowlink COLOR="#e7367a" DESTINATION="ID_1212740184" ENDARROW="Default" ENDINCLINATION="12;-24;" ID="Arrow_ID_1622880291" STARTARROW="None" STARTINCLINATION="104;5;"/>
|
||||
<linktarget COLOR="#683034" DESTINATION="ID_917322834" ENDARROW="Default" ENDINCLINATION="445;-22;" ID="Arrow_ID_57467075" SOURCE="ID_1858134894" STARTARROW="None" STARTINCLINATION="557;24;"/>
|
||||
<linktarget COLOR="#683034" DESTINATION="ID_917322834" ENDARROW="Default" ENDINCLINATION="445;-22;" ID="Arrow_ID_57467075" SOURCE="ID_1858134894" STARTARROW="None" STARTINCLINATION="494;26;"/>
|
||||
<linktarget COLOR="#fe6147" DESTINATION="ID_917322834" ENDARROW="Default" ENDINCLINATION="631;-14;" ID="Arrow_ID_1361409427" SOURCE="ID_1655832509" STARTARROW="None" STARTINCLINATION="953;54;"/>
|
||||
<icon BUILTIN="messagebox_warning"/>
|
||||
</node>
|
||||
|
|
@ -95414,6 +95618,29 @@ Date:   Thu Apr 20 18:53:17 2023 +0200<br/>
|
|||
<node CREATED="1698201429620" ID="ID_1635005942" MODIFIED="1698201443678" TEXT="und dem Vermeiden vorgreifender Festlegungen"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1699571704643" ID="ID_1753880750" MODIFIED="1699571808810" TEXT="offengebliebene Fragen...?">
|
||||
<linktarget COLOR="#93236a" DESTINATION="ID_1753880750" ENDARROW="Default" ENDINCLINATION="-499;-50;" ID="Arrow_ID_1018529334" SOURCE="ID_1657236591" STARTARROW="None" STARTINCLINATION="-219;1274;"/>
|
||||
<icon BUILTIN="help"/>
|
||||
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1699571826546" FOLDED="true" ID="ID_841781324" MODIFIED="1699571977489" TEXT="brauchen wir überhaupt ein POST-Verb?">
|
||||
<icon BUILTIN="hourglass"/>
|
||||
<node CREATED="1699571849031" ID="ID_162465543" MODIFIED="1699571881135" TEXT="es wurde eingeführt, um ein (start,deadline)-Fenster „kontextuell“ bereitzustellen"/>
|
||||
<node CREATED="1699571882718" ID="ID_306783739" MODIFIED="1699571918305" TEXT="außerdem führt die Aktivierung via λ-post wieder in den Dispatch"/>
|
||||
<node CREATED="1699571920304" ID="ID_645005092" MODIFIED="1699571938972">
|
||||
<richcontent TYPE="NODE"><html>
|
||||
<head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
allerdings haben wir jetzt praktisch immer einen<i> direkten Eingang</i>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
</richcontent>
|
||||
</node>
|
||||
<node CREATED="1699571939723" ID="ID_308661587" MODIFIED="1699571957595" TEXT="und dabei werden (start, deadline) jeweils nochmal explizit gegeben"/>
|
||||
</node>
|
||||
</node>
|
||||
<node BACKGROUND_COLOR="#f0d5c5" COLOR="#990033" CREATED="1698449820247" ID="ID_759735068" MODIFIED="1698449830478" TEXT="Fragen für später...">
|
||||
<icon BUILTIN="help"/>
|
||||
<node BACKGROUND_COLOR="#d2beaf" COLOR="#5c4d6e" CREATED="1698449617586" ID="ID_1388229244" MODIFIED="1698450803071" TEXT="hot-polling on Grooming-Token?">
|
||||
|
|
|
|||
Loading…
Reference in a new issue