עיבוד מקבילי 361-1-3621

15
ייייי יייייי361-1-3621 ןןןן ןןןןןן ןןןןן ןןןן ןןןןןן ןןןןןן

Upload: ray

Post on 23-Feb-2016

92 views

Category:

Documents


0 download

DESCRIPTION

עיבוד מקבילי 361-1-3621. סודוקו מקבילי. אלון גוטרמן אופיר אלון. מה זה סודוקו?. פאזל לוגי בו על הפותר למלא לוח מספרים כך שהמספרים 1-9 צריכים להופיע פעם אחת בלבד עבור: כל שורה כל עמודה כל קובייה בגודל 3 x 3. Figure 1: 9x9 Sudoku Puzzle with solution. מורכבות הבעיה. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: עיבוד מקבילי 361-1-3621

עיבוד מקבילי361-1-3621

אלון גוטרמןאופיר אלון

מקבילי סודוקו

Page 2: עיבוד מקבילי 361-1-3621

פאזל לוגי בו על הפותר למלא לוח מספרים כך שהמספרים • צריכים להופיע פעם אחת בלבד עבור:1-9

כל שורה •כל עמודה•3x3כל קובייה בגודל •

מה זה סודוקו?

Figure 1: 9x9 Sudoku Puzzle with solution

Page 3: עיבוד מקבילי 361-1-3621

מורכבות הבעיהמספר לוחות הסודוקו האפשריים הוא:•

6,670,903,752,021,072,936,960

למציאת פתרון יחיד, ניתן לראות 1usecבמידה ולוקח •

שנים למציאת כל הפתרונות 211,532,970,320שידרשו

האפשריים.

Page 4: עיבוד מקבילי 361-1-3621

אלגוריתם פתרון סריאלי CPS – Constraint Propagation andאילוצי התפשטות וחיפוש )

Search .)( – 3x3עבור כל תא, אם מספר כבר קיים בשורה, בטור או בקופסא )•

נמחקת האפשרות שמספר זה יופי בתא.

