Unsere Arbeitsgruppe erstellt eine Desktop-Anwendung, die die Gesamtenergieeffizienz von Gebäuden simuliert. Es ist eine .NET-Anwendung, und wenn der Benutzer viele Simulationen ausführt, kann dies recht zeitaufwändig sein. Die Simulationen sind vollständig parallelisierbar, und wir verfügen über einige sehr wichtige HPC- Rechenressourcen im "Büro".
Eine Idee, die wir hatten, ist es, den Benutzern das Auslagern von Simulationen zu ermöglichen, von denen wir wissen, dass sie sehr lange dauern werden (während jede einzelne Simulation etwa 30 bis 120 Sekunden dauert, kann das Ausführen einer großen Anzahl von Simulationen mehrere Tage dauern). Hat das schon mal jemand gemacht? Wenn ja, haben Sie Bibliotheken verwendet, um die Arbeit zu erleichtern? War es die Mühe wert?
bearbeitet, um hinzuzufügen:
Einzelne Aufgaben zum Auslagern der Simulation wären
- Packen einer Datei (ca. 5 MB),
- Hochladen auf unsere Server,
- Bei der Zerlegung des Pakets in einzelne Simulationen (jede dauert etwa 30 bis 120 Sekunden und ist vollständig parallelisierbar) hängt die Anzahl der Simulationen von der Anzahl der vom Benutzer ausgewählten Optionen (Isolierung, Gebäudeausrichtung usw.) und dem schlimmsten Auswahlfall ab Jede mögliche Option würde zu ca. 1E50-Simulationen führen. Das Ausführen von 100 bis ~ 1E5-Simulationen ist nicht unbekannt, aber die Mehrheit der Benutzer wird weniger als 10 ausführen.
- Zusammensetzen der fertigen Simulationen und Herunterladen der nun viel größeren Datei.
Wir sind uns nicht sicher, welche Benutzeroberfläche wir verwenden sollen, da unsere Gruppe in dieser Hinsicht neu ist und die Budgetkürzungen möglicherweise rechtzeitig abgeschlossen werden, sie müssen jedoch für die nächsten Mitarbeiter (falls vorhanden) einfach zu warten sein.
Diese App verwendet bereits .NET 4 und kann erweitert werden, um alle Kerne zu verwenden, die der Benutzer hat (unsere Entwicklungsmaschinen haben 8 Kerne).