490 likes | 662 Views
מטרת הסדנא. לתת טעם להכיר , לחשוף את הקורס חישוב מקבילי ומבוזר להציג את ספרי הלימוד, את תחום התוכן, את סביבת המעבדה, חומרי ההוראה הקיימים ואת הגישה הדידקטית של הקורס. מתוק. מה בסדנה ?. הכרות לא פורמלית עם תחום התוכן וגישות ההוראה הצגה פורמלית של הקורס והחומרים הכרות עם נושא נוסף בקורס.
E N D
מטרת הסדנא • לתת טעםלהכיר , לחשוף את הקורס חישוב מקבילי ומבוזר • להציג את ספרי הלימוד, את תחום התוכן, את סביבת המעבדה, חומרי ההוראה הקיימים ואת הגישה הדידקטית של הקורס מתוק יפעת קוליקנט, מכון ויצמן למדע
מה בסדנה ? • הכרות לא פורמלית עם תחום התוכן וגישות ההוראה • הצגה פורמלית של הקורס והחומרים • הכרות עם נושא נוסף בקורס או ... תכנון של שוד, מניעתו והצלת העולם ממחשבים משוגעים...... יפעת קוליקנט, מכון ויצמן למדע
השוד המושלם 1 • לאישה ובעלה היו 10000 ₪ בחשבונם המשותף בבנק 'קרן הצבי'. • בבנק יש מדיניות שאסור ללקוח להיות עם יתרה שלילית ובקשות למשיכת כסף מחשבון מאושרות או נדחות לפי מדיניות זו. • ביום א נכנסו האישה ובעלה לבנק ...בסוף היום גילה אחד מהכספרים כי יש בעיה !!! איך זה קרה ?? מה קרה ?? יפעת קוליקנט, מכון ויצמן למדע
אם Itra>= 10000 אזי Itra Itra -10000 האלגוריתם של הקופות קופה ב קופה א אם Itra>= 10000 אזי Itra Itra -10000 יפעת קוליקנט, מכון ויצמן למדע
Show time !!! נמחיז את ההוכחה שיש אפשרות לשוד מושלם שכזה!
תסריט המוכיח כשל תסריט המוכיח כשל יפעת קוליקנט, מכון ויצמן למדע
מהן כל האפשרויות ??? האם תמיד יצליח שוד כזה? האם יתכן שיתרתם תהיה 0 למרות שימשכו 20K ? יפעת קוליקנט, מכון ויצמן למדע
ובהמשך... פתרון הבעיה !! To be continued…….. אך תחילה ..... יפעת קוליקנט, מכון ויצמן למדע
מושגים בסיסיים בחישוב מקבילי • אלגוריתם מקבילי – תהליך אחד או יותר שביצועם במקביל. • תהליך – סדרתהוראות (המבוצעות לפי הסדר) יפעת קוליקנט, מכון ויצמן למדע
כשל מקבילי • כשל בתוכנית הנובע אך ורק מהאופי המקבילי של התוכנית. • כל רכיב בתוכנית הוא תקין ....ובכל זאת הכשל קורה. יפעת קוליקנט, מכון ויצמן למדע
חידון איזה כשל !!!!!!! • למה לא הצליחו לבנות את מגדל בבל ? • איזה כשל היה באלגוריתם הבנייה ? • מדוע אמרו חז"ל – אין משיחין בשעת הסעודה פן יקדים קנה לוושט ? • איזה כשל ניסו למנוע ? יפעת קוליקנט, מכון ויצמן למדע
סוגי כשל • כשל בתקשורת ! • כשל בתיאום ! יפעת קוליקנט, מכון ויצמן למדע
פסקל מקבילי: מבנה וביצוע תכנית מקבילית. • תוכנית מקבילית מורכבת מתהליכים (process ) וחלק ראשי בו מופעלים ה – process –ים. החלק הראשי מבוצע סדרתית אף הוא • ביצוע תוכנית מקבילית הוא על-ידי שזירה שרירותית של הוראות התהליכים. • בכל ביצוע (הרצה ) יכול להתבצע תסריט אחד של התוכנית. יפעת קוליקנט, מכון ויצמן למדע
אלגוריתם מקבילי – דוגמא 1 התבונן באלגוריתם המקבילי הבא: מהו הפלט ? תהליך Hebrew הצג כפלט Shalom הצג כפלט Olam תהליך English הצג כפלט Hello הצג כפלט Wolrd יפעת קוליקנט, מכון ויצמן למדע
program Hello; process English; begin write('Hello'); write('World '); end ; process Hebrew; begin write('Shalom '); write('Olam '); end ; begin parbegin English; Hebrew; parend; end. דוגמה 1 לתכנית מקבילית בין parbegin ל- parend מופיעים רק שמות תהליכים ,ביצוע parend מפעיל את כל התהליכים ביחד. יפעת קוליקנט, מכון ויצמן למדע
מדמה המקבילות – concurrency simulator • מאפשר לכתוב תוכניות ולהריצן • שתי אפשרויות הרצה : • הרצה אוטומטית • הרצה ידנית • הוראות בסיסיות: • לכניסה לסביבה , הקש CP • לפתיחת קובץ , הקש O ואת שם הקובץ ללא סיומת • לעריכה הקש , ליציאה מערכיה חזרה למסך ראשי הקש f10 • להידור הקש C להרצה , הקש R יפעת קוליקנט, מכון ויצמן למדע
תרגיל • הכנס לסביבת המעבדה ( הקש cp) • טען את הקובץ helloe.pas והדר אותו • הרץ את התוכנית פעמיים ורשום בכל פעם את הפלט שהתקבל. • תכנן תסריט עבורו מתקבל הפלט hello shalom world olam והרץ תסריט זה יפעת קוליקנט, מכון ויצמן למדע
איך מייצגים תסריט ? • על ידי ציר זמן . נוח במיוחד עם מדובר בשני תהליכים • על ידי טבלת מעקב. עמודות שמאליות הן התהליכים בתכנית , מאחד מהם יתבצע המשפט משפט (הבא לביצוע). שאר העמודות הן למשתנים ולפלט. יפעת קוליקנט, מכון ויצמן למדע
דוגמא לייצוג תסריט בטבלה יפעת קוליקנט, מכון ויצמן למדע
דוגמא נוספת-על ידי ציר זמן write (‘Hello’) write (‘Shalom’) write (‘World’) write (‘Olam’) יפעת קוליקנט, מכון ויצמן למדע
דוגמא נוספת ? יפעת קוליקנט, מכון ויצמן למדע
תרגיל : נשנה את החלק הראשי של התוכנית helloe, מהם הפלטים האפשריים? begin {התהליך הראשי} writeln('I want to say '); parbegin English; Hebrew; parend; writeln('!!!'); writeln('Thank you for listening.'); end. יפעת קוליקנט, מכון ויצמן למדע
דוגמא 2 לתוכנית מקבילית process P3 ; begin C:= A: Write (C) ; B:= B+1 ; end {p3}; begin {main} A:= 0; B:= 1; C:= 2; parbegin P1 ; P2 ; P3 ; parend ; end. Program example ; var A,B,C : integer ; process P1 ; begin A:= B: Write (A) ; C:= C+1 ; end {p1}; process P2 ; begin B := C: Write (B) ; A:= A+1 ; end {p2}; יפעת קוליקנט, מכון ויצמן למדע
Next sentence to be executed Next sentence to be executed Next sentence to be executed Next sentence to be executed Next sentence to be executed Next sentence to be executed Next sentence to be executed Next sentence to be executed Next sentence to be executed Next sentence to be executed Next sentence to be executed Next sentence to be executed Scenario Process p1; begin A:=B; write(A); C:=C+1 end{p1}; Process p2; begin B:=C; write(B); A:=A+1 end{p2}; Process p3; begin C:=A; write(C); B:=B+1 end{p3}; Interleaving engine Interleaving engine A:=B; B:=C; write(A); C:=C+1; C:=A; write(C); write(B); B:=B+1; יפעת קוליקנט, מכון ויצמן למדע A:=A+1;
תרשים תסריטים יפעת קוליקנט, מכון ויצמן למדע
תרגיל מעבדה • כתוב תוכנית המדמה את פעולות שני הכספרים שטיפלו בבעל ובאישה בבעיית השוד המושלם 1. הנח לצורך פשטות שהקופות טיפלו רק בהם .. • הרץ ידנית ומצא את התסריט שהוביל לכשל המקבילי. רשום את התסריט. יפעת קוליקנט, מכון ויצמן למדע
תרגיל מעבדה: השוד המושלם 2 • האישה ובעלה הגיעו לשוויץ כשכל אחד אוחז בצקלונו 10000 ₪ והחליטו לחזור על הפטנט. לכן פנו לפתוח חשבון משותף בבנק 'קרן הברבור'. • בבנק יש מדיניות שלהפקדות אין צורך בתעודה מזהה אבל לתלונות חייבים .. • ביום ג נכנסו האישה ובעלה לבנק והפקידו כ"א 10000ש"ח ...בסוף היום כשהוציאו דף חשבון ..מה לדעתך ראו ? ו..איך זה קרה ?? יפעת קוליקנט, מכון ויצמן למדע
המשך התרגיל • נסחו טענה העונה לשאלה: 'מה יכלו האישה ובעלה לראות ?' • טענו את התוכנית rob2 ומצאו הוכחה לטענתכם יפעת קוליקנט, מכון ויצמן למדע
בעיית הרובוטים והמיץ שני רובוטים צריכים להמתיק כוס מיץ בדיוק בכפית סוכר אחת. לכל אחד מהרובוטים יש תהליך זהה: טעם את המיץ אם אינו מתוק אזי לך למטבח קח כפית עם סוכר חזור הוסף כפית סוכר האם האלגוריתם נכון ?
תסריט שולל נכונות יפעת קוליקנט, מכון ויצמן למדע
אלגוריתם משופר טעם את המיץ אם אינו מתוק אזי לך למטבח קח כפית עם סוכר חזור טעם את המיץ אם אינו מתוק אזי הוסף כפית סוכר האם זה נכון ??? יפעת קוליקנט, מכון ויצמן למדע
תסריט שולל נכונות טועם הולך להביא סוכר טועם הולך להביא סוכר טועם (בפעם השניה) טועם (בפעם השניה) מוסיף סוכר מוסיף סוכר יפעת קוליקנט, מכון ויצמן למדע
נכונות תכנית נכונה = תוכנית תקינה ושלמה אין תסריטים 'רעים' שדרישת התיאום שוללת! כל התסריטים שדרישת התיאום אינה שוללת חייבים להתאפשר יפעת קוליקנט, מכון ויצמן למדע
בעיית כרטיסי הקולנוע • לאולם קולנוע קופה ממוחשבת המוכרת כרטיסים לסרט שבאולם. • הלקוח מקבל את הכרטיס למושב הטוב ביותר הפנוי. הקופה פועלת בעזרת תכנה המחליטה מהו המושב הפנוי הטוב ביותר. • רוצים להוסיף קופה נוספת שתמכור כרטיסים במקביל לאותו סרט באותו אולם. בכל עמדת קופאי תהיה מדפסת להדפסת כרטיסים . יפעת קוליקנט, מכון ויצמן למדע
אלגוריתם נוכחי (לקופה אחת) כל עוד Seat<> -1 Seatהמקום_הפנוי_הטוב_ביותר אם Seat <> -1 אזי סמן_מקום_תפוס (Seat) הדפס_כרטיס (Seat ) יפעת קוליקנט, מכון ויצמן למדע
בעיית הכספרים בבנק • בבנק 'הצבי' מנוהלים חשבונות של לקוחות הבנק. חלק מהחשבונות משותפים . • יש שתי עמדות כספרים, בהן מטפל קופאי בלקוח. • לקוח יכול לברר את יתרתו ולמשוך כסף מחשבונו. משיכה מאושרת רק אם סכום המשיכה גדול או שווה ליתרה שבחשבונו. • מחשוב הבנק ייעשה על-ידי שני תהליכים שכ"א תומך בעמדת כספר אחת ותהליך מעדכן הכנסות המקבל הודעות ממחשב הסניף הראשי על הכנסות של לקוח (משכורת, וכד') ומעדכן את היתרה בהתאם. • (לא נטפל בהפקדות צ'קים ופעולות נוספות). יפעת קוליקנט, מכון ויצמן למדע
כשל אפשרי בבעיית הכספרים ייתכן שביתרה יישאר יותר מידי כסף ! יתכן שביתרה יישאר מעט מידי כסף ! יפעת קוליקנט, מכון ויצמן למדע
האם תוכלו לתת תסריטים המוכיחים כשל ? יפעת קוליקנט, מכון ויצמן למדע
תסריט המוכיח כשל יפעת קוליקנט, מכון ויצמן למדע
תסריט המוכיח כשל בדוק יתרה בדוק יתרה השם ליתרה השם ליתרה המשאב המשותף – יתרת הלקוח!! פעולות הבודקות (צהוב) ומשנות (כחול) את מצבו אסור שתישזרנה זו בזו יפעת קוליקנט, מכון ויצמן למדע
מהות הכשל • תיאום פעולות הישויות synchronization • בתוך הבעיה האלגוריתמית מסתתרת בעיית תיאום. יש דרישה לתיאום ביצוע פעולות מסוימות של הישויות. פתרון בעיית התיאום הוא על-ידי מנגנוני תיאום (אלגוריתמים האחראיים על תיאום בין הישויות) בעזרתם מספקים את דרישות התיאום יפעת קוליקנט, מכון ויצמן למדע
אב- טיפוס לבעיות • ניתן להכליל את כל הביות שנתקלנו בהן היום, לבעיית על כללית יותר. • דרישת התיאום בבעיית העל היא היא שהפעולות המשתמשות במשאב המשותף לא יישזרו זו בזו. יפעת קוליקנט, מכון ויצמן למדע
בעיית הקטע הקריטי • קיימים קטעי קוד בשתי ישויות במערכת • שאסור שיתבצעו במקביל (קטעים קריטיים) • הקטעים הם קריטיים זה לזה בלבד - הפתרון חייב לאפשר את כל שאר תסריטי הביצוע ! יפעת קוליקנט, מכון ויצמן למדע
פתרון כללי לבעיית (העל) הקטע הקריטי • ישות א • קטע לא קריטי • המתן עד שאפשר להיכנס לקטע קריטי • בצע קטע קריטי • סמן שאפשר להיכנס • ישות ב • קטע לא קריטי • המתן עד שאפשר להיכנס לקטע קריטי • בצע קטע קריטי • סמן שאפשר להיכנס יפעת קוליקנט, מכון ויצמן למדע
אמצעי התיאום או, כיצד נממש ' המתן עד שאפשר' וכיצד נאותת ש'אפשר'? בעזרת אמצעי תיאום וכללים. יפעת קוליקנט, מכון ויצמן למדע
דוגמאות לאמצעי תיאום מהיום יום מהו הפתרון יוצא הדופן? • הכשל • הפתרון יפעת קוליקנט, מכון ויצמן למדע
המשך הדוגמא מה ההבדל בין התמונות העליונות לתחתונות? יפעת קוליקנט, מכון ויצמן למדע
אמצעי תיאום • על-ידי טיפוסים חדשים -סמפור • על ידי שליחת וקבלת הודעות – או בעזרת הזיכרון המשותף אם יש או על-ידי רשת תקשורת יפעת קוליקנט, מכון ויצמן למדע