חישוב מקבילי ומבוזר
Download
Report
Transcript חישוב מקבילי ומבוזר
מכון ויצמן למדע
המחלקה להוראת המדעים
חישוב מקבילי ומבוזר
יחידה חמישית במדעי המחשב
פרופ’ מוטי בן-ארי
יפעת בן-דוד קוליקנט
חנה מחלב
אהובה תקוותי
מה זה חישוב מקבילי?
ענף מתקדם במדעי המחשב העוסק במערכות
ממוחשבות מרובות ישויות.
מתחבר לענפים רבים במדעי המחשב כגון מערכות
הפעלה ,תקשורת ,מערכות זמן אמת,
אלגוריתמיקה( ,אלגוריתמים מקביליים) ומבני
נתונים.
דוגמאות למערכות ממוחשבות
מערכת הכספומטים אמינה
ומהירה ומתואמת גם עם
הבנק
מערכת המרכזיות
מטפלת בשיחות
רבות בו"ז
•מערכת הזמנת
כרטיסי טיסה מכל
רחבי הארץ לכל
סוכנויות הטיסה
האפשריות.
מה לומדים ?
• תיאום -תזמור בין מספר ישויות החולקות
משאבים משותפים במערכת ,.על-ידי שימוש
בזיכרון משותף או שליחת וקבלת הודעות.
• מהימנות -קבלת החלטות סבירות במערכת
מבוזרת על סמך מידע ממספר ישויות גם כאשר
חלק מהן 'מתפגרות' או 'משתגעות'.
למה כדאי שתלמידים
ילמדו חישוב מקבילי ?
• הקורס משיג את מטרות הוראת מדעי
המחשב הנגזרות ממטרות הוראת המדעים :
–הבנה של העולם הסובב
דוגמאות לתופעות שניתן להסביר
• איך אפשר לעבוד ב Word -ובמקביל לבצע
downloadלקבצים?
• איך מגיע מידע לגולש באינטרנט ? למה הוא לא
הולך לאיבוד אם מחשבים נופלים בדרך ?
• איך רואים במשחקי מחשב מספר ישויות שנעות
במקביל על המסך?
למה כדאי שתלמידים
ילמדו חישוב מקבילי ?
• הקורס משיג את מטרות הוראת מדעי
המחשב הנגזרות ממטרות הוראת המדעים :
– הבנה של העולם הסובב
–רכישת מיומנויות של חשיבה -יצירתיות,
ביקורתיות ,היוריסטיקות לפתרון בעיות....
–אתגר אינטלקטואלי
למה כדאי :מה שונה חישוב מקבילי ומבוזר
ממדעי המחשב שנלמד עד כה ?
במערכות ממוחשבות מרובות ישויות ,כל ישות במערכת
תלויה גם בקלט (כמו קודם) אבל גם בהתנהגות ישויות
אחרות במערכת !
למשל 20 ,מחשבים המחוברים למדפסת חייבים
ל'התחשב' זה בזה בשימוש בה.
למה כדאי :אז מה ?
בחמ"מ מרחיבים מושגים ושיטות עבודה שנלמדו
כך שיתאימו גם למערכת רב-ישותית (עם
הרבה ישויות והרבה תסריטים אפשריים)
– מדגישים ניתוח של הבעיה !
– מדגישים תכנון של פתרון !
– מדגישים בדיקת נכונות שיטתית !
מבנה הקורס
הקורס מחולק ל 60 -שעות הוראה בכיתה ,
ול 30 -שעות מעבדה
הקורס והמבחנים בנויים בצורה מדורגת.
סביבת מעבדה המאפשרת פיתוח וניתוח
תכניות מקבילות .שפת התכנה -פסקל
דידקטיקה case studies :מעולם התלמיד,
המחזות ,פרמול למושגים מקצועיים ותרגול
במעבדה.
חומרי למידה
•
•
•
•
•
•
ספר לתלמיד הכולל נושאים תיאורטיים ופעילויות מעבדה.
מדריך למורה +דיסקט פתרונות לכל תרגילי המעבדה.
סביבת מעבדה המדמה מקבילות בפסקל +מדריך
למשתמש.
סביבות המאפשרות להריץ אלגוריתמים מבוזרים ולחקרם.
מצגות וסימולציות ויזואליזציה
דוגמאות של בחינות ופתרונות
אלגוריתם מקבילי -דוגמא
התבונן באלגוריתם המקבילי הבא:
מהו הפלט ?
תהליך English
הצג כפלט Hello
הצג כפלט Wolrd
תהליך Hebrew
הצג כפלט Shalom
הצג כפלט Olam
בעיית הרובוטים והמיץ
שני רובוטים צריכים להמתיק כוס מיץ בדיוק בכפית סוכר
אחת .לכל אחד מהרובוטים יש תהליך זהה:
טעם את המיץ
אם אינו מתוק אזי
לך למטבח
קח כפית עם סוכר
חזור
הוסף כפית סוכר
האם
האלגוריתם
נכון ?
תסריט שולל נכונות
רובוט א
טב
בו
רו
אלגוריתם משופר
טעם את המיץ
אם אינו מתוק אזי
לך למטבח
קח כפית עם סוכר
חזור
טעם את המיץ
אם אינו מתוק אזי
הוסף כפית סוכר
האם זה נכון ???
תסריט שולל נכונות
טועם
טועם
הולך להביא סוכר
הולך להביא סוכר
טועם (בפעם השניה)
מוסיף סוכר
טועם (בפעם השניה)
מוסיף סוכר
נכונות
תכנית נכונה =
תוכנית תקינה ושלמה
בעיית כרטיסי הקולנוע
•לאולם קולנוע קופה ממוחשבת המוכרת כרטיסים
לסרט שבאולם.
•הלקוח מקבל את הכרטיס למושב הטוב ביותר
הפנוי .הקופה פועלת בעזרת תכנה המחליטה מהו
המושב הפנוי הטוב ביותר.
• רוצים להוסיף קופה נוספת שתמכור כרטיסים
במקביל לאותו סרט באותו אולם .בכל עמדת קופאי
תהיה מדפסת להדפסת כרטיסים .
אלגוריתם נוכחי (לקופה אחת)
כל עוד Seat<> -1
Seatהמקום_הפנוי_הטוב_ביותר
אם Seat <> -1אזי
סמן_מקום_תפוס ()Seat
הדפס_כרטיס () Seat
כשל אפשרי בין שתי קופות
כרטיסים
Office1
Office2
Seat Find_Best
Seat Find_Best
Mark(Seat2)
Mark(Seat2)
Print (Seat2)
Print (Seat2)
בעיית הכספרים בבנק
•
•
•
•
•
בבנק 'הצבי' מנוהלים חשבונות של לקוחות הבנק .חלק
מהחשבונות משותפים .
יש שתי עמדות כספרים ,בהן מטפל קופאי בלקוח.
לקוח יכול לברר את יתרתו ולמשוך כסף מחשבונו .משיכה
מאושרת רק אם סכום המשיכה גדול או שווה ליתרה שבחשבונו.
מחשוב הבנק ייעשה על-ידי שני תהליכים שכ"א תומך בעמדת
כספר אחת ותהליך מעדכן הכנסות המקבל הודעות ממחשב
הסניף הראשי על הכנסות של לקוח (משכורת ,וכד') ומעדכן את
היתרה בהתאם.
(לא נטפל בהפקדות צ'קים ופעולות נוספות).
כשל אפשרי בבעיית הכספרים
יתכן שביתרה
יישאר מעט מידי
כסף !
ייתכן שביתרה
יישאר יותר
מידי כסף !
האם תוכלו לתת תסריטים
המוכיחים כשל ?
תסריט המוכיח כשל
Entity 2
Entity 1
תסריט המוכיח כשל
Entity 2
Entity 1
בדוק יתרה
בדוק יתרה
השם ליתרה
השם ליתרה
המשאב המשותף – יתרת הלקוח!!
פעולות הבודקות (צהוב) ומשנות (כחול) את מצבו
אסור שתישזרנה זו בזו
בעיית הקטע הקריטי
קיימים קטעי קוד בשתי ישויות
במערכת
• שאסור שיתבצעו במקביל (קטעים
קריטיים)
•הקטעים הם קריטיים זה לזה בלבד
הפתרון חייב לאפשר את כל שארתסריטי הביצוע !
סכמת פתרון בעיית הקטע הקריטי
•
•
•
•
•
ישות א
קטע לא קריטי
המתן עד שאפשר
להיכנס לקטע קריטי
בצע קטע קריטי
סמן שאפשר להיכנס
•
•
•
•
•
ישות ב
קטע לא קריטי
המתן עד שאפשר
להיכנס לקטע קריטי
בצע קטע קריטי
סמן שאפשר להיכנס
פתרון בעיית הקטע הקריטי
• על-ידי טיפוסים חדשים -סמפור
• על ידי שליחת וקבלת הודעות
תגובות של תלמידים
"פה התעסקתי עם בעיות אמיתיות"
"זה הקורס הראשון שגרם לי לפתוח את הראש ולחשוב ".
ועוד ....