Edge-home-orchestration-go: [WIP] Zentralisierte Verwaltung von Edge-GerÀten und -Diensten

Erstellt am 20. Aug. 2020  Â·  17Kommentare  Â·  Quelle: lf-edge/edge-home-orchestration-go

Bezieht sich Ihre Feature-Anfrage auf ein Problem?
Die derzeitige Methode zur Auswahl eines Edge-GerĂ€ts fĂŒr die DienstausfĂŒhrung ist dezentralisiert und komplex. Die Edge-Orchestrierung als Edge-Knoten sammelt das endgĂŒltige Score-Ergebnis von anderen Edge-GerĂ€ten und verlagert Dienste auf das Highscore-GerĂ€t.

Beschreiben Sie die gewĂŒnschte Lösung
Nur ein Edge-Orchestrator steuert alle anderen Edge-Knoten und -Dienste.
Die folgenden Funktionen sind erforderlich.

  • [x] Sammeln Sie Ressourceninformationen von anderen GerĂ€ten
  • [ ] Metriken fĂŒr die Auswahl von primĂ€r/sekundĂ€r
  • [ ] Dienstanfragen vom Anforderer an den Edge Orchestrator weiterleiten
  • [ ] Benachrichtigen des Anforderers ĂŒber das Dienstauslagerungsergebnis
enhancement

Hilfreichster Kommentar

@suresh-lc @MoonkiHong Das ist ein wichtiges Thema und ich konnte im Moment nicht darĂŒber nachdenken, wie ich das Szenario lösen könnte. Gibt es einen Code auf Home Edge, der das Problem löst, wenn B oder C, die Highscore an A senden, abrupt sinken?

Alle 17 Kommentare

@suresh-lc @Karthikeyan-Samsung PTAL. Der aktuelle Scoring-Mechanismus ist fĂŒr mich etwas ineffizient, da die jeweiligen Edge-Kandidaten ihre KapazitĂ€t als Score selbst berechnen und diese Ergebnisse einfach an den Master senden. Andererseits kann der Master diese Scores anstelle jedes Kantenkandidaten basierend auf den von ihnen ĂŒbermittelten KapazitĂ€tsfaktoren berechnen. Dies scheint dem Meister angemessener zu sein. Was denken Sie?

Unser derzeitiger Ansatz ist nicht primĂ€r-sekundĂ€r. Die GerĂ€tedetails (Speicher/CPU/Bandbreite) werden bei der ersten Erkennung mit anderen GerĂ€ten ausgetauscht. Wenn also ein GerĂ€t „A“ einen Dienst auslagern möchte, wird die Bewertung im GerĂ€t „A“ selbst von allen anderen GerĂ€ten (die gespeichert wurden) berechnet und das Auslagern erfolgt. Nur um zu verdeutlichen, dass die Bewertung nicht von anderen GerĂ€ten abgerufen wird, wenn eine Anforderung fĂŒr die Dienstauslagerung von einer beliebigen Anwendung an die Edge-Orchestrierung gestellt wird. Daher wĂ€re es ein guter Verbesserungspunkt, diese Bewertung dynamischer (Echtzeit) basierend auf dem aktuellen Speicher/CPU/Bandbreite zu machen.

Wie von @t25kim gezeigt : will einen zentralisierten Ansatz (Master).
Im Folgenden sind einige Überlegungen in einem solchen Fall aufgefĂŒhrt:

  1. AuswÀhlen eines primÀren Knotens
  2. Verwalten eines Szenarios, wenn der primÀre Knoten ausfÀllt, sagen wir ein sekundÀres Master-Szenario, wenn wir möchten.
  3. Jede Anfrage von GerĂ€t A an B muss zunĂ€chst ĂŒber die PrimĂ€rseite gehen, um GerĂ€t B zu identifizieren.

