OptiNum-Grid

Optimierung technischer Systeme und naturwissenschaftlicher Modelle mit Hilfe numerischer Simulationen im Grid

Die Entwicklung innovativer neuer Produkte ist heutzutage in vielen Bereichen ohne Computer-Simulationen nicht mehr möglich. Das liegt zum einen an ständig mächtiger, aber eben auch komplexer werdenden Technologien. Zum anderen steigen die Anforderungen an die Gewährleistung der Produkt-Sicherheit in allen Stadien der Entwicklung. Die benötigte Computer-Leistung überschreitet oft die Grenzen dessen, was insbesondere mittelständische Unternehmen ihren Ingenieuren bereitstellen können.

Im Community-Projekt OptiNum-Grid haben sich daher Unternehmen aus der Mikrochip-Entwicklung und der Adaptronik – aktiv reagierende Systeme beispielsweise zur Dämpfung von Schwingungen von Fahrzeugachsen – mit Ressourcen-Providern und Forschungseinrichtungen zusammengeschlossen, um die benötigten Simulationen im Grid auszuführen. Dabei sollen bereits bestehende Entwicklungen aus der deutschen Grid-Initiative D-Grid so ergänzt werden, dass sich das Grid mit so wenig Aufwand wie möglich in die Arbeit der Entwickler integrieren lässt. Ein großer Teil der OptiNum-Grid-Entwicklungen soll auch für Simulationsprobleme außerhalb der Community anwendbar sein.

Basis-Dienste
Ein Ziel von OptiNum-Grid ist die Vereinfachung des Software-Deployments. Anwender von Simulationssoftware benötigen oft ganz bestimmte Software oder eine bestimmte Software-Version. Bisweilen kommen auch eigens entwickelte Programme zum Einsatz. Da im Grid in der Regel nicht vorhersehbar ist, auf welchem Rechner ein Grid-Job ausgeführt wird, ist die Bereitstellung einer lauffähigen Version einer benötigten Anwendung auf diesem Rechner ein großes Problem. In OptiNum-Grid sollen Dienste entwickelt werden, die Anwendern hierbei umfassende Hilfestellung leisten. Damit soll auch ein transparenter Rechner-Wechsel vereinfacht werden, zum Beispiel bei einem Rechner-Ausfall.

Weitere für OptiNum-Grid geplante Dienste betreffen die Vertraulichkeit von Nutzer-Daten. Dieses wichtige Problem wird durch eine je nach Bedarf abgestufte Sicherheitsarchitektur behandelt. Als erste Stufe wird es möglich sein, Daten mit einem nur dem jeweiligen Nutzer zugänglichen Schlüssel zu ver- und entschlüsseln. Eine weitere Stufe ermöglicht die Ausführung der Anwendung in einer virtuellen Maschine, wodurch der Zugriff auf den Speicher der Anwendung von außen erschwert wird.. Schließlich wird für spezielle Anwendungen die Ver- und Entschlüsselung von Daten direkt in der Anwendung selbst vorgesehen.

Für die oft erforderliche Kombination mehrerer Programme bei der Bearbeitung eines Simulationsproblems sind in OptiNum-Grid ein Portal und Dienste vorgesehen, die die Erstellung und Bearbeitung entsprechender mehrstufiger Arbeitsabläufe (Workflows) ermöglichen. Dabei soll es insbesondere auch möglich sein, die gewünschten Simulationen – soweit möglich – gleichzeitig auf verschiedenen Systemen durchzuführen (Parallelverarbeitung).

Anwendungsbezogene Dienste
Die Simulations-Anwendungen in OptiNum-Grid lassen sich grob in drei Anwendungsfälle gliedern: Variantensimulation, Optimierung und Validierung. Während bei der Variantensimulation die Verhaltensänderungen jeweils leicht verschiedener Entwürfe untersucht werden, ist das Ziel der Optimierung, die bestmöglichen Einstellungen für bestimmte Entwurfseigenschaften zu finden. Bei der Validierung geht es schließlich darum, durch Simulationen des fertigen Systems festzustellen, ob es unter unterschiedlichen Bedingungen die erwarteten Eigenschaften besitzt. Gemeinsam ist allen drei Fällen die große Zahl der benötigten Einzelsimulationen. Die Arbeitsabläufe dieser drei allgemein gefassten Anwendungsfälle unterscheiden sich aber. In OptiNum-Grid werden daher jeweils angepasste Grid-Dienste bereitgestellt, die dem Nutzer die Vorbereitung, Ausführung und Auswertung der Einzelsimulationen im Grid erleichtern.

Zunächst erfolgt das automatische Erzeugen der benötigten Einzelsimulationen aus der Beschreibung eines Entwurfs und der sich ändernden Eigenschaften (Eingabedaten). Der nächste Schritt ist die parallele Ausführung der erzeugten Simulationen im Grid, wobei ein ebenfalls vorgesehener Dienst zur verteilten Lösung großer Gleichungssysteme verwendet werden kann. Im Falle der Optimierung werden dann anhand der vorgegebenen Bewertung aus Simulationsergebnissen neue (verbesserte) Eingabedaten erzeugt. Schließlich wird auch das Einsammeln der Simulationsergebnisse und deren Zusammenfassung durch Grid-Dienste unterstützt.

Demonstratoren
Die in OptiNum-Grid bereitgestellten Dienste werden mit Hilfe von Anwendungsszenarien der Konsortialpartner erprobt. Diese Anwendungsszenarien werden im Projekt bis zu lauffähigen Demonstratoren entwickelt. Ein Demonstrator ist die Simulation von Belichtungsprozessen in der Mikroelektronik. Ein vorhandenes, für lokale Verbünde von Rechnern gedachtes Programm soll dabei so an die bereitgestellten Dienste angepasst werden, dass es im Grid ausgeführt werden kann. Ein anderer Demonstrator ist die Anwendung der Finite-Element-Methode (FEM), die bei der Simulation mechanischer Systeme von besonderer Bedeutung ist. In diesem Szenario geht es insbesondere um die Schnittstelle zwischen vorhandenen FEM-Programmen und dem bereitgestellten Grid-Dienst zur Lösung großer Gleichungssysteme. Ein drittes Szenario betrifft den Schaltungsentwurf. Hier soll eine vergleichende Studie den durch Nutzung der OptiNum-Grid-Dienste erzielbaren Performance-Gewinn bei der Optimierung einer komplizierten Schaltung aufzeigen. Schließlich wird ein Demonstrator die Grid-Nutzung bei der Validierung von Schaltungen zeigen. Hierfür wird eine in einer Hardware-Beschreibungssprache wie Verilog oder VHDL verfasste Schaltungs-Simulation verteilt im Grid ausgeführt, und die Ergebnisse werden automatisiert wieder zusammengeführt.