עבור כל תא, אם עבור כל ה"שכנים" )מסומן בכחול( של אותו תא לא •

ניתן לשים מספר מסוים, אזי המספר המסוים חייב להופיע בתא זה.

במידה ולא נמצא דרך לבצע אילוץ לפי החוקים •המתוארים למעלה, מנחשים מספר וחוזרים על התהליך.

Page 5: עיבוד מקבילי 361-1-3621

? למקבילי לעבור למההאלגוריתם הסיריאלי הינו רקורסיבי ומעמיס על המחשב מבחינת •

מקום בזיכרון וזמן ריצה.

( הרצים Threads)ניתן לפצל את עיבוד הבעיה לתהליכונים •

במקביל, וכך להקטין את העומס ולצמצם את זמן הריצה.

ניתן להשתמש בתקשורת בין התהליכונים לצורך סנכרון והעברת •

מידע לעיבוד ביניהם.

Page 6: עיבוד מקבילי 361-1-3621

Messageאלגוריתם פתרון מקבילי – Passing

כל תהליכון מקבל פאזל שונה לפי עקרון החיפוש )ניחוש(.•

כל תהליכון מבצע את האלגוריתם הסריאלי בנפרד מהתהליכונים האחרים.•

ברגע שתהליכון מוצא פתרון, הוא מודיע לשאר התהליכונים להפסיק •

לחפש.

במידה ותהליכון סיים את החיפוש ולא נמצא פתרון מבוקש – הוא עוזר •

לתהליכון שעדיין בריצה, עד שימצא פתרון

Page 7: עיבוד מקבילי 361-1-3621

Message Passingהמשך - התהליכונים מבקשים אחד מהשני בקשה לעיבוד מידע בצורה מעגלית •

( 0>-1>-2>-…>-n.כאשר הם מסיימים את העיבוד שלהם )

כאשר תהליכון מזהה שתהליכון אחר מבקש עבודה הוא יעביר לו חצי •

מהעבודה שנותרה לו נכון לאותו הרגע.

.O(n)העברת המידע מבוצעת בסיבוכיות של •

Page 8: עיבוד מקבילי 361-1-3621

Usingאלגוריתם מקבילי עם זיכרון משותף – Locks

זיכרון משותף המכיל את כל הפאזלים•

סנכרון הגישה לכל תהליך לעץ הראשי מבוצע על • ידי פעולת נעילה רגעית של המידע בזיכרון

כל תהליך יכול לבצע את הפעולות:•

לקחת ענף מהעץ לעיבוד עצמאי•

להוסיף ענף לעץ המכיל פאזלים נוספים•

במידה ותהליך גילה שהפתרון לא מצוי אצלו • הוא יכול לזרוק את הפאזל שעליו עבד ולקחת

פאזל חדש מהזיכרון המשותף.

Page 9: עיבוד מקבילי 361-1-3621

Using Locksיתרונות שיטת אין צורך בתקשורת בין התהליכונים•

תהליכון לא צריך לבקש מתהליכונים אחרים מידע לעיבוד•

תהליכונים עובדים ללא הפרעות בקשה מתהליכונים אחרים•

לאלגוריתם וריאציות שתי Using Locksקיימות•Fine-grain locking – תהליכון עבור בעץ המידע על נעילה מבצעים

, מכן לאחר ומיד פאזל הוצאת או הכנסת כמו פעולה ביצוע לפני מסויםמשחררים.

•Coarse grain locking – התהליכונים כל של רגעית נעילה מבצעים , הוא כאשר ורק מהעץ פאזל לקחת לו מאפשרים בודד תהליכון למעט

. מנעילה יוצאים והשאר המשותף לזיכרון המידע מוחזר מסיים

Page 10: עיבוד מקבילי 361-1-3621

שיטת ביצוע הערכה ומדידות

:מדידת הביצועים של האלגוריתמים השונים נעשה על מחשב בעל•Intel Core 2 Quad q9450 @ 2.66 GHz, 4 GB RAM , Linux Kernel

מדידות שונות של לוחות סודוקו 100התוצאות מתייחסות לביצוע של •. 16x16מרושעים בגודל

דיוק של מיקרו שניות במדידות.•

Page 11: עיבוד מקבילי 361-1-3621

תוצאות

Page 12: עיבוד מקבילי 361-1-3621

תוצאות שניות בממוצע17.5( הינו CPS)זמן ריצה של האלגוריתם הסריאלי •

•Message Passing. 1.97 שניות וגורם האצה של 8.9 תהליכונים: זמן ריצה ממוצע של 2•.3.64 שניות וגורם האצה של 4.8 תהליכונים: זמן ריצה ממוצע של 4•+ תהליכונים: זמן ריצה גדל ליניארית וגורם האצה קטן ליניארית.5•

•Fine-grain locking. 2.61 שניות וגורם האצה של 6.7 תהליכונים: זמן ריצה ממוצע של 2•.4.6 שניות וגורם האצה של 3.8 תהליכונים: זמן ריצה ממוצע של 4•+ תהליכונים: אין שיפור ואין הרעה בזמן הריצה ובגורם ההאצה.5•

•Coarse grain lockingללא קשר למספר המעבדים – זמן הריצה ארוך יותר מהזמן הריצה של האלגוריתם •

הסריאלי.

Page 13: עיבוד מקבילי 361-1-3621

ניתוח תוצאות ומסקנות תהליכונים.4 ליניארי עד שימוש בSpeed-upקבלת •

•fine-grain locking היעיל ביותר כי כל התהליכונים תמיד עסוקים – בביצוע פעולות ואין העברת מידע בין המעבדים.

"צוואר הבקבוק":••Message Passing

( גורם להאטה בזמן הביצוע. n..-<2-<1-<0אופן בקשת והעברת המידע בין התהליכונים )••fine-grain locking

Locking תהליכונים לא חל שיפור בביצוע בגלל "צוואר בקבוק" שנגרם כתוצאה משימוש ב-4מעל •של הזיכרון.

יעילות•מקבול האלגוריתם הסריאלי משפר ברוב המקרים •

.משמעותית את זמני הריצה תהליכונים פוגע ביעילות.4שימוש ביותר מ•

Page 15: עיבוד מקבילי 361-1-3621