Parallel Processing
עיבוד מקבילי

ראה מונחים נוספים:
עיבוד מקבילי מסיבי
Massively Parallel Processing [MPP]

 
עיבוד מקבילי הוא חלוקת תוכנית מחשב אחת בין מספר מעבדי כדי להוריד את משך זמן עיבודה. במחשבים הישנים, רק תוכנית אחת יכלה לרוץ בנקודת זמן אחת. חישוב של תוכנית מחשב וכתיבה לסרט מגנטי הדורשות כל אחת זמן של שעה, היו לוקחות בדיוק זמן זה.
עם התקדמות הטכנולוגיה, היו התהליכים משולבים זה בזה: כשהמחשב היה מחכה להודעת קלט פלט מכונן הסרטים, הוא היה מעבד את התוכנית וכך הזמן הנדרש לעיבוד התוכנית וכתיבה של שעה לתוך הסרט היו לוקחות קצת יותר משעה אחת (במקום שעתיים).
השיפור הבא הוא תכנות מרובה. כל תוכנית הנשלחת לעיבוד מקבלת נתח זמן כלשהו. היא הייתה מעובדת במסגרת אותו נתח זמן, וכשנגמר נתח הזמן שלה היא מוקפאת, ותוכנית אחרת הייתה תופסת את מקומה.
חיסרון משמעותי בשיטה זו הוא התחרות על משאבי המערכת שהייתה גורמת למבוי סתום: תוכנית 1 הייתה מקפיאה משאב לשירותה לפרק זמן ארוך, תוכנית אחרת שלצורך התקדמותה צריכה את אותו משאב ממתינה שהראשונה תפנה אותו ובינתיים תופסת בעצמה משאבים אחרים. כך, תוכנית שלישית ורביעית וכן הלאה.
לשם כך הוגדר ה"קטע הקריטי" בתוכנית המונע בעיה זו. עיבוד וקטורי היה צעד נוסף בניסיונות לשיפור ביצועי המחשב. הוראות מכונה של עיבוד וקטורים (מערכים) הוכנסו לסט פקודות המכונה אך בדיעבד הדבר לא שיפר בהרבה את הביצועים.
הצעד הבא היה עיבוד מרובה בו מספר מעבדים חלקו בעבודה כולה. התצורה הראשונית הייתה "שולט-נשלט" (Master Slave). מעבד אחד היה אחראי על כל העבודה במערכת: המעבד הנשלט היה מקבל את משימותיו מן המעבד השולט. הדבר נצרך אז משום שלא הייתה ידועה דרך לשלב את עבודת המעבדים לשליטה במשאבים משותפים. פתרון בעיה זו הוביל לעיבוד מרובה סימטרי (ראה ערך SMP) לפי שיטה זו לכל מעבד משקל זהה בעיבוד תוכניות במערכת. המטרה הייתה להפוך את העיבוד המקבילי שקוף למתכנת, כאילו הוא מתכנת למערכת בעלת מעבד יחיד. המפתחים נוכחו לדעת כי ביצועי המערכת ישופרו ב 10% - 20% אם הוראות מסוימות יבוצעו בצורה שונה, תוך דרישה מן המתכנת להתמודד עם סיבוך נוסף בעבודתו (הבעיה הייתה רק כששתי תוכניות או יותר הורצו באותו זמן וקראו או כתבו לאותם נתונים. זהו הנטל שנפל על המתכנת).
כיצד מערכות SMP יתייחסו לנותנים משותפים היא בעיה שעוד לא נפתרה.
כאשר מספר המעבדים במערכות SMP גדל, כך גדל הזמן בו מופצים הנתונים לחלקי המערכת השונים. כאשר מספר המעבדים עולה על כמה תריסרים עלות הפצת המידע בכל המערכת מאזנת את היתרון בעיבוד SMP. על מנת לעקוף קושי זה הומצאו נתיבי העברת מסרים: תוכניות החולקות מידע מעבירות מסר ביניהן המודיע על שינוי נתון זה או אחר. במקום להפיץ מסר בין כל חלקי המערכת, רק התוכניות הנוגעות לנתון מקבלות הודעה, ובמקום זיכרון משותף ישנה רשת של העברת מסרים בין תהליכים. פישוט זה מאפשר למאות ואלפי מעבדים לעבוד בשיתוף באותה מערכת. משום כך למערכות משופרות כאלו ניתן השם MPP: עיבוד מקבילי מסיבי (ראה ערך). היישומים המצליחים ביותר ב MPP הם יישומים הדורשים פירוק של בעיה למספר בעיות קטנות יותר, על כמויות גדולות של נתונים. בכריית מידע: יש צורך במשיכת נתונים רבים מבסיסי מידע סטטיים. בבינה מלאכותית: יש לנתח מהלכים לעתיד, כמו במשחק השחמט. לרוב מערכות MPP מובנות כאשכולות של תהליכים. בתוך כל אשכול המעבדים מתנהגים כמערכת SMP. רק בין האשכולות מועברים מסרים. מכיוון שהמסרים יכולים להיות מועברים דרך זיכרון משותף, חלק ממערכות ה SMP משתמשות ב NUMA (ראה ערך). לכן מעדיפים להשתמש במערכות SMP, במידה וכמות הנתונים קטנה וב MPP כאשר כמות הנתונים היא אדירת מימדים.

[#3579] נוסף בתאריך 07-08-2006

« המונחים הקודמים
סרט קווי סיפרתי
digital linear tape [DLT]
סרט מגנטי חכם
Advanced Intelligent Tape [AIT]
סרט היולי
virtual tape
ספרית קישור דינמי
Dynamic Link Library [DLL]
המונחים הבאים »
עיבוד מקבילי מסיבי
Massively Parallel Processing [MPP]
עיבוד מרובה
multi processing
עיבוד סימטרי מרובה
Symetric MultiProcessing [SMP]

תגובות (0)

שנה » ניווט
דרכונט
גישה לאתר דרכונט
לא מחובר. להתחברות:
דוא"ל:
סיסמה:
שכחתי סיסמה שכחתי סיסמה
משתמש חדש משתמש חדש
 זכור אותי  כן לא

Top10
מבוקשים
חדשים
אחרונים