המטאברס התעשייתי משלב עולמות דיגיטליים ופיזיים כדי לתמוך בעיצוב, סימולציה והמחשה תלת-ממדית שיתופית של מערכות מהונדסות. הוא בדרך כלל מורכב ממספר תאומים דיגיטליים מקושרים של רכיבים כדי לספק תצוגה כוללת של המערכת. ארגונים גדולים כמו בואינג, BMW, אמזון ועוד רבים נוקטים בגישות שונות ליצירת מטאברסים1. פותחו מערכות לאפשרות שרשראות מרובות של סימולציה וכלי עיבוד והן בשימוש. עם זאת, דוגמאות אלו בדרך כלל מותאמות אישית לאזוריישום 2 או אופציות מסחריות 3,4 עם נעילות מסוימת למערכות קנייניות. כמה חלופות קוד פתוח לבניית תאומים דיגיטליים שימשו ליצירת מערכות מסוימות, כמו Python Flask, עם יכולות סימולציה מובנות. עם זאת, אלה מוגדרים כקוד מותאם אישית לביצוע משימות ספציפיות הקשורות לדגם5 הספציפי. בהקשר של פרוטוקול זה, פלטפורמת המטאוורס (NVIDIA Omniverse) פועלת כחזית ויזואליזציה תלת-ממדית ואינטראקציה עם זרימת עבודה: פלטי סימולציה נטענים לסצנה משותפת לאחר סיום ריצת זרימת עבודה, וניתן להפעיל ריצות חדשות מתוך אותה סביבה. זה שונה ממערכות תאום דיגיטליות חיות שבהן זרמי חיישנים בזמן אמת מעדכנים את המודל באופן רציף; השיטה המודגמת כאן תומכת בביצוע זרימת עבודה באצווה ובחקירה לאחר ההרצה. עם זאת, הדבר נעשה כך שיתמוך בעבודה עתידית לשילוב מערכות נוספות בפלטפורמת המטאוורס כדי לאפשר יצירת תאומים דיגיטליים עם מנועי זרימת עבודה כחלק מהחישוב.
ניתן להגדיר זרימות עבודה כשרשראות של כלי תוכנה שמפרטות במפורש את זרימת הנתונים ביניהן. הם מאפשרים עטיפה של קודי סימולציה קיימים, סקריפטים של עיבוד ושלבים נוספים בצינור ניתוח טיפוסי, מבלי לשנות את הפונקציה שלהם, אלא מאפשרים להגדיר ולהגדיר אותם מחדש עם קלטים ויציאות סטנדרטיים שאינה תלויה בכלים. זרימות עבודה מאפשרות שכפול קל של תוצאות באמצעות שיתוף כלים, ומספקות גם מטא-דאטה ומקור לגבי אילו גרסאות כלים שימשו, באיזה סדר ועם אילו קלטים. כלים עצמם יכולים לשמש מחדש בצינורות סימולציה, מה שמאפשר לחוקרים להשקיע פחות זמן בהקמת סימולציות ויותר זמן בתכנון ניסויים וחקר התוצאות. מערכות זרימת עבודה גם ניתנות להרחבה, עם שיטות להתחבר למשאבי חישוב, ענן ו-HPC מקומיים שונים, המאפשרות להריץ זרימות עבודה בקנה מידה גדול על חומרה ספציפית באופן אוטומטי.
הגישה הידנית הטיפוסית היא איטית מטבעה, רגישה לשגיאות וקשה לשחזור, שבה חוקר מריץ כל כלי סימולציה או עיבוד פוסט-סימולציה ידנית, מעביר קבצים ביניים בין סביבות, וצריך לתעד קלטים ופלטים בודדים. בניגוד לכך, מנהל זרימת עבודה פורמליזציה של זרימת הנתונים פעם אחת ומריץ אותה מחדש באופן דטרמיניסטי. זה מביא יתרונות רבים ביחס לצינורות ידניים: אותו תהליך עבודה יכול להתבצע באופן זהה על קלטים שונים, ותומך במחקרי פרמטרים ללא סקריפטינג מותאם אישית; כל ריצה לוכדת אוטומטית מטא-דאטה מלאה של המקור, ומטפלת בכל פער בשחזוריות; וברגע שכלי נעטף, עלות השימוש החוזר שלו בתהליכים הבאים יורדת כמעט לאפס, מלבד זמן החישוב. יתרונות אלו נמדדו בביואינפורמטיקה על ידי Wratten ואחרים.7 ועבור פרוטאומיקה/מטבולומיקה על ידי Perez-Riverol ו-Moreno8 ו-Verhoeven et al.9.
היסטורית, תהליכי עבודה שימשו בעיקר בתחום הביואינפורמטיקה 8,9 בהצלחה רבה עם מופעים ציבוריים גדולים כמו שרת Galaxy האירופי10,11, שבשנת 2022 אירח יותר מ-50,000 משתמשים, 2500 כלים, ביצע מעל 47 מיליון עבודות ו-260,000 ריצות זרימת עבודה. אותה ערימת מנוע זרימת עבודה תומכת בהרחבה ל-HPC ולמשאבי ענן דרך מערכת ביצוע משימות מבוזרת של Pulsar 6,11, עם פריסות תפעוליות הכוללות 13 נקודות קצה של Pulsar ב-10 מדינות אירופה. מבין מנהלי זרימת העבודה הרבים הזמינים, כולל Snakemake, Nextflow, Toil ומנועים תואמי CWL, מנוע זרימת העבודה Galaxy11 נבחר ממספר סיבות. אחת הסיבות העיקריות לכך היא הממשק הבוגר המבוסס על דפדפן, שמפחית את מחסום הכניסה למומחי תחום שאינם עובדים בעיקר בשורת הפקודה; הוא חושף ממשק תכנות יישומים (API) מלא להעברת מצב ייצוג (REST) (המשמש בעבודה הנוכחית לגשר לצד החזית של המטאברס); מודל ההיסטוריה וה-Jobs שלו לוכד את המקור בצורה שקל לחשוף בפני שותפים שאינם מומחים; והוא תומך בפריקת HPC שקופה דרך מערכת הפולסר שהוזכרה קודם (אם כי זה לא נדון בסעיף הפרוטוקול במאמר זה). עם זאת, הגישה המתוארת במאמר זה היא עיקרונית שאינה תלויה במנועי זרימת עבודה: ניתן לבנות אינטגרציות שוות ערך על גבי מנועים חלופיים. התרומה של עבודה זו אינה מנהל זרימת העבודה עצמו אלא תרגום של מנהל זרימת עבודה כללי שפותח במקור לביואינפורמטיקה לתחומים אחרים (עם הדוגמה הספציפית של נייטרוניקת מיזוג כאן), ואינטגרציה עם פלטפורמת מטאברס תעשייתית (NVIDIA Omniverse), בתוך מחסנית מכולות מלאה וניתנת לפריסה מקומית, המיושמת בניסויים וירטואליים תלת-ממדיים.
לבסוף, המכולות מאפשרת שיתוף של חלקים רבים של תוכנה על ידי אריזת קוד עם מערכת ההפעלה וכל התלות שהיא צריכה להריץ. סביבות אלו נמנעות מבעיות של תלות חסרה ומהטרחה של התקנת קודי סימולציה. הן דומות במטרתן למכונות וירטואליות אך הרבה יותר קלות וניידות יותר. הם מגדילים משמעותית את השיתוף והשחזור של חבילות תוכנה. בשיטה זו, מנהל זרימת העבודה והכלים הבודדים פועלים במכולות Docker12 , מה שמגביר את התאימות למערכות הפעלה שונות כל עוד המשתמש יכול להריץ מכולות.
פרוטוקול זה מיועד לחוקרים מומחים בתחום, לדוגמה, מהנדסי נייטרוניקה מיזוגים, אנליסטים של דינמיקת נוזלים חישובית, או מתרגלים של אלמנטים סופיים, ששולטים בכלי הסימולציה של תחומם אך לא השתמשו בעבר במנהל זרימות עבודה או בפריסה מבוססת מכולה. מניחים היכרות עם קוד סימולציה יחיד ופעולת שורת פקודה בסיסית; היכרות עם גלקסי או האומניברס אינה כזו. קוראים חדשים בתחום המכולות צריכים לעיין בתיעוד הרשמי של Docker (https://docs.docker.com/) או בהכשרה מבוא הזמינה בכתובת: https://uomresearchit.github.io/docker-introduction/ לפני ביצוע סעיף 1; הפקודות הבסיסיות הנדרשות להפעלת התוכנה כלולות כולן בתוך הפרוטוקול.
שאר הדוח יכסה את ההקמה והשימוש במערכת הניתנת לפריסה מקומית. לאחר מכן, יבוצע שלבים לפיתוח כלים חדשים למערכת ושיטה לקישור חבילות חיצוניות נוספות למנוע זרימת העבודה, כמו פלטפורמת מטאברס. במהלך הדוח, סימולציה של נייטרוניקה באמצעות OpenMC13 משמשת כמחקר מקרה. OpenMC נבחר כי הוא מציג את כל צינור הוויזואליזציה מ-CAD-לסימולציה-לפלט, שמניע את ארכיטקטורת זרימת העבודה. קובץ גיאומטריה וקובץ קונפיגורציה משמשים כקלטים מובנים; סימולציית העברת הנייטרונים במונטה קרלו מייצרת מדד סקלרי (יחס רבייה של טריטיום, TBR) שניתן להשוותו לטווח ידוע של ערכים, ומערך נתונים של מסלול נייטרונים מפותח מרחבית שניתן לעבד ולהציג בפורמט ויזואלי עבור ההדמיה התלת-ממדית ביישום המטאברס.