Trockenad (Programmierung)
Originalautor (en) | Microsoft Research |
---|---|
Entwickler (en) | Microsoft |
Stabile Version | v0.2.1 / 7. Oktober 2014 |
Repository | Github |
Geschrieben in | C#, C ++, C |
Betriebssystem | Microsoft Windows |
Plattform | .NET Framework |
Typ | Software -Framework |
Lizenz | Apache -Lizenz 2.0 |
Webseite | www |
Dryade war ein Forschungsprojekt bei Microsoft Research Für eine Allzweck -Laufzeit für die Ausführung von Daten parallel Anwendungen. Die Forschungsprototypen der data-parallelen Verarbeitungsrahmen von Dryad und DryadlinQ sind in Quellenform zur Verfügung GitHub.[1]
Überblick
Microsoft machte mehrere Vorschau-Releases dieser Technologie als Add-Ons zu Windows HPC Server 2008 R2.
Eine für Dryad geschriebene Anwendung ist als modelliert als Regie acyclische Graphen (DAG). Die DAG definiert die Datenfluss der Anwendung und die Scheitelpunkte des Diagramms definieren die Operationen, die für die Daten ausgeführt werden sollen. Die "Rechenscheitelpunkte" werden unter Verwendung von sequentiellen Konstrukten geschrieben, ohne von anderen Parallelität oder gegenseitiger Ausschluss Semantik. Die Dryad -Laufzeit parallelisiert das DataFlow -Diagramm, indem die Rechenscheitelpunkte über verschiedene Ausführungsmotoren hinweg verteilt werden (was mehrere Prozessorkerne auf demselben Computer oder verschiedene physische Computer sein können, die von einem Netzwerk verbunden sind, wie in einem Cluster). Die Planung der Rechenscheitelpunkte auf der verfügbaren Hardware wird von der Dryad -Laufzeit ohne explizite Intervention durch den Entwickler der Anwendung oder des Administrators des Netzwerks behandelt. Der Datenfluss zwischen einem Rechenscheitelpunkt und einem anderen wird durch die Verwendung von Kommunikationskanälen zwischen den Scheitelpunkten implementiert, die in der physikalischen Implementierung durch realisiert werden durch TCP/IP Streams, geteilte Erinnerung oder vorübergehend Dateien. Ein Stream wird zur Laufzeit verwendet, um eine begrenzte Anzahl von zu transportieren strukturiert Artikel.
Dryad definiert a Domänenspezifische Sprache, was über a implementiert wird C ++ Bibliothek, die zum Erstellen und Modellieren eines Trockenausführungsdiagramms verwendet wird. Rechenscheitelpunkte werden unter Verwendung von Standard -C ++ - Konstrukten geschrieben. Um sie zur Dryad -Laufzeit zugänglich zu machen, müssen sie in a eingekapselt werden Klasse das Erben von dem GraphNode
Basisklasse. Die Grafik wird durch Hinzufügen von Kanten definiert. Die Kanten werden unter Verwendung eines Zusammensetzungsoperators (definiert durch Dryad) hinzugefügt, der zwei Diagramme (oder zwei Knoten eines Diagramms) mit einer Kante verbindet. Verwalteter Code Wrapper für die Dryade API kann auch geschrieben werden.
Es gibt mehrere hochrangige Sprach Compiler, die Dryad als Laufzeit verwenden. Beispiele sind Umfang (strukturierte Berechnungen, die für die parallele Ausführung optimiert sind) und Dryadlinq.[2]
Im Oktober 2011 hat Microsoft die aktive Entwicklung auf Dryad eingestellt und sich auf die konzentriert Apache Hadoop Rahmen.[3][4][5]
Verweise
- ^ GitHub - MicrosofTresearch/Dryad: Dies ist ein Forschungsprototyp der auf dem Hadoop -Garn ausgeführten Daten -Parallel -Verarbeitungsrahmen.
- ^ "Dryadlinq: Ein System für verteilte datenparallele Computing im Allgemeinen unter Verwendung einer Sprache auf hoher Ebene" (PDF). Microsoft Research. Abgerufen 2009-01-21.
- ^ Patee, Don. "Ankündigung des Windows Azure HPC Scheduler und HPC Pack 2008 R2 Service Pack 3 Releases!". Microsoft. Abgerufen 2013-05-31.
- ^ Foley, Mary Joe. "Microsoft lässt Dryad fallen; setzt seine großdaten-Wetten auf Hadoop". ZDNET. Abgerufen 2013-05-31.
- ^ Henschen, Doug. "Microsoft gräbt Dryad, konzentriert sich auf Hadoop". Informationswoche. Abgerufen 2013-05-31.
Weitere Lektüre
- "Dryad: Verteilte datenparallele Programme aus sequentiellen Bausteinen" (PDF). Microsoft Research. Abgerufen 2007-12-04.
- "Umfang: Einfache und effiziente parallele Verarbeitung massiver Datensätze" (PDF). Microsoft Research. Abgerufen 2009-01-21.