Verteiltes Computing in der Cloud: GraphLab

Anfänger
Entwickler
Kursteilnehmer
Azure

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