חשמל ומחשבים עיבוד מקבלי

לחץ כאן לכל השאלות

האם הקוד תקין? האם ניתן לשפר את הקוד?

1
done
כן הקוד תקין, (נניח שיש שני תהליכונים) נשים לב עבור העדכון של e יש לנו שני תהליכונים שרצים עליו, אז תהליכון ראשון רץ על עדכון c והשני על עדכון d. יש לנו nowait אז נגיד השני סיים לפני הראשון אז הוא עושה את e ואין לו את כל c עדיין אז זה לא נורא כי אחרי שהתהליך הראשון יסיים את c הוא יעשה את e (כשיש לנו את d) ואז יעדכן כמו שצריך לערכים הנכונים. ניתן להאיץ את הקוד מפני שהריצות לא תלויות אז אפשר לחלק כל לולאה "עד N" מעבדים. אפשר להוסיף barrier בסוף הsections כדי שהעדכון של e יתבצע על ידי תהליך יחיד
by
מיין לפי
by אייל יקיר
אייל יקיר 0 נקודות · יותר מ-6 חודשים
מוניטין: 45
כן הקוד תקין, (נניח שיש שני תהליכונים) נשים לב עבור העדכון של e יש לנו שני תהליכונים שרצים עליו, אז תהליכון ראשון רץ על עדכון c והשני על עדכון d. יש לנו nowait אז נגיד השני סיים לפני הראשון אז הוא עושה את e ואין לו את כל c עדיין אז זה לא נורא כי אחרי שהתהליך הראשון יסיים את c הוא יעשה את e (כשיש לנו את d) ואז יעדכן כמו שצריך לערכים הנכונים. ניתן להאיץ את הקוד מפני שהריצות לא תלויות אז אפשר לחלק כל לולאה "עד N" מעבדים. אפשר להוסיף barrier בסוף הsections כדי שהעדכון של e יתבצע על ידי תהליך יחיד
by

* השאלה נוספה בתאריך: 15-07-2023