De industriële metaverse combineert digitale en fysieke werelden om ontwerp, simulatie en collaboratieve 3D-visualisatie van ontworpen systemen te ondersteunen. Het bestaat doorgaans uit vele onderling verbonden digitale tweelingen van componenten om een overkoepelend systeembeeld te geven. Grote organisaties zoals Boeing, BMW, Amazon en vele anderen hanteren meerdere benaderingen om metaversete creëren 1. Er zijn systemen ontwikkeld om meerdere ketens van simulatie- en verwerkingstools mogelijk te maken en worden gebruikt. Deze voorbeelden zijn echter doorgaans ofwel op maat gemaakt voor toepassingsgebied2 of commerciële opties 3,4 met enige vergrendeling aan propriëtaire systemen. Sommige open-source alternatieven voor het bouwen van digitale tweelingen zijn gebruikt om bepaalde systemen te creëren, zoals Python Flask, met ingebouwde simulatiemogelijkheden. Toch zijn deze geconfigureerd als op maat gemaakte stukken code om specifieke taken uit te voeren die verband houden met het betreffende model5. In de context van dit protocol functioneert het metaverse-platform (NVIDIA Omniverse) als een front-end voor 3D-visualisatie en workflowinteractie: simulatie-uitvoer worden geladen in een gedeelde scène nadat een workflowrun is voltooid, en nieuwe runs kunnen binnen dezelfde omgeving worden gestart. Dit verschilt van live digital-twin systemen waarbij realtime sensorfeeds het model continu bijwerken; De hier geïntroduceerde methode ondersteunt batch-workflowuitvoering en het nabewerken van resultaten. Dit gebeurt echter op zo'n manier dat toekomstige projecten worden ondersteund om meer systemen in het metaverse-platform te integreren, zodat digitale tweelingen met workflow-engines als computationele backend kunnen worden gecreëerd.
Workflows kunnen worden gedefinieerd als ketens van softwaretools die expliciet de datastroom tussen hen specificeren. Ze maken het mogelijk om bestaande simulatiecodes, verwerkingsscripts en andere stappen in een typische analysepijplijn te wrappen, zonder de functie hiervan te wijzigen, maar in plaats daarvan kunnen ze worden geconfigureerd en opnieuw geconfigureerd met gestandaardiseerde inputs en outputs die tool-agnostisch zijn. Workflows maken eenvoudige replicatie van resultaten mogelijk via het delen van tools, en bieden ook metadata en herkomst over welke versies van tools zijn gebruikt, in welke volgorde en met welke inputs. Hulpmiddelen zelf kunnen in veel simulatiepijplijnen worden hergebruikt, waardoor onderzoekers minder tijd kunnen besteden aan het opzetten van simulaties en meer tijd aan het ontwerpen van experimenten en het verkennen van de resultaten. Workflowsystemen zijn ook schaalbaar, met methoden om verbinding te maken met verschillende lokale compute-, cloud- en HPC-bronnen, waardoor veel grootschalige workflows op specifieke hardware op een geautomatiseerde manier kunnen worden uitgevoerd6.
De typische handmatige aanpak is van nature traag, foutgevoelig en moeilijk te reproduceren, waarbij een onderzoeker elke simulatie- of nabewerkingstool met de hand uitvoert, tussenbestanden tussen omgevingen verplaatst en individuele uitvoeringsinvoer en uitvoer moet documenteren. In tegenstelling hiermee formaliseert een workflowmanager de datastroom één keer en voert deze deterministisch opnieuw uit. Dit brengt veel voordelen met zich mee ten opzichte van handmatige pijplijnen: dezelfde workflow kan identiek worden uitgevoerd op verschillende invoer, wat parameterstudies ondersteunt zonder op maat gemaakte scripting; Elke run legt automatisch volledige herkomstmetadata vast, waarmee eventuele reproduceerbaarheidskloof wordt aangepakt; en zodra een tool is gewrapt, dalen de hergebruikskosten in latere workflows tot bijna nul, behalve de rekentijd. Deze voordelen zijn gekwantificeerd voor bio-informatica door Wratten et al.7 en voor proteomics/metabolomics door Perez-Riverol en Moreno8 en Verhoeven et al.9.
Historisch gezien zijn workflows voornamelijk gebruikt in het bio-informaticaveld 8,9 met groot succes bij grote publieke instanties zoals de Europese Galaxy Server10,11, die in 2022 meer dan 50.000 gebruikers, 2500 tools huisvestte, meer dan 47 miljoen taken uitvoerde en 260.000 workflowruns uitvoerde. Dezelfde workflow-engine ondersteunt schaalbaarheid op HPC- en cloudbronnen via het Pulsar gedistribueerde job-uitvoeringssysteem 6,11, met operationele implementaties verspreid over 13 Pulsar-eindpunten in 10 Europese landen. Van de vele beschikbare workflowmanagers, waaronder Snakemake, Nextflow, Toil en CWL-compatibele engines, werd de Galaxy workflow engine11 om een paar redenen gekozen. Een van de belangrijkste redenen is de volwassen browsergebaseerde interface, die de drempel verlaagt voor domeinexperts die niet voornamelijk op de commandoregel werken; het biedt een complete representational state transfer (REST) application programming interface (API) (API) (gebruikt in het huidige werk om te bridgen naar de metaverse-front-end); Het geschiedenis- en banenmodel legt de herkomst vast in een vorm die eenvoudig te tonen is aan niet-specialistische medewerkers; en het ondersteunt transparante HPC-offload via het eerder genoemde Pulsar-systeem (hoewel dit niet wordt besproken in het protocolgedeelte van dit artikel). De benadering die in dit artikel wordt beschreven, is echter in principe workflow-engine-agnostisch: equivalente integraties zouden bovenop alternatieve engines kunnen worden gebouwd. De bijdrage van dit werk is niet de workflowmanager zelf, maar de vertaling van een algemene workflowmanager die oorspronkelijk voor bio-informatica is ontwikkeld naar andere vakgebieden (met het specifieke voorbeeld van fusieneutronica hier), en de integratie ervan met een industrieel-metaverseplatform (NVIDIA Omniverse), binnen een volledig containeriseerde, lokaal inzetbare stack, toegepast op 3D-virtuele experimenten.
Ten slotte maakt containerisatie het delen van veel softwarestukken mogelijk door code te verpakken met het besturingssysteem en alle afhankelijkheden die het nodig heeft om te draaien. Deze omgevingen vermijden het probleem van ontbrekende afhankelijkheden en het gedoe van het installeren van sommige simulatiecodes. Ze zijn qua doel vergelijkbaar met virtuele machines, maar veel lichter en draagbaarder. Ze vergroten de deelbaarheid en reproduceerbaarheid van softwarepakketten drastisch. In deze methode draaien de workflowmanager en de individuele tools in Docker12-containers , wat de compatibiliteit met verschillende besturingssystemen verhoogt zolang de gebruiker containers kan uitvoeren.
Dit protocol is bedoeld voor domeindeskundige onderzoekers, bijvoorbeeld fusie-neutronica-ingenieurs, computationele stromingsdynamica-analisten of eindige-elementen-praktijkmensen, die vaardig zijn in de simulatietools van hun eigen vakgebied maar nog geen workflowmanager of container-gebaseerde implementatie hebben gebruikt. Er wordt aangenomen dat je bekend bent met één enkele simulatiecode en de basis van de commandoregelwerking; vertrouwdheid met Galaxy of het Omniversum is dat niet. Lezers die nieuw zijn in containerisatie dienen de officiële Docker-documentatie (https://docs.docker.com/) of de introductietraining te raadplegen die beschikbaar is bij: https://uomresearchit.github.io/docker-introduction/ voordat ze Sectie 1 volgen; De basiscommando's die nodig zijn om de software uit te voeren, zijn allemaal opgenomen in het protocol.
De rest van dit rapport behandelt de opzet en het gebruik van het lokaal inzetbare systeem. Vervolgens volgt het stappen voor het ontwikkelen van nieuwe tools voor het systeem en een methode om andere externe pakketten te koppelen aan de workflow-engine, zoals een metaverse-platform. Door het hele rapport dient een neutronica-simulatie met OpenMC13 als casestudy. OpenMC werd gekozen omdat het de volledige CAD-naar-simulatie-naar-output-visualisatiepijplijn demonstreert die de workflowarchitectuur motiveert. Een geometriebestand en een configuratiebestand dienen als gestructureerde invoer; de Monte Carlo neutronentransportsimulatie produceert een scalaire metriek (de tritium breedratio, TBR) die kan worden vergeleken met een bekend waardebereik, en een ruimtelijk opgeloste neutronenspoordataset die kan worden verwerkt en in een visualiseerbaar formaat kan worden gepresenteerd voor de 3D-rendering in de metaverse-toepassing.