Dapper (verteilte und parallele Programmausführung Laufzeit) ist ein Werkzeug zur Zähmung der Komplexität der Entwicklung für große Cloud und Grid-Computing, dem Benutzer ermöglicht, verteilte Berechnungen vom Wesentlichen zu erstellen - der Code, der execut wird
Warum Dapper?
Wir leben in interessanten Zeiten, in denen Durchbrüche in den Wissenschaften hängen zunehmend von der wachsenden Verfügbarkeit und Fülle von Massenware, vernetzte Rechenressourcen. Mit Hilfe der Cloud oder Gitter, Berechnungen, die sonst tagelang laufen würde auf einem einzelnen Desktop-Rechner haben nun verteilt und / oder parallel Formulierungen, die durch Churn kann, in einer Angelegenheit von Stunden, Eingang setzt zehnmal so groß auf hundert Maschinen . So verlockend wie die Idee der Stärke in den Zahlen auch sein mögen, mit nur physische Hardware ist nicht genug - ein Programmierer, um die eigentliche Berechnung, die darauf ausgeführt werden Handwerk. Folglich wird der Wert auf menschliche Anstrengung und Kreativität gelegt erfordert eine Programmierumgebung, die ermöglicht, und sogar ermutigt, prägnanten Ausdruck verteilte Berechnungen, und doch zur gleichen Zeit nicht opfern Allgemeinheit.
Dapper, stehend für verteilte und parallele Programmausführung Laufzeit, ist ein solches Werkzeug zur Überbrückung hoher Spezifikationen des Wissenschaftlers / Programmierer, die das Wesen eines Programms zu erfassen, mit den niedrigen Pegel Mechanismen, die die unangenehme Realitäten verteilte und parallele Rechen reflektieren. Im Rahmen ihrer Datenflussorientierung, Dapper können Benutzer lokal in Java-Code ausführen und weltweit auf der Wolke oder Gitter. Der Benutzer schreibt erste Codelets oder kleinen Code-Schnipsel, die einfache Aufgaben durchzuführen und dies nicht tun, in sich selbst, bilden ein komplettes Programm. Danach er oder sie gibt an, wie diese Codelets, als Knoten in der Datenfluss zu sehen, übertragen Daten miteinander über Kantenbeziehungen. Das resultierende gerichtete azyklische Datenflußgraph ist ein komplettes Programm interpretierbar vom Dapper-Server, die auf die von langlebigen worker Kunden kontaktiert, kann eine verteilte Ausführung zu koordinieren.
Unter der Dapper-Modell, nicht mehr muss der Benutzer über die traditionell Ad-hoc-Aspekte der Verwaltung der Cloud oder Gitter, das Handhaben von Datenverbindungen und Abhängigkeiten, erholt sich von Fehlern, die Verteilung von Code und ab Arbeitsplätze gehören zu kümmern. Vielleicht noch wichtiger ist, bietet es eine komplette Java-basierte Toolchain und Laufzeit für die Gestaltung fast aller grobkörnig verteilte Berechnungen in einem einheitlichen Format, das für eine schnelle Bereitstellung und einfachen Transport zu anderen Forschern ermöglicht.
Eigenschaften :
- Ein Code-Distribution-System, das die Dapper-Server erforderlichen Programmcode über das Netzwerk zu übertragen und haben Kunden dynamisch zu laden sie erlaubt. Eine Folge davon ist, dass, abgesehen von externen ausführbaren Dateien, Aktuelles zu Dapper Programme müssen nur geschehen, auf der Server-Seite.
- Ein leistungsfähiges Teilstrom Einbettung Verfahren zum dynamischen Modifizieren der Datenflußgraph zur Laufzeit.
- Ein Laufzeit in Vanille Java, eine Sprache, die viele sind ohne Zweifel vertraut. Abgesehen von der Forderung nach einer aktuellen JVM und optional Graphviz Dot ist Dapper in sich abgeschlossen.
- Ein robustes Steuerungsprotokoll. Das Dapper-Server erwartet eine beliebige Anzahl von Clients zu scheitern, zu jeder Zeit, und verfügt über anpassbare Wiederausführung und Timeout Politik zu bewältigen. Folglich kann man starten und stoppen (langlebigen) Kunden ohne Angst vor Inbetriebnahme des gesamten Systems in einem inkonsistenten Zustand.
- Flexible Semantik, die Datenübertragung über TCP-Streams oder Dateien zu ermöglichen.
- Die Interoperabilität mit Firewalls. Seit Ihrem lokalen Cloud oder Gitter sitzt wahrscheinlich hinter einer Firewall, haben wir spezielle Semantik für Datenstromübertragung entwickelt.
- Liberal Lizenzbedingungen. Dapper ist unter der LGPL veröffentlicht, um eine Verunreinigung des Codebasis zu verhindern.
- Der Betrieb als eingebettete Anwendung. Ein Handbuch beschreibt die Programmierung API, die Benutzer folgen, um die Dapper-Server innerhalb einer Anwendung wie Apache Tomcat ausgeführt werden.
- Der Betrieb als Standalone-Benutzerschnittstelle. Mit ihm kann man off-the-shelf-Demos laufen und lernen Kernkonzepte von visuellen Beispielen. Durch Anschluss an eine minimale Menge von Konventionen, kann man dann die eigene Dapper Programme bündeln als Ausführungs Archive, und dann bekommen Realtime-Datenfluss-Status und Debugging-Feedback.
Was ist neu in dieser Pressemitteilung:
- Die ServerLogic # closeIdleClients Verfahren wurde geändert, um besser auf die intuitive Vorstellung Benutzers des Müßiggangs.
- Ein Benutzer-Option für die Angabe der Hostname des Servers wurde hinzugefügt.
- Networking Einbauten wurden überarbeitet, um neue APIs verwenden.
- Der Build-Prozess wurde aktualisiert, um sowohl die 32- und 64-Bit-Windows-Querzusammenstellung zu unterstützen.
- Die adrett. * Hierarchie zu org.dapper umbenannt. *.
Was ist neu in Version 0.96:
- Hinzufügen der FlowListener Abstraktion, so dass die Nutzer können nun Associate Metadaten mit Datenflüssen und deren Knoten.
- Es wurde ein Speicherleck in der Dapper-Server.
- Added apiviz doclet Tags, so dass die Beziehungen zwischen Klassen besser sichtbar gemacht werden.
- Hinzugefügt apiviz zur Visualisierung von Abhängigkeiten in Javadoc.
- ein kleiner Fehler in BuildAndTest ausführbare behoben.
- Der Build-Prozess ist nun vollständig mit Apache Ivy integriert. Die Source-Distribution nun mehr im Lieferumfang des SST. Stattdessen werden Abhängigkeiten automatisch heruntergeladen; ersatzweise kann man die SST Download entschieden, kompilieren Sie es und veröffentlichen, um einem lokalen Repository. Siehe Bedienungsanleitung für weitere Details.
- Aktualisiert Build-Prozess und entfernt redundante Schritte.
- Normalized Copyright- und Lizenzhinweise in allen Dateien.
- Java 1.6 ist jetzt erforderlich zu erstellen und auszuführen.
- Build Change-Prozess, um Apache Ivy, was bedeutet, dass externe Abhängigkeiten nicht mehr mit dem SST-Hauptverteilung verpackt werden zu verwenden.
- Added "doxygen 'Ziel, Verfahren zu bauen, so dass einheimische Komponenten können dokumentiert werden.
Was ist neu in Version 0.95:
- Eine neue, flexible Logging-Infrastruktur wurde hinzugefügt.
- Initialisierer für die Protokollierung Strukturen aus den Server- und Client-Klassen und in Treiber verschoben.
- Zustandsautomaten wurden an die neue Annotation-driven API aktualisiert.
- Der Quellcode wurde normalisiert bis 8 Leerzeichen statt Tabulatoren haben.
Was ist neu in Version 0.94:
- Die Kommandozeilenoptionen für den Client und Server sind ab sofort verfügbar, mit freundlicher Genehmigung der Apache Commons CLI-Bibliothek.
- Der Client-Prozess-Lebenszyklus ist nun als endet, wenn eine Trennung von dem Server passiert, definiert.
- Stem Generation Funktionalität wurde durch die Mitgliedschaft Verfahren OutputHandleResource davon, dass eine statische Methode der CodeletUtilities verschoben.
- Die FlowNodeFactory Klasse zugunsten der direkten Instanziierung FlowNodes verwendet.
- Gebäude des nativen Komponenten wurde dem CMake migriert.
- Logging hat SLF4J migriert.
- Eine README wurde auf allen Distributionen aufgenommen.
Was ist neu in Version 0.93:.
- Stark verbesserte pädagogische Beispiele
- Aktualisiert Handbuch.
- in dapper.codelet.CodeletUtilities für Ressourcenabfrage Hinzugefügt Bequemlichkeit Routinen.
- Entfernt Generator, FileEdge, FileBatchGenerator, FileBatchEdge, FileResource und FileBatchResource. Sie haben sich mit dem Begriff der abstrakten Daten Griffe in Form von HandleEdge, InputHandleResource, OutputHandleResource ersetzt. Siehe Handbuch für Änderungen.
- Aktualisiert dapper.codelet.Resource Eingangs- und Ausgangsströme zu exportieren.
Anforderungen :
- Java 2 Standard Edition Runtime Environment
Kommentare nicht gefunden