Deployment (פריסה)

בנוסף להגדרת חישובים, TFF מספק כלים לביצועם. בעוד שההתמקדות העיקרית היא בסימולציות, הממשקים והכלים שאנו מספקים הם כלליים יותר. מסמך זה מתאר את אפשרויות הפריסה לסוגים שונים של פלטפורמות.

סקירה כללית

ישנם שני אופני פריסה עיקריים עבור חישובי TFF:

  • קצה עורפי מקורי . אנו נתייחס ל-backend כמקורי אם הוא מסוגל לפרש את המבנה התחבירי של חישובי TFF כפי שהוגדרו ב- computation.proto . קצה אחורי מקורי לא בהכרח חייב לתמוך בכל מבני השפה או המרכיבים הפנימיים. חלקים עורפיים מקוריים חייבים ליישם את אחד ממשקי ה-executor הסטנדרטיים של TFF, כגון tff.framework.Executor לצריכה על ידי קוד Python, או הגרסה הבלתי תלויה בשפה שלו המוגדרת ב- executor.proto חשופה כנקודת קצה gRPC.

    ניתן להשתמש בממשקים מקוריים התומכים בממשקים שלעיל באופן אינטראקטיבי במקום ברירת המחדל של זמן הריצה להפניה, למשל, להפעלת מחברות או סקריפטים של ניסוי. רוב הקצה האחורי המקורי יפעלו במצב המפורש , כלומר, הם יעבדו את הגדרת החישוב כפי שהיא מוגדרת, ויבצעו אותה בהדרגה, אבל זה לא תמיד חייב להיות המקרה. backend מקורי יכול גם להפוך ( קומפילציה או JIT-compile) חלק מהחישוב לביצועים טובים יותר, או כדי לפשט את המבנה שלו. שימוש נפוץ אחד לדוגמה הוא לצמצם את קבוצת האופרטורים המאוחדים המופיעים בחישוב, כך שחלקים מהזרם האחורי של הטרנספורמציה לא צריכים להיות חשופים לסט המלא.

  • חלקים אחוריים שאינם מקוריים . גיבויים לא מקוריים, בניגוד לאלו המקוריים, אינם יכולים לפרש ישירות את מבנה החישוב של TFF, ודורשים להמיר אותו לייצוג יעד אחר המובן על ידי הקצה האחורי. דוגמה בולטת ל-backend כזה תהיה אשכול Hadoop, או פלטפורמה דומה לצינורות נתונים סטטיים. על מנת שחישוב ייפרס ל-backend כזה, תחילה יש להפוך אותו (או להידור ). בהתאם להגדרה, זה יכול להיעשות בשקיפות למשתמש (כלומר, backend לא מקורי יכול להיות עטוף בממשק executor סטנדרטי כגון tff.framework.Executor שמבצע טרנספורמציות מתחת למכסה המנוע), או שהוא יכול להיחשף כ- כלי המאפשר למשתמש להמיר באופן ידני חישוב, או קבוצה של חישובים, לייצוג היעד המתאים המובן על ידי המחלקה המסוימת של backends. ניתן למצוא קוד התומך בסוגים ספציפיים של קצה קצה שאינם מקוריים במרחב השמות tff.backends . בזמן כתיבת שורות אלה, סוג התמיכה היחיד של קצה-גב לא מקורי הוא סוג של מערכות המסוגלות לבצע MapReduce בסיבוב אחד.

אחוריים מקוריים

פרטים נוספים בקרוב.

גיבויים לא מקוריים

MapReduce

פרטים נוספים בקרוב.