Workflows

Ziel ist laut Ausschreibung die Etablierung von digitalen Workflows im Sinne des dezentralen Daten- oder Simulationskonzepts durch aktive Agenten innerhalb der Software-Umgebung der Innovationsplattform. Dabei ist die Nachhaltigkeit der Software-Lösungen und der einheitliche Zugriff auf Daten und Tools entscheidend. Die Plattform wird daher von Beginn an zwei Workflowumgebungen mit den Namen „pyiron“ und „Simstack“ zur Verfügung stellen. Von den Zuwendungsempfängern wird erwartet, dass sie ihre Lösungen so gestalten, dass sie innerhalb einer dieser Workflowumgebungen lauffähig gemacht werden können.

PMD Workflow Store

Der Workflow Store ist ein Ort, an dem Sie Ihre Wissenschaft mit anderen teilen können! Teilen Sie Ihre Workflows und Workflowmodule um Ihrer Forschungsarbeiten reproduzierbar der Community bereitzustellen

Was ist unser Standpunkt zu Workflows?

Ein Workflow ist eine Kette von gut dokumentierten Prozessschritten, um Daten für ein bestimmtes Problem zu erzeugen oder zu bearbeiten und einen bestimmten Satz von Ergebnissen zu liefern. Innerhalb der PMD stellen wir die Umgebung für eine Digitalisierung dieser Workflows zur Verfügung (d.h., wir machen jeden einzelnen, oft noch manuellen Schritt dieser Kette für die Maschine zugänglich, interpretierbar und speicherbar). Die Vorteile der Verwendung dieser Workflow-Umgebung sind:

  • Ingenieuren, Datenwissenschaftlern usw. eine benutzerfreundliche Schnittstelle zu einer Vielzahl von Werkzeugen zur Verfügung zu stellen
  • Nicht-Experten die Nutzung von standardisierten Berechnungsabläufen, die auf komplexen Verknüpfungen einzelner Software-Werkzeuge beruhen, zu ermöglichen.
  • die Erfassung komplexer individueller Berechnungsabläufe zur Dokumentation und Verteilung (z.B. für ein Paper, eine IP-Anmeldung, eine Kollaboration, etc.)
  • die Automatisierte Ablage der Endergebnisse sowie aller relevanten Zwischenschritte (z.B. in Datenbanksystemen, Repositories, ...)
  • Integration und einfacher Zugriff auf HPC-Ressourcen
  • Anbindung an Community-weite Semantiken und Wissensgraphen (Ontologien) durch die Beschreibung von Eingabe/Ausgabe einzelner Werkzeuge innerhalb einer Workflow-Kette

Derzeit unterstützt die PMD zwei verschiedene Workflow-Umgebungen: Pyiron und SimStack.

Ebenen von Workflow-Implementierungen innerhalb der PMD

Innerhalb der PMD wird zwischen vier Ebenen (A, B, C, D) der Workflow-Implementierung unterschieden. Innerhalb eines Projekts werden diese Ebenen schrittweise mit unterschiedlichem Implementierungsaufwand, Workflow-Steuerung und Benutzerunterstützung genutzt. Es ist jedoch möglich, verschiedene Implementierungsebenen für die verschiedenen Schritte eines einzelnen Workflows zu kombinieren.

A: Skriptbasierter Job

Der Benutzer stellt für die einzelnen Aufgaben eines Workflows einen Skript-Job mit wohldefinierten Eingabe- und Ausgabeparametern für die einzelnen Schritte zur Verfügung. Eingabeparameter können als Ergebnis anderer Berechnungen an das Skript übergeben werden oder die Ausgaben können in einem nachfolgenden Berechnungsschritt verarbeitet werden. Die Parameter und das Skript werden gespeichert und dokumentiert, um die Reproduzierbarkeit des Arbeitsschritts zu gewährleisten und die Neuberechnung von bereits berechneten Ergebnissen zu vermeiden. Dabei müssen die Dateiformate, die das Skript für die Ein- und Ausgabe verwendet, nicht identisch sein mit dem Dateiformat, das z.B. von pyiron für die Speicherung verwendet wird.

