Verteiltes Computing in der Cloud: GraphLab
GraphLab ist ein Big Data-Tool, das von der Carnegie Mellon University entwickelt wurde, um Data Mining zu unterstützen. Erfahren Sie, wie GraphLab funktioniert und warum es nützlich ist.
Lernziele
In diesem Modul lernen Sie Folgendes:
- Beschreiben der einzigartigen Features von GraphLab und der Anwendungstypen, für die es vorgesehen ist
- Rekapitulieren der Features eines graphparallelen Frameworks für verteile Programmierung
- Rekapitulieren der drei Hauptkomponenten der GraphLab-Engine
- Beschreiben der von der GraphLab-Ausführungs-Engine durchgeführten Schritte
- Erörtern des Architekturmodells von GraphLab
- Rekapitulieren der Planungsstrategie von GraphLab
- Beschreiben des Programmiermodells von GraphLab
- Auflisten und Erläutern der Konsistenzebenen in GraphLab
- Beschreiben der In-Memory-Datenplatzierungsstrategie in GraphLab und deren Auswirkungen auf die Leistung bestimmter Typen von Graphen
- Erörtern des Berechnungsmodells von GraphLab
- Erörtern der Fehlertoleranzmechanismen in GraphLab
- Identifizieren der an der Ausführung eines GraphLab-Programms beteiligten Schritte
- Vergleichen und Gegenüberstellen von MapReduce, Spark und GraphLab hinsichtlich der Programmierungs-, Berechnungs-, Parallelitäts-, Architektur- und Planungsmodelle
- Identifizieren einer geeigneten Analyse-Engine unter Berücksichtigung der Merkmale einer Anwendung
In Zusammenarbeit mit Dr. Majd Sakr und der Carnegie Mellon University.
Voraussetzungen
- Verstehen, was Cloud Computing ist, einschließlich Clouddienstmodellen und häufig verwendeten Cloudanbietern
- Kenntnis der Technologien, die Cloud Computing ermöglichen
- Verstehen, wie die Abrechnung für Clouddienstanbieter in der Cloud funktioniert
- Wissen, was Rechenzentren sind und warum sie existieren
- Wissen, wie Rechenzentren eingerichtet, unterhalten und bereitgestellt werden
- Verstehen, wie Cloudressourcen bereitgestellt und gemessen werden
- Vertrautheit mit dem Konzept der Virtualisierung
- Kennen der verschiedenen Arten der Virtualisierung
- Verstehen der CPU-Virtualisierung
- Verstehen der Arbeitsspeichervirtualisierung
- Verstehen der E/A-Virtualisierung
- Kenntnisse über die verschiedenen Datentypen und deren Speicherung
- Vertrautheit mit verteilten Dateisystemen und deren Funktionsweise
- Vertrautheit mit NoSQL-Datenbanken und Objektspeichern sowie deren Funktionsweise
- Kenntnisse zur verteilten Programmierung und deren Nutzen für die Cloud
- Kenntnisse zu MapReduce und wie dieser Dienst Big Data-Computing ermöglicht
- Kenntnisse zu Spark und dazu, wie es sich von MapReduce unterscheidet