@suresh-lc Der Punkt ist nicht die primÀre/sekundÀre Topologie. Der aktuelle Bewertungsmechanismus ist wie folgt (zumindest auf der Quellcodeebene: alias scoringmgr :

  1. Jeder Kandidat berechnet seine Punktzahl und fĂŒhrt alle erforderlichen Verarbeitungen selbst durch.
  2. TatsĂ€chlich ist das Offloading erforderlich, wenn der Edge-Orchestrator dies beschließt, sodass die Score-Berechnung in diesem Orchestrator statt im Kandidaten selbst erfolgen sollte.
  3. Der Vorschlag hier beginnt mit der Suche nach diesem Szenario.

Wenn Sie die echte disaggregierte Topologie sehen, sollte das Szenario „PrimĂ€re Knoten fallen aus“ von einem anderen Delegaten berĂŒhrt werden, der sich nur um die Status-DB und etwas im Home-Edge-Szenario kĂŒmmert. Ich bin mir nicht sicher, ob der aktuelle Bewertungsmechanismus die beste Option ist.

Mir gefÀllt die Idee, den Begriff Master/Slave in Primary/Secondary zu Àndern.
Außerdem möchte ich den Begriff Sperrliste/Zulassungsliste anstelle von Blacklist/Whitelist vorschlagen.

Übrigens, nennen wir master-slave mit alternativen Terminologien. Was ist mit der Grundschule/Sekundarstufe?

Referenz:
https://www.zdnet.com/article/linux-team-approves-new-terminology-bans-terms-like-blacklist-and-slave/
https://www.theserverside.com/opinion/Master-slave-terminology-alternatives-you-can-use-right-now
https://tools.ietf.org/id/draft-knodel-terminology-00.html#rfc.section.1.1.1

In einem der TSC schlug eines der Mitglieder vor, den Begriff „Superior/Inferior“ anstelle von „Master/Slave“ zu verwenden. Ich habe es fĂŒr unser VerstĂ€ndnis als Master/Slave gehalten.

Mir gefÀllt die Idee, den Begriff Master/Slave in Primary/Secondary zu Àndern.
Außerdem möchte ich den Begriff Sperrliste/Zulassungsliste anstelle von Blacklist/Whitelist vorschlagen.

FĂŒr Blacklist: In der TSC-Aufforderung wurde vorgeschlagen, den Begriff "genehmigt" wie in "genehmigte Container" und so weiter zu verwenden.

Übrigens, nennen wir master-slave mit alternativen Terminologien. Was ist mit der Grundschule/Sekundarstufe?
Referenz:
https://www.zdnet.com/article/linux-team-approves-new-terminology-bans-terms-like-blacklist-and-slave/
https://www.theserverside.com/opinion/Master-slave-terminology-alternatives-you-can-use-right-now
https://tools.ietf.org/id/draft-knodel-terminology-00.html#rfc.section.1.1.1

In einem der TSC schlug eines der Mitglieder vor, den Begriff „Superior/Inferior“ anstelle von „Master/Slave“ zu verwenden. Ich habe es fĂŒr unser VerstĂ€ndnis als Master/Slave gehalten.

Mir gefÀllt die Idee, den Begriff Master/Slave in Primary/Secondary zu Àndern.
Außerdem möchte ich den Begriff Sperrliste/Zulassungsliste anstelle von Blacklist/Whitelist vorschlagen.

FĂŒr Blacklist: In der TSC-Aufforderung wurde vorgeschlagen, den Begriff "genehmigt" wie in "genehmigte Container" und so weiter zu verwenden.

@suresh-lc Es muss der TSC von LF Edge sein. Irgendeine Richtlinie daraus?

@suresh-lc Der Punkt ist nicht die Master/Slave-Topologie. Der aktuelle Bewertungsmechanismus ist wie folgt (zumindest auf der Quellcodeebene: alias scoringmgr :

  1. Jeder Kandidat berechnet seine Punktzahl und fĂŒhrt alle erforderlichen Verarbeitungen selbst durch.
  2. TatsĂ€chlich ist das Offloading erforderlich, wenn der Edge-Orchestrator dies beschließt, sodass die Score-Berechnung in diesem Orchestrator statt im Kandidaten selbst erfolgen sollte.
  3. Der Vorschlag hier beginnt mit der Suche nach diesem Szenario.

Wenn Sie die wahre disaggregierte Topologie sehen, sollte das Szenario „Master-Knoten fĂ€llt aus“ von einem anderen Delegierten berĂŒhrt werden, der sich nur um die Status-DB und etwas im Home-Edge-Szenario kĂŒmmert. Ich bin mir nicht sicher, ob der aktuelle Bewertungsmechanismus die beste Option ist.

GerÀt A, B und C sind drei GerÀte, die im selben Netzwerk verbunden sind. Alle GerÀte-/Dienstdetails werden zwischen allen GerÀten zusammen mit ihren Rechen-/SpeicherfÀhigkeiten ausgetauscht.

GerÀt A: App X fordert die Auslagerung eines Dienstes an Edge-Orchestrator auf demselben GerÀt an.
GerÀt A: Edge-Orchestrator in GerÀt A, findet, dass sowohl B als auch C den Dienst haben.
GerÀt A: A verlangt von B und C eine Punktzahl
GerÀt A: Basierend auf der Punktzahl lagert A den Dienst auf GerÀt C aus, das eine bessere Punktzahl hatte.
GerĂ€t C: FĂŒhrt den angeforderten Dienst aus.

Der Grund fĂŒr die Bewertung auf diese Weise macht die Bewertung in Echtzeit. Wenn wir stattdessen ein Scoring auf dem angeforderten GerĂ€t durchfĂŒhren, können keine Echtzeitwerte berĂŒcksichtigt werden. WĂ€hrend der Erkennung kann der Speicher 1 GB betragen, wĂ€hrend er bei der Berechnung des Scorings 512 betragen kann, da andere Prozesse ausgefĂŒhrt werden. Diese Art der Scoring-Berechnung macht es also nahezu in Echtzeit. Die Scoring-Berechnung bei Kandidaten wird ohnehin von der Edge Orchestration in diesen GerĂ€ten berechnet.

Wir sollten daran denken, den Bewertungsmechanismus zu verbessern, indem wir ihn auf mehr Echtzeitparametern basieren lassen und auch eine grĂ¶ĂŸere Anzahl von Parametern berĂŒcksichtigen. Sogar zeitbasierte Analysen können durchgefĂŒhrt werden, beispielsweise wenn ein Dienst ausgelagert wird, aber bevor wir wissen, dass das GerĂ€t aufgrund des Benutzermusters ausgelastet ist, können solche Dinge integriert werden.

@suresh-lc Ich stimme Ihrer Idee nicht zu, dass das aktuelle Szenario eher in Echtzeit erfolgt, da die Ressourcen zum Zeitpunkt des Eingangs der Anforderung an jeder Kante nicht unterschiedlich sind.
Angenommen, die Zeit, zu der die Anforderung bei B oder C ankommt, ist T. Im aktuellen Szenario berechnet und sendet jedes GerÀt die Punktzahl basierend auf der Ressource zum Zeitpunkt T. Im vorgeschlagenen Szenario sendet jedes GerÀt die gleichen Ressourceninformationen zum Zeitpunkt T und primary( master) edge berechnet die Punktzahlen auf der Grundlage der Informationen.

Ihr Anliegen ist wichtig, aber das aktuelle Problem ist meiner Meinung nach, dass GerĂ€t A nicht weiß, welche Vorteile B und C haben.
Wenn C deutlich zu wenig GedÀchtnis hat, sollte A B wÀhlen, auch wenn C besser abschneidet als B.

@t25kim : Was auch immer Sie erwĂ€hnen, wie das Teilen aller GerĂ€teinformationen anstelle der Punktzahl, macht alle GerĂ€teressourcendetails fĂŒr andere GerĂ€te freigegeben.

Angenommen, die Zeit, zu der die Anforderung bei B oder C ankommt, ist T. Im aktuellen Szenario berechnet und sendet jedes GerÀt die Punktzahl basierend auf der Ressource zum Zeitpunkt T. Im vorgeschlagenen Szenario sendet jedes GerÀt die gleichen Ressourceninformationen zum Zeitpunkt T und primary( master) edge berechnet die Punktzahlen auf der Grundlage der Informationen.

Selbst bei diesem Ansatz könnte die Ressource bei T unterschiedlich sein. Aber die Ressource bei T+1, wenn die Score-Berechnung bei Edge stattfindet, könnte anders sein. Dies fĂŒhrt also auch nicht zu einem tatsĂ€chlichen Score-Wert. Nachdem das GerĂ€t die Ressourcendetails an Edge gesendet hat, können sich die Ressourcenwerte Ă€ndern (fĂŒr B und C), das meine ich damit.

Wenn C deutlich zu wenig GedÀchtnis hat, sollte A B wÀhlen, auch wenn C besser abschneidet als B.

In diesem Fall wĂ€re die berechnete Punktzahl natĂŒrlich geringer, da die Punktzahl auch das GedĂ€chtnis berĂŒcksichtigt. Daher wĂ€hlt A natĂŒrlich B statt C.

Daher gibt es keinen einzigen narrensicheren Ansatz. Aber um das System zu stÀrken, können wir uns andere Methoden der Punkteberechnung vorstellen. Wir können uns die Zeit eher empirisch als apriorisch vorstellen

@suresh-lc Ähm .. Es ist interessant, denn wie Sie darauf hingewiesen haben, "empirischer Weg" und nicht "Apriori-Weg", hat es einen Kontext, in dem der Edge-Orchestrierer eine endgĂŒltige Entscheidung ĂŒber die beste primĂ€re Methode treffen sollte, um die angegebenen Dienste basierend auszulagern auf den gesammelten Daten (mit einem historischen Muster und so weiter, und am Ende unter Verwendung von KI/ML). Also fĂŒr mich ist der aktuelle Mechanismus, mit dem die NachbargerĂ€te ihre eigene Berechnung vervollstĂ€ndigen, ein bisschen Overhead.

@suresh-lc @t25kim Ich denke, dass @t25kim eine grundlegende Idee hat, um seinen Vorschlag zu prĂ€sentieren. Wie wĂ€re es, um die sich wiederholenden Diskussionen zu diesem Thema zu beenden, einen separaten Zweig zu erstellen, um die Machbarkeit dieses Vorschlags zu prĂŒfen? Irgendeine Meinung?

@suresh-lc @t25kim Ich denke, dass @t25kim eine grundlegende Idee hat, um seinen Vorschlag zu prĂ€sentieren. Wie wĂ€re es, um die sich wiederholenden Diskussionen zu diesem Thema zu beenden, einen separaten Zweig zu erstellen, um die Machbarkeit dieses Vorschlags zu prĂŒfen? Irgendeine Meinung?

Ja, es ist ein guter Punkt, um eine Machbarkeit zu tun. In Bezug auf die Implementierung sollte dies möglich sein. Aber um den bestehenden und den neuen Ansatz zu vergleichen, mĂŒssen wir Metriken berechnen, um zu sehen, welche Methode angemessen ist.

  1. GerÀt B und C senden Punkte an A und dann fÀllt eine beliebige GerÀteressource aus.
  2. GerÀt B und C senden Ressourcendetails an A und eine GerÀteressource fÀllt aus.

@suresh-lc @MoonkiHong Das ist ein wichtiges Thema und ich konnte im Moment nicht darĂŒber nachdenken, wie ich das Szenario lösen könnte. Gibt es einen Code auf Home Edge, der das Problem löst, wenn B oder C, die Highscore an A senden, abrupt sinken?

Möglicherweise mĂŒssen wir eine Bodenimplementierung / einen Algorithmus herausfinden, um das primĂ€re / sekundĂ€re GerĂ€t in dem angegebenen lokalen Netzwerk neu zu konfigurieren.

Umfassen der Überlegung mit dem bestehenden Bericht von #26

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

t25kim picture t25kim  Â·  7Kommentare

MoonkiHong picture MoonkiHong  Â·  6Kommentare

t25kim picture t25kim  Â·  7Kommentare

MoonkiHong picture MoonkiHong  Â·  8Kommentare

t25kim picture t25kim  Â·  7Kommentare