B: Vordefinierte, aber erweiterbare Workflow-Klassen / Workflow-Komponenten

Es kann ein vordefinierter Jobtyp für ein Simulationswerkzeug erstellt und in das Workflowsystem integriert werden, z.B. entweder in pyiron oder Simstack. In pyiron definiert und handhabt diese Klasse den Import/Export sowie die Speicherung von Eingabe/Ausgabe und die Serialisierung der Jobattribute für die Kommunikation mit HPC. In Simstack wird dies durch die „Workflow active Nodes“ (WaNo) bewerkstelligt. Auf diese Weise können gut definierte Probleme mit einer Teilmenge von Parametern (im Vergleich zur vollen Funktionalität der Werkzeuge) als Schritt eines Workflows ausgeführt werden. Der Vorteil dieses Ansatzes ist, dass Benutzer, die mit einem bestimmten Software-Werkzeug nicht vertraut sind, keine Attribute erlernen müssen, die für den vorliegenden Arbeitsablauf nicht wesentlich sind, da sie durch eine vereinfachte, lesbare, standardmäßige Pyiron-Schnittstelle oder ein strukturiertes Xml-Format (mit einer gut dokumentierten und leicht zu erlernenden Terminologie) bereitgestellt werden. Gleichzeitig können sie leicht zu neuen Jobtypen erweitert werden, die zusätzliche oder neu definierte Funktionalität ermöglichen. Auf diese Weise können fortgeschrittene Anwender die Umgebung zur Entwicklung von Workflows einsetzen, wobei die gleiche Flexibilität wie bei Skripten gegeben ist. Der Vorteil der Verwendung der Umgebung für diesen Zweck ist die Integration verschiedener Analyse-, Visualisierungs- und Simulationswerkzeuge, die für jeden Zwischenschritt des Workflows verwendet werden können, sowie die automatisierte Ausführung von Transfers und die Ausführung auf entfernten Rechenressourcen. Die Kombination und der Austausch von verschiedenen Simulationswerkzeugen in Metajobs, die Handhabung von interaktiven Jobs und die Schleife über eine große Menge von Fällen sind auf dieser Implementierungsebene problemlos möglich.

C: Grafische Oberfläche für vordefinierte Workflows

Ist ein Workflow erst einmal eingerichtet, wollen sich vor allem weniger eingearbeitete Anwender nicht mit Kommandozeilen und deren Ausführung herumschlagen. Zu diesem Zweck kann eine grafische Benutzeroberfläche zur Verfügung gestellt werden, die die Ausgabe basierend auf einem oft begrenzten, vordefinierten Satz von Eingabeparametern generiert.

D: Interoperable Arbeitsabläufe (Gewährleistung von Gemeinschaftsstandards)

Die Verwendung von generischen Eingabe- und Ausgabeparametern für vordefinierte Klassen ermöglicht die Beschreibung (eines Teils) eines Workflows in einer Notation, die generisch ist, d.h. unabhängig von dem spezifischen oftware-Werkzeug. Generische Parameter sind auch der Schlüssel, um die Interoperabilität zwischen Software-Werkzeugen zu ermöglichen. Ein solcher Standard existiert in pyiron für atomistische Simulationen (ASE), muss aber von Domänenexperten für andere Communities implementiert werden. Zum Beispiel kann der VMAP-Standard für FEM-Simulationen verwendet werden.

Welche Art von Verbindung zur Ontologie wird angestrebt?

Das Zusammenspiel von Workflows und Ontologien innerhalb der PMD hat unterschiedliche Facetten:

  • Mit einem Workflow können Daten aus einem ontologiebasierten Datenspeicher als Eingabe gelesen, entsprechend der Prozesskette modifiziert und die Ausgabe wieder in die Ontologie eingespeist werden.
  • Die Informationen eines in der Umgebung entwickelten Workflows (d. h. die Erkundung von Abhängigkeiten, die vorher nicht bekannt waren) können automatisch in einen Material-Wissensgraphen exportiert werden.
  • Wenn die Funktionalität eines Werkzeugs (einschließlich der Eingabe und der Ausgabe) in Form einer Ontologie beschrieben wird, kann es in eine Workflow-Umgebung integriert werden, ohne dass ein werkzeugspezifischer Parser erforderlich ist.
  • Wird die Beschreibung eines Workflows (einschließlich der Eingabe und Ausgabe eines Simulationsmoduls) generisch beschrieben (z.B. in Form einer standardisierten Ontologie), wird eine werkzeugunabhängige Formulierung erreicht. So können einzelne Werkzeuge innerhalb einer komplexen Werkzeugkette leicht ausgetauscht werden.

