שאלות נפוצות על מצבי הרצה של Qiskit Runtime
האם מצב הבדיקה המקומי של Qiskit Runtime תומך במצבי הרצה שונים?
מצב הבדיקה המקומי תומך בתחביר של מצבי ההרצה השונים, אך מכיוון שאין תזמון כלשהו בבדיקה מקומית, המצבים עצמם מתעלמים.
כמה משימות יכולות לרוץ במקביל עבור Backend מסוים?
מספר המשימות הרצות במקביל מבוסס על רמת המקביליות המוגדרת עבור ה-Backend, שהיא חמש עבור רוב ה-Backends כיום.
כיצד מדווח השימוש עבור משימות שנכשלו או בוטלו?
ראה את הסעיף משימות שנכשלו ובוטלו בדף מצבי ההרצה.
סשנים
מה קורה למשימות שלי אם סשן נסגר?
אם אתה משתמש בקלאס Session ב-qiskit-ibm-runtime:
Session.close()פירושו שהסשן אינו מקבל עוד משימות חדשות, אך המשימות הקיימות ממשיכות עד השלמתן.Session.cancel()מבטל את כל משימות הסשן הממתינות.
אם אתה משתמש ב-REST API ישירות:
PATCH /sessions/{id}עםaccepting_jobs=Falseפירושו שהסשן אינו מקבל עוד משימות חדשות, אך המשימות הקיימות ממשיכות עד השלמתן.DELETE /sessions/{id}/closeמבטל את כל משימות הסשן הממתינות.
אם אני משתמש במצב סשן ומצפה שהניסוי שלי ייקח שעות רבות, האם יש אפשרות לבקש כיולים?
לא. כיול לפי דרישה אינו זמין.
האם קיים פסק זמן אינטראקטיבי (TTL אינטראקטיבי) במצב סשן?
כן. הדבר מפחית עלויות בלתי רצויות אם משתמש שוכח לסגור את הסשן שלו.
האם אני יכול לשנות את ה-TTL האינטראקטיבי או ה-TTL המקסימלי של סשן?
לא ניתן לשנות את ערך ה-TTL האינטראקטיבי. ניתן לשנות את ערך ה-TTL המקסימלי של סשן (ראה ציון אורך הסשן), אך הוא חייב להיות קטן מהמקסימום המוגדר במערכת. פנה למנהל המערכת שלך ליצור קשר עם תמיכת IBM אם אתה זקוק ל-TTL אינטראקטיבי שונה או ל-TTL מקסימלי שונה של המערכת.
כיצד השימוש בסשן משפיע על חברי IBM Quantum Network שאינם מחויבים לפי שימוש?
חברי IBM Quantum Network מקבלים קיבולת שמורה ב-QPUs של IBM Quantum®. השימוש מנוכה מקיבולת זו, ומופעים עם קיבולת נמוכה יותר נתונים לזמני תור ארוכים יותר.
האם אני מקבל את אותה מקביליות במצב סשן שאני מקבל במצב אצווה?
כן. אם אתה שולח מספר משימות בו-זמנית בסשן, משימות אלו ירוצו במקביל.
האם סשנים יכולים להיות מופרעים על ידי שדרוגי QPU או כיולים?
לא. סשנים פועלים במצב ייעודי, כלומר למשתמש יש גישה מלאה ל-Backend. סשנים אינם נקטעים לעולם על ידי כיולים או שדרוגי תוכנה.
האם זמן הקומפילציה נחשב כשימוש במצב סשן?
כן. במצב סשן, השימוש הוא זמן השעון שה-QPU מחויב לסשן. הוא מתחיל כאשר משימת הסשן הראשונה מתחילה ומסתיים כאשר הסשן הופך ללא פעיל, נסגר, או כאשר המשימה האחרונה מסתיימת, לפי המאוחר שבהם. לכן, השימוש ממשיך להצטבר לאחר סיום הסשן אם ה-QPU עדיין מריץ משימה. בנוסף, הזמן שחולף לאחר סיום משימה בזמן שה-QPU ממתין למשימת סשן נוספת (ה-TTL האינטראקטיבי) נחשב כשימוש. זו הסיבה שעליך לוודא שהסשן נסגר ברגע שסיימת לשלוח אליו משימות.
אצווה
כמה משימות רצות במקביל במצב אצווה?
מספר המשימות הרצות במקביל מבוסס על רמת המקביליות המוגדרת עבור ה-Backend, שהיא חמש עבור רוב ה-Backends. עם זאת, מספר המשימות הרצות בו-זמנית באצווה פעילה עשוי להיות נמוך יותר, מכיוון שייתכן שיש משימות אחרות שכבר רצות כאשר האצווה הופכת לפעילה.
במה שונה הרצת N PUBs במצב משימה מהרצת N משימות בעלות PUB יחיד במצב אצווה?
ההבדל העיקרי הוא בפשרה בין זמן ועלות:
מצב אצווה:
- זמן ההרצה הכולל קצר יותר מכיוון שהעיבוד הקלאסי עשוי לרוץ במקביל.
- קיים תקורה קלה עבור הרצת כל משימה, ולכן בסופו של דבר אתה משלם מעט יותר עבור משימות באצווה. תקורה זו קשורה לגודל המשימה. לדוגמה, השימוש הכולל של שתי משימות, שכל אחת מכילה 40 מעגלים בגודל 100x100, גדול בשש שניות ממשימה בודדת המכילה 80 מעגלים.
- מכיוון שמצב אצווה אינו מעניק לך גישה בלעדית ל-Backend, משימות בתוך אצווה עשויות לרוץ עם משימות של משתמשים אחרים או משימות כיול.
- אם חלק מהמשימות נכשלות, אתה עדיין מקבל תוצאות מהמשימות שהושלמו.
- ניתן לנקוט פעולה באמצע עומס עבודה באצווה על סמך תוצאות המשימות שהושלמו. לדוגמה, ניתן לבטל את שאר המשימות אם התוצאות הראשוניות נראות שגויות.
מצב משימה:
- זמן ההרצה הכולל צפוי להיות גבוה יותר מכיוון שאין מקביליות.
- אינך משלם עבור התקורה הנוספת לכל משימה הקשורה לעומסי עבודה באצווה.
- כל המעגלים שלך ירוצו יחד.
- אם משימה בודדת זו נכשלת, אינך מקבל תוצאות חלקיות.
- המשימה שלך עשויה לפגוע במגבלה אם היא מכילה יותר מדי מעגלים או אם המעגלים גדולים מדי.
באופן כללי, אם כל אחת מהמשימות שלך צורכת פחות מדקה של זמן QPU, שקול לאחד אותן למשימה גדולה יותר (זה חל על כל מצבי ההרצה).
כמה משימות אני יכול לשלוח באצווה?
אמנם אין מגבלות על מספר המשימות שניתן לשלוח באצווה, אך קיים זמן מקסימלי הקשור לאצווה. כלומר, כאשר זמן השעון של האצווה (שמתחיל כאשר משימת האצווה הראשונה מתחילה לרוץ) חורג מהזמן המקסימלי המוגדר במערכת, האצווה לא תקבל משימות חדשות, וכל משימה שנמצאת בתור אך אינה רצה תבוטל. בנוסף, קיימות מגבלות על כמות השימוש שהמשימות שלך יכולות לצרוך בהתאם לתוכנית שלך. כדי לקבוע את הזמן המקסימלי הקשור לאצווה, השתמש במתודה batch.details() וחפש את הערך max_time.
מתי משימות במצב אצווה שלי ירוצו במקביל עם משימות של משתמשים אחרים?
רמת המקביליות המוגדרת עבור Backend נקראת גם "נתיבי הרצה". אם ישנם נתיב הרצה אחד או יותר פנויים, והמשימות באצווה שלך הן הבאות בתור, המתזמן מתחיל מספיק משימות כדי למלא את הנתיבים. באופן דומה, אם האצווה שלך אינה מכילה מספיק משימות למילוי הנתיבים, המתזמן מתחיל משימות של משתמשים אחרים.
דוגמה: ל-Backend שבחרת יש חמישה נתיבי הרצה, ושניים מהם כרגע תפוסים על ידי משימות של משתמשים אחרים. האצווה שלך עם שש משימות היא הבאה בתור.
מכיוון שיש שלושה נתיבים פנויים, המתזמן מתחיל שלוש מתוך שש משימות האצווה שלך. הוא ממשיך להתחיל משימות באצווה שלך ככל שמשימות מסתיימות ונתיבי הרצה מתפנים. אם נתיב מתפנה ואין עוד משימות באצווה שלך, המתזמן מתחיל את המשימה הבאה בתור.
האם כל משימות האצווה שלי צריכות לחכות בתור?
מכיוון שה-QPUs הם משאבים מוגבלים ומשותפים, כל המשימות צריכות לחכות בתור. עם זאת, כאשר המשימה הראשונה באצווה שלך מתחילה לרוץ, כל שאר המשימות באצווה זו למעשה קופצות לראש התור ומקבלות עדיפות על ידי המתזמן.
האם אצווה מסתיימת אוטומטית כאשר המשימה האחרונה הקשורה אליה מסתיימת?
כן. עם זאת, קיימת תקורה קלה הקשורה לאיתור אוטומטי זה, לכן עליך תמיד לסגור את האצווה והסשן שלך.
האם ניתן להפריע לאצוות על ידי כיולים או שדרוגי תוכנה?
כן. עומסי עבודה באצווה עלולים להיות מופרעים על ידי כיולים או שדרוגי תוכנה.
האם זמן הקומפילציה נחשב כשימוש במצב אצווה?
לא. במצב אצווה, רק הזמן שמושקע בחומרה הקוונטית נחשב כשימוש.