Il metaverso industriale combina mondi digitali e fisici per supportare la progettazione, la simulazione e la visualizzazione collaborativa 3D di sistemi ingegnerizzati. Tipicamente consisteva in molti gemelli digitali interconnessi di componenti per offrire una visione complessiva del sistema. Grandi organizzazioni come Boeing, BMW, Amazon e molte altre stanno adottando diversi approcci per crearemetaversi 1. Sono stati sviluppati e vengono utilizzati sistemi per consentire più catene di strumenti di simulazione e elaborazione. Tuttavia, questi esempi sono tipicamente o su misura per l'areaapplicativa 2 oppure sono opzionicommerciali 3,4 con qualche bloccaggio a sistemi proprietari. Alcune alternative open source per costruire gemelli digitali sono state utilizzate per creare alcuni sistemi, come Python Flask, con capacità di simulazione integrate. Tuttavia, questi sono configurati come pezzi di codice su misura per svolgere compiti specifici relativi al particolare modello5. Nel contesto di questo protocollo, la piattaforma metaverse (NVIDIA Omniverse) funziona come un front-end di visualizzazione 3D e interazione di workflow: gli output delle simulazioni vengono caricati in una scena condivisa dopo il completamento di una run di workflow, e nuove esecuzioni possono essere attivate dallo stesso ambiente. Questo differisce dai sistemi digitali in tempo reale in cui i sensori in tempo reale aggiornano continuamente il modello; Il metodo qui dimostrato supporta l'esecuzione del flusso di lavoro batch e l'esplorazione post-esecuzione dei risultati. Tuttavia, ciò viene fatto in modo da supportare futuri lavori per integrare più sistemi nella piattaforma metaverso, permettendo la creazione di digital twin con motori di workflow come backend computazionale.
I flussi di lavoro possono essere definiti come catene di strumenti software che specificano esplicitamente il flusso di dati tra di essi. Consentono l'incapsulamento di codici di simulazione esistenti, script di elaborazione e altri passaggi in una pipeline di analisi tipica, senza alterarne la funzione, ma permettendo invece di configurarli e riconfigurarli con input e output standardizzati che non identificano gli strumenti. I flussi di lavoro permettono una facile replica dei risultati tramite la condivisione degli strumenti, fornendo anche metadati e la provenienza delle versioni degli strumenti utilizzate, in quale ordine e con quali input. Gli strumenti stessi possono essere riutilizzati in molte pipeline di simulazione, permettendo ai ricercatori di dedicare meno tempo a impostare simulazioni e più tempo a progettare esperimenti ed esplorare i risultati. I sistemi di workflow sono anch'essi scalabili, con metodi per connettersi a diverse risorse di calcolo locale, cloud e HPC, permettendo di eseguire molti workflow su larga scala su hardware specifico in modoautomatizzato 6.
L'approccio manuale tipico è intrinsecamente lento, soggetto a errori e difficile da riprodurre, in cui un ricercatore esegue manualmente ogni strumento di simulazione o post-elaborazione, sposta file intermedi tra ambienti e deve documentare singole run input e output. Al contrario, un workflow manager formalizza il flusso di dati una volta e lo riesegue in modo deterministico. Questo porta molti vantaggi rispetto alle pipeline manuali: lo stesso flusso di lavoro può essere eseguito identico su input diversi, supportando studi di parametri senza scripting su misura; ogni esecuzione cattura automaticamente tutti i metadati di provenienza, colmando eventuali lacune di riproducibilità; E una volta che uno strumento è stato completato, il suo costo di riutilizzo nei flussi di lavoro successivi scende quasi a zero, a parte il tempo di calcolo. Questi benefici sono stati quantificati per la bioinformatica da Wratten et al.7 e per la proteomica/metabolomica da Perez-Riverol eMoreno8 e Verhoeven et al.9.
Storicamente, i flussi di lavoro sono stati utilizzati principalmente nel campo della bioinformatica 8,9 con grande successo con grandi istanze pubbliche come il server europeoGalaxy 10,11, che entro il 2022 ospitava più di 50.000 utenti, 2.500 strumenti, eseguiva oltre 47 milioni di lavori e 260.000 esecuzioni di workflow. Lo stesso stack di motori di workflow supporta la scalabilità su risorse HPC e cloud tramite il sistema distribuito di esecuzione di jobPulsar 6,11, con implementazioni operative che coprono 13 endpoint Pulsar in 10 paesi europei. Tra i numerosi gestori di workflow disponibili, tra cui Snakemake, Nextflow, Toil e motori compatibili con CWL, il Galaxy workflowengine 11 è stato selezionato per diversi motivi. Una delle ragioni principali è la sua interfaccia matura basata su browser, che abbassa la barriera d'ingresso per gli esperti di dominio che non lavorano principalmente a riga di comando; espone un'interfaccia completa di programmazione applicativa (API) per trasferimento di stato rappresentativo (REST) (utilizzata nel presente lavoro per collegare il front-end del metaverso); Il suo modello di storia e di lavoro cattura la provenienza in una forma che è facile da far emergere ai collaboratori non specialisti; e supporta un offload HPC trasparente tramite il già citato sistema Pulsar (anche se questo non viene discusso nella sezione protocollo di questo articolo). L'approccio descritto in questo articolo, tuttavia, è in linea di principio indipendente dal motore di workflow: integrazioni equivalenti potrebbero essere costruite sopra motori alternativi. Il contributo di questo lavoro non è il workflow manager in sé, ma la traduzione di un workflow manager generico originariamente sviluppato per la bioinformatica in altri campi (con l'esempio specifico della fusione neurotronica qui), e la sua integrazione con una piattaforma industriale-metaverse (NVIDIA Omniverse), all'interno di uno stack completamente containerizzato e distribuibile localmente, applicato a esperimenti virtuali 3D.
Infine, la containerizzazione consente la condivisione di molti software impacchettando il codice con il sistema operativo e tutte le dipendenze necessarie per essere eseguito. Questi ambienti evitano i problemi di dipendenze mancanti e la snervatura di installare alcuni codici di simulazione. Sono simili nello scopo delle macchine virtuali ma molto più leggere e portatili. Aumentano drasticamente la condivisione e la riproducibilità dei pacchetti software. In questo metodo, il workflow manager e i singoli strumenti girano in container Docker12 , aumentando la compatibilità con diversi sistemi operativi purché l'utente possa eseguire container.
Questo protocollo è pensato per ricercatori esperti di dominio, ad esempio ingegneri di neutronia della fusione, analisti di fluidodinamica computazionale o operatori di elementi finiti, che sono fluenti negli strumenti di simulazione del loro campo ma non hanno precedentemente utilizzato un workflow manager o una distribuzione basata su container. Si presume familiarità con un singolo codice di simulazione e con l'operazione di base in riga di comando; la familiarità con Galaxy o l'Omniverso non lo è. I lettori nuovi alla containerizzazione dovrebbero consultare la documentazione ufficiale Docker (https://docs.docker.com/) o la formazione introduttiva disponibile a: https://uomresearchit.github.io/docker-introduction/ prima di seguire la Sezione 1; i comandi di base necessari per eseguire il software sono tutti contenuti nel protocollo.
Il resto di questo rapporto coprirà l'installazione e l'uso del sistema localmente distribuibile. Successivamente, seguirà i passaggi per sviluppare nuovi strumenti per il sistema e un metodo per collegare altri pacchetti esterni al motore di workflow, come una piattaforma metaverso. In tutto il rapporto, una simulazione neutrica con OpenMC13 funge da caso di studio. OpenMC è stato scelto perché dimostra l'intera pipeline CAD-simulazione-visualizzazione dell'output che motiva l'architettura del workflow. Un file di geometria e un file di configurazione fungono da input strutturati; la simulazione del trasporto neutronico di Monte Carlo produce una metrica scalare (il rapporto di riproduzione del trizio, TBR) che può essere confrontata con un intervallo noto di valori, e un dataset di tracce neutroniche risolto spazialmente che può essere elaborato e presentato in un formato visualizzabile per il rendering 3D nell'applicazione metaverso.