Mitarbeitende Arbeitsgruppe Workflows:

Tilmann Hickel
Jörg Schaarschmidt
Artem Buldin
Jehona Kryeziu
Han Lin Mai
Celso Rego
Simon Stier
Jörg Unger
Osamu Waseda
Heiko Beinersdorf (ODE_AM)
Simon Bekemeier (DiProMag)
Florian Fuchs (DiMoGraph)
Lukas Koschmieder (DiMad)

Kontaktieren Sie uns:

Discourse_logo
Forum
Kontaktformular

Workflow Frameworks

...

Pyiron - eine Python basierte integrierte Entwicklungsumgebung für die rechnergestützte Materialwissenschaft

Um die Methodenentwicklung in der rechnergestützten Materialwissenschaft zu koordinieren und die bestehenden Methoden in eine gemeinsame Plattform zu integrieren, wird ein Python basiertes Framework namens pyiron entwickelt. Es bietet alle notwendigen Werkzeuge, um komplexe Simulationsprotokolle, die verschiedene Computercodes kombinieren und Millionen von separaten Rechnungen auf leistungsstarken Computerclustern durchführen können, interaktiv auszuführen. Gleichzeitig ermöglicht pyiron ähnlich einer integrierten Entwicklungsumgebung (IDE), diese Simulationsprotokolle interaktiv zu entwickeln, zu implementieren und zu testen. Durch die Integration von strukturierten und unstrukturierten Daten, Metadaten und Workflows liegen diese innerhalb derselben Plattform vor und werden daher automatisch in einer effizienten hierarchischen Datenbank abgelegt. Dadurch wird die komplette materialwissenschaftliche Expertise sowohl der Entwickler als auch der Anwender in einer standardisierten Ontologie konserviert und zugänglich gemacht.

Die Grundidee hinter diesem Framework ist es, ein einziges Werkzeug mit einer einheitlichen Schnittstelle für die verschiedensten Simulationscodes sowie Analyse- und Visualisierungstools bereitzustellen. Die Verfügbarkeit dieser IDE ermöglicht es dem Benutzer, sich auf die Wissenschaft zu konzentrieren, anstatt sich mit technischen Details wie Ein-/Ausgabeformaten der Codes und Tools befassen zu müssen.


Weiterführende Informationen zu Pyiron finden Sie hier:

...

SimStack Workflow Umgebung

Eine zentrale Schwierigkeit in der Einbindung von Materialsimulationen in den Produktdesign-Zyklus besteht in der Notwendigkeit, auf jeden Anwendungsfall maßgeschneiderte Simulationsworkflows, die üblicherweise aus mehreren Modulen bestehen, einzubinden. Darüber hinaus erfordert die Ausführung verfügbarer Patchwork-Lösungen spezialisiertes Know-How sowohl in der Methodik, als auch in der Bedienung von Großrechnern.

Die Workflow-Umgebung SimStack ermöglicht die effizente Gestaltung und Anpassung komplexer Workflows („rapid prototyping“) mit Softwaremodulen verschiedener Anbieter per Drag-and-Drop, wobei nur für den jeweiligen Use-Case relevante Settings exponiert werden. Zusammen mit der automatisierten Ausführung der Workflows auf Großrechnern wird hierdurch die Komplexität für den Endnutzer und die benötigte Expertise minimiert. Dies ermöglicht den Transfer komplexer, wissenschaftlicher Multiskalenmethoden in die Industrie.


Weiterführende Informationen zu SimStack finden Sie hier: