2016-03-21 3 views

Antwort

0

Aktivität ist genau so, wie es sich anhört. Er bezieht sich auf eine Definition von vier Zuständen in Abhängigkeit davon, ob die Quell- und Zielscheitelpunkte aktiv sind oder inaktiv. Im Wesentlichen können Grafikknoten die Deaktivierung wählen. Betrachten Sie das Beispiel für soziale Netzwerke:

Ein Facebook-Benutzer könnte ihren Account deaktivieren, aber wir möchten sie nicht unbedingt aus der Benutzergrafik entfernen. Ihre Beziehungen bieten immer noch potenziell nützliche Informationen für Graphalgorithmen. Daher können wir sie einfach als inaktiv markieren, und jeder Benutzer, der mit diesem inaktiven Benutzer verbunden ist, würde dies über eine Kante mit einer EdgeActiveness von Either, DstOnly oder Neither tun, abhängig vom aktiven Status des anderen Benutzers.

Folgendes ist in der Veröffentlichung genannten From "Think like a Vertex" to "Think like a Graph"

Ein Scheitelpunkt trägt zwei Zustände: aktiv und inaktiv. Zu Beginn sind alle Vertices aktiv. Ein Scheitelpunkt kann sich freiwillig deaktivieren, indem er voteToHalt() aufruft oder durch einige eingehende Nachrichten von anderen Geräten passiv aktiviert wird. Das Gesamtprogramm wird beendet, wenn jeder Knoten inaktiv ist.

0

Apache Spark mit Pregel API von GraphX, Vertex active in Pregel von Nachrichten gesteuert wird: wenn ein Knoten nicht eine Nachricht in der vorherigen Iteration erhalten hat, wird seine Vertex Programm nicht im aktuellen Lauf Iteration. Außerdem können inaktive Scheitelpunkte keine Nachrichten senden, da die sendMsg-Funktion standardmäßig nur an den Kanten ausgeführt wird, wenn mindestens einer der benachbarten Scheitelpunkte eine Nachricht empfangen hat.