Table of Contents
מבוא: מחשוב מתקדם פוגש הנדסה מבנית
מהנדסים סטרקטיטוריים נתקלים באופן שגרתי בסימולציות הדורשות כוח חישובי עצום. לנתח את ההתנהגות של גשר השעיה תחת עומסי רוח של 100 שנים, מודל התגובה הלא לינארית של עליית גבוהה במהלך אירוע סיסמית, או אופטימיזציה של החלק העליון של רכיב אלומיניום קל משקל כל כרוך במערכות פתרון עם מיליוני מעלות של חופש.
הבנה: Apache Spark
(א) צ'אפאצ'י ספארקס אינו כלי יחיד אלא מנוע ניתוח מאוחד המיועד למחשוב אשכול.במרכזו הוא מושג של אלגוריתמים מבוזרים (Ds), אשר הם אוספים בלתי ניתנים להחלפה של אובייקטים המחולקים על פני צמתים של חלקיקים, על שלבים של RDD, אשר מובעים שינויים ב-A Sparkative Document (למשל, FLT:0, 1LT:2) ופעולות (RD) ו-A.
Spark מספק ממשקי API ברמה גבוהה יותר שנבנה על RDDs: DataFrames ו-Datasets, אשר מוסיפים מודעות ואופטימיזציה באמצעות אופטימיזציה של שאילתה Catalyst. The DataFrame API, בהשראת מסגרות נתונים ב- Python ו-R, הוא שימושי במיוחד עבור מהנדסים אשר מניפולציה סימולציות ופלטים. SparkML כולל גם ספריות עבור SQL, הזרמת, מכונה למידה (MLb), וגרף (G) ומעבדות סימולציה מתאימה ל-Extraxlibx, יכולות להפוך את הסימולציות סימולציה סימולציה מקבילות (עבור סימולציה סימולציה סימולציה סימולציה מקבילה) או סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה , , סימולציה סימולציה סימולציה סימולציה סימולציה , סימולציה סימולציה סימולציה , , סימולציה סימולציה סימולציה , סימולציה , , סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה סימולציה אופציונלית סימולציה סימולציה סימולציה סימולציה .
אדריכלות וניהול משאבים
יישום Spark פועל כתהליכים עצמאיים על אשכול, מתואמת על ידי SparkContext בתוכנית הנהג.ה לוח הזמנים של הנהג, בעוד execuators על צומת עובדים מבצעים חישובים ולאחסן נתונים.מנהלי אשכול משותף כוללים את מצב הסטנד-צדדי של Spark, Apache Hadoop YARN, ו- Kubernetes יכולים לשגר עבודות במחשב נייד מקומי לפיתוח, ואז בקנה מידה חלקי למאות של אי-מחשבים קבועים עבור מחשבי-מחדשני.
חוסר סובלנות ללא פשרות
סימולציות ארוכות טווח הן פגיעות לכישלונות של צומת או לרשת hiccups. Spark משיגות סובלנות באמצעות RDD lineage: כל RDD זוכר איך הוא נבנה מתחומים אחרים.אם חלוקה אבודה, רק כי החלוקה היא recomputed באמצעות גרף השושלת, ולא מחדש את העבודה כולה.
יישום Spark in Structural Engineering
ההתאמה הטבעית בין מודל עיבוד מקבילים של Spark ומשימות סימולציה מבניות הולכת מעבר לפרמטרים פשוטים.מספר אזורי יישום קונקרטיים ממחישים כיצד Spark משנה את זרימת העבודה הנדסית.
המונחים: Finite analysis
שיטת יסוד Finite (FEM) סימולציות יוצרות את עמוד השדרה של ניתוח מבני. Domain decomposition - פיצול מרש לתוך תת-דומיינים ופתרון כל אחת על ליבה נפרדת - מפות ישירות ל-RDD החלוקה. Spark יכול לחלק את ה-Matrix נוקשות, לטעון חישוב וקטורטציה, ואפילו משככי כאבים מקומיים (למשל, ⁇ ) על פני אשכולות במהנדסים כמו SAFCR, ניתוח של קבוצות אבטחה לטווח ארוך, ללא לחץ חיצוני, 000, 000, קליפורניה, 000, 000, 000, 000 של אבטחה, 000 לינאריות, 000, 000, 000, 000, 000, 000, 000, 000 ריצוף CCR.
סיכון מוכח וניתוח אחריות
ניתוח אמינות סטרקטיטורי דורש לעתים קרובות סימולציות מונטה קרלו או אלמנטים סופיים סטוצ'יסטיק, פועל אלפי הגשמה עם תכונות חומריות אקראיות, עומסים, או גיאוגרפיהמטים. אלה עומסי עבודה מקבילים מקבילים מביך הם אידיאליים עבור Spark. על ידי המייצג כל דגימה כשורה ב- DataFrame, מהנדסים יכולים להשתמש ספארי כדי לסנן, לאסוף, לנתח תוצאות על פני ה-Cretching של קבוצות של הסתברותיות בלתי מוגבלות.
אופטימיזציה וחיפושי חלל עיצוב
אופטימיזציה סטרקטיבית - בין אם טופולוגיה, צורה או אופטימיזציה בגודל - כוללת הערכה של מאות או אלפי עיצובים של מועמדים. MLlib של Spark מספק אלגוריתמים מבוזרים כגון ירידה ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ יכול לעזור לעזור לפתור בעיות עיצוב מוגבל, לדוגמה, כלומר, יש צורך להגדיר את הגישה הבסיסית יותר, כמו ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
דינאמי טעינה Simulations ו- Real-Time Data
(התגובה השברירית תחת עומסים דינמיים (הדברים המשווים, גלי הרוח, הפיצוץ) כוללת פתרון תוכניות זמן-שלבים של זמן-מה.בעוד שההחזרה של Spark אינה עשויה להתאים לשעת חירום, היא מדגימה לעיבוד אצווה של מספר מקרי עומס או מחקרי פרמטרים (Sparkspark) בנוסף, Spark מאפשר ניתוח זמן קצר של ניטור נתונים מבניים מרשתות ARM יכול לפריצת דגלים (F) באמצעות מעבדים מסוג זה, כלומר, כלומר, כלומר, באמצעות עיבוד של דגם Cv-D.
היתרונות של שימוש Spark for HPC בהנדסת חשמל
בהשוואה לגישות HPC המסורתיות - כגון MPI על אשכולות ייעודיים או עיבוד מבוסס Hadoop - Spark מציע יתרונות ברורים שמתאימים לצרכים המתפתחים של חברות הנדסה.
מהירות מהירות
צ' Spark's in-memory caching יכול להאיץ אלגוריתמים רבי עוצמה על ידי 10-100 × בהשוואה ל- MapReduce המבוססת על דיסק.עבור סימולציות מבניות שמשתפות פותרים של חומרים (למשל, ניוטון-רפסון מתלכדות), שמירה על נתונים בזיכרון מפחיתה את I/O צווארי בקבוק קשיחים.
סקלאה
Spark scales ליניארית ממכונה אחת לאלפי צמתים.עבור חברת הנדסה מבנית שבדרך כלל מפעילה מודלים קטנים על יצירות מקומיות, הוספת משאבי ענן לפרויקט גדול הופכת להיות פשוטה. אותו קוד PySpark שמעבד מהירויות של 100-element יכולות להתמודד עם מודל של 10 מיליון-התשייט ללא שינוי קוד - רק תצורה זו היא בעלת ערך עבור חברות ייעוץ כי חייב להתאים למגוון של תשתיות יקרות ללא גודל קבוע.
גמישות
Spark תומך בשפות תכנות מרובות (Python, Scala, Java, R) ומשלב עם מקורות נתונים רבים: HDFS, S3, מסדי נתונים יחסיים, פארקט, ואפילו זרמי זמן אמתיים.מהנדסים יכולים לשלב סימולציות עם מסדי נתונים של נכסים חומריים, נתוני מזג אוויר, או יומני חיישן בצנרת אחת.S MLlib מאפשר גם להטמיע מודלים ממוחשבים ישירות לתוך העבודה - לדוגמה, עבור סימולציה ממוחשבת מהירה של עיצוב.
עלויות-אווירה
על ידימינוף חומרה של סחורות או מקרים מראש ענן, Spark מפחית את הצורך של מקבץ HPC מיוחד.ספקי ענן מציעים שירותי ספארקס מנוהלים (אמזון EMR, Google Dataproc, Azure HDInsight) אשר גובים רק לזמן מקביל.עבור סימולציה קצרה, מפוצה, תוספת תשלום זה כמו שאתה-go מודל יכול להיות פקודות של גודל זול יותר מאשר רכישת ושמירה על יישומי מחשבי, יתר על עלויות יעיל יותר.
יישום Spark in Structural Engineering Workflows
שילוב ספארקס לתוך סביבת סימולציה קיימת דורש תכנון זהיר אבל רחוק מטקס קרקעי.רוב צוותי ההנדסה לאמץ גישה היברידית: הם שומרים על פותרי חד-פעמיים המאומתים שלהם כספריות ומשתמשים ב- Spark כדי לערוך מקבילות.
המונחים: cluster
עבור צוותים חדשים להפיץ מחשוב, הכניסה הפשוטה ביותר היא שירות ספארי מנוהל בענן.מהנדסים יכולים לשגר אשכול עם כמה קליקים, להעלות את קוד הסימולציה שלהם, ולהפעיל עבודות באמצעות מחברים (למשל, ג'וסטר עם גרעין Spark) עבור הגדרות על-ידי הצבת מראש, מצב ספארקס עומד פועל היטב עם כמה עשרות צניפים.
מידע על I/O
(ב) צוואר בקבוק נפוץ מעביר נתונים ותוצאות בין Spark cutors וסימולטורים סימולציה.מהנדסים מאחסנים לעיתים קרובות גיאוגרפיות מרשאות ב-Parkt או Avro פורמט (columnar, דחוס) במערכת קבצים מבוזרת כגון HDFS או S3. Spark קורא את הקבצים האלה ל-DataFrames, ולאחר מכן משדר טבלאות קטנות (למשל, תכונות) לכל הגרסאות ה-CGPSS, אך ורקבות, יכולות להשתמש בהן שימוש ב-C.
פיתוח ובדיקה
מהנדסים צריכים להתחיל עם תחילת נתונים קטנים על מקרה ספארי מקומי (באמצעות FLT:8) כדי להבטיח את הנכונות.לאחר שהלוגיקה מאומתת, הם לפרוס את אשכול המבחן עם גודל נתונים נציג. "The Spark Web UI עוזר לפקח על משך הבמה, לקרוא / לשכתב, ו-skew המשימה - קריטי עבור כוונון.
דוגמה: ניתוח שברירי
(הופנה מהדף מונטה קרלו על בניין בן 40 קומות תחת תנועות אדמה; זרימת העבודה: (1) ליצור 10,000 מימושים אקראיים של כוח חומרי, לחות וקרקע.חנות כקובץ פארקט עם שורה אחת לדגימה. (2) לטעון לתוך גללאות ספירת נתונים Spark DataFrame, סחף לתוך 1000rags.(3) עבור כל מחיצה, לשדר ליש (RDD קטן) ונקרא סביב עטוף רוחב 12 ימים של ניתוח ענן פתוח (Fre)
אתגרים וכיוונים עתידיים
בעוד Spark מציעה יכולות עוצמתיות, צוותי הנדסה מבניים חייבים לנווט כמה מכשולים לפני פריסת הייצור.
העברת נתונים ו Serialization Overhead
העברת מברשות גדולות בין צמתים וסידוריות / אובייקטים יכול לשלוט במשרה רצופה.עבור מברשות בסדר גדול מאוד (למשל, מיליוני אלמנטים), עלות של סידרה של כל האפר לתוך כל משימה יכול לבטל רווחים מקבילים.פתרונות כוללים שימוש ב-Kyoization (זמן יותר מ- Java) או שידור נתונים מדבקים פעם ל-exeor (Koryization) כדי להצטרף למהנדסים גדולים ביותר; אין צורך ב-Samdcasterdlecaster (com) או למזער נתונים של ניתוח נתונים של ניתוח נתונים של ניתוח נתונים).
מורכבות של תכנות במקביל
למרות ה- API ברמה גבוהה של Spark, כתיבה סימולציות מבוזרות דורשות הבנה של חלוקת המדינה המשותפת, ושיקום לקוי של שיבוש במקומיות המשימה יכול לגרום לתוצאות לא נכונות שקטות. מהנדסים רגילים לבצע הוצאה להורג חד-מכונה חייב ללמוד לבדוק עבור איסוף נתונים, להתמודד עם פעולות שאינן סודיות, ולהימנע ממשימות ממשלתיות שונות.
מומחיות מיוחדת
חברות הנדסה מבניות רבות חסרות מהנדסי נתונים פנימיים אשר שוטפים ב Spark. Bridging הפער הזה לעתים קרובות דורש שיתוף פעולה עם מדעני מחשב או מומחי גיוס.חומרי הדרכה כמו FLT:0Spark SQL Getting Start GuideveFLT:1 ו- MOOCs מקוונים עזרה, אבל ניסיון מעשי עם עומסי עבודה אמיתיים הוא בלתי נסבל. חלופה היא באמצעות שירותים מנוהלת כי ניהול אשכול מופשט (כמו Databricks) ומספקת מהנדסים מוכרים.
עלויות אבטחה וענן
למרות שצירפי ענן להפחית את העלות הקדמית, סימולציות גדולות יכולות לצבור עלויות שימוש משמעותיות אם לא בקפידה פיקוח על מהנדסים חייב תקציב לאחסון נתונים, רשת תוקפנות, ושעות ציות.שימוש במקרים מסוימים / מועדפים בעלויות אך דורש סובלנות של Spark כדי להתמודד עם הפסקות פתאומיות.עבור אשכולות גדולים מאוד, רוחב פס בין צמתים יכול להפוך לצוואר, במיוחד עבור כל דפוסי התקשורת של ספארי ה-ה כמו שיפורי (Ricel) בעתיד (RRAPI) עבור שיפורי תיבות של זיכרון מרחוק) עבור שיפורי תיבות של SCR) גישה מרחוק (RRAMA).
שם הסרטון: Spark 3.x and Beyond
(אנתוני ספארי) הציגה ביצוע של שאילתה מתאימה, פיזור דינמי, ואת לוח הזמנים GPU-מודע. תכונות אלה מועילות עומסי הנדסה על ידי כוונון אוטומטי וניצול מאיצים GPU עבור אלגבר ליניארי צפוף (למשל, פתרון מערכות סופיות על GPUs מבוקר על ידי משימות SparkML).
מסקנה
Apache Spark הוכיחה את עצמה כמנוע רב עוצמה עבור מחשוב בעל ביצועים גבוהים בהנדסה מבנית.העיבוד in-memory, סובלנות אשמה וארכיטקטורה מדרגית מאפשרת למהנדסים להתמודד עם בעיות שנשמרו בעבר למחשבים יקרים - מניתוח אלמנטים סופי בקנה מידה גדול כדי להעריך סיכונים פרוברליסטיים.הגמישות להשתלב עם פותרים קיימים ויתרונות פריסת ענן להפוך את Spark אפשרות אטרקטיבית עבור כל האתגרים, בעוד שעדיין כמו פיתוח נתונים חדשני, וצורך בטכניקות מתקדמות יותר, להמשיך להפיץ יותר, כדי לספק את הפיתוח החדשניות יותר.