חישוב מקבילי לכל תלמיד/ה
DESCRIPTION
חישוב מקבילי לכל תלמיד/ה. פרופ' רן גינוסר הנדסת חשמל ומדעי המחשב הטכניון [email protected] www.ee.technion.ac.il/~ran. תוכן. מדוע חישוב מקבילי ? תיאוריה ארכיטקטורה אלגוריתמים מה לעשות. מדוע חישוב מקבילי ?. כולם עושים זאת search “Parallel computing high school” חישוב מהיר יותר - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/1.jpg)
1
חישוב מקבילי לכל תלמיד/ה
פרופ' רן גינוסרהנדסת חשמל ומדעי המחשב
הטכניון[email protected] www.ee.technion.ac.il/~ran
![Page 2: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/2.jpg)
2
תוכן
מדוע חישוב מקבילי ?•
תיאוריה•
ארכיטקטורה•
אלגוריתמים•
מה לעשות•
![Page 3: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/3.jpg)
3
מדוע חישוב מקבילי ?
כולם עושים זאת•–search “Parallel computing high school”
חישוב מהיר יותר•
חישוב בהספק נמוך יותר•
חישוב באנרגיה נמוכה יותר•
![Page 4: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/4.jpg)
4
(1תיאוריה )
PRAMמודל •–Parallel Random Access Machineמיועד לאלגוריתם אחד בלבד בו-זמנית–קריאה וכתיבה "במקביל"–
•Concurrently•Simultaneously
ביחידת זמן:–כל מעבד מבצע חישוב, או•כל מעבד ניגש לזיכרון•
P0
P1
P2
Pn
Shared m
emory…
![Page 5: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/5.jpg)
5
דוגמה: סיכום אברי מערך
+
A1 A2
+
+
+
A3 A4
+
A5 A6
+
+
A7 A8
T1=7, O)n(P=1
TP=3, O)log n(P=4, O)n(SpeedUp=T1/TP=7/3=2.33, O)n/logn(
)PTP=12, O)nlog nסה"כ עבודה אפשרית: )W=7, O)nסה"כ עבודה שבוצעה:
)EP = W / PTP=7/12, O)1/ log nיעילות:
+
A1 A2
+
A3
+
A4
+
A5
+
A6
+
A7
+
A8
תידרס
מקבילי
אבל: שכחנו להתחשב במחיר הגישה לזיכרון...
![Page 6: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/6.jpg)
6
ExchangeSwap elements from A[ ] with those of B[ ]
Input: A[ ], B[ ], n = length of arrays
SERIALint main) ({ int i; for)i=0; i<n; i++( {
int e= A[i];A[i] = B[i];B[i] = e;
}}
PARALLELDuplicable task)( // n copies{ int x ; x= A[$]; A[$] = B[$]; B[$] = x;}
כמה מעבדים?מה זמן החישוב? ההאצה? היעילות?
FINE GRANULARITY
![Page 7: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/7.jpg)
7
Optimal Parallel Exchangeint y[n], x[n];
Duplicable Task first-A )( { x[$] = A[$];}
Duplicable Task second-A )first-A,first-B({ A[$] = y[$];}
Duplicable Task first-B )( { y[$] = B[$];}
Duplicable Task second-B )first-A,first-B({ B[$] = x[$];}
על כמה מעבדים? מה יקרה אם יהיו פחות מעבדים? יותר מעבדים?מה זמן חישוב? ההאצה? היעילות?
??FINE GRANULARITYמה המשמעות של
![Page 8: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/8.jpg)
8
(2תיאוריה )
מה פירוש גישה במקביל לזיכרון?•–EREWקריאה בלעדית, כתיבה בלעדית :
אל / מאותו משתנה בדיוק!•
–CREWקריאה בו-זמנית, כתיבה בלעדית :–ERCW–CRCWקריאה וכתיבה בו-זמנית :
האלגוריתם חייב להבטיח חישוב נכון•לא החומרה מגינה מפני המתכנת הטיפש–
מעשי? PRAMהאם מודל •
![Page 9: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/9.jpg)
9
סינכרון
PRAMסינכרון •כל המעבדים מבצעים אותה פעולה באותו זמן–
חוסר סינכרון•כל מעבד מתקדם בקצב שלו, עד נקודת –
סינכרוןדוגמה בהמשך•
סינכרון בקטעים•–BSP = Bulk Synchronous Pattern
כל מעבד בקצב שלו, אבל נקודות הסינכרון –משותפות )= מחסומים(
בכל קטע ירוק אין שיתוף זיכרונות–בנקודות המחסום מחליפים מידע–
BSP
![Page 10: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/10.jpg)
10
מודלים אחרים
P+Mמחשב רשת• P+M P+M P+M
P+M P+M P+M P+M
P+M P+M P+M P+M
P+M P+M P+M P+M
![Page 11: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/11.jpg)
11
כיצד לארגן את המעבדים והזכרונות על גבי שבב ?
![Page 12: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/12.jpg)
12
P0 P1
P2
P3P4P5
P6
P7
מודל נהלל: המשותף קרוב לכולם
![Page 13: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/13.jpg)
13
ארכיטקטורה
![Page 14: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/14.jpg)
14
• Start-up company in Israel
• Result of Technion research )since 1980s(
PLURALITY
![Page 15: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/15.jpg)
15
Architecture: Part I
“anti-local” addressing by interleavingMANY banks / portsnegligible conflicts
fine granularityNO PRIVATE MEMORY
tightly coupled memoryequi-distant )1 cycle each way(fast combinational NOC
PPPPPPPP
external memory
shared memory
P-to-M resolving NoC
PLURALITY
![Page 16: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/16.jpg)
16
PPPPPPPP
external memory
shared memory
P-to-M resolving NoC
low latency parallel schedulingenables fine granularity
scheduler
P-to-S scheduling NoC
“anti-local” addressing by interleavingMANY banks / portsnegligible conflicts
fine granularityNO PRIVATE MEMORY
tightly coupled memoryequi-distant )1 cycle each way(fast combinational NOC
Architecture: Part IIPLURALITY
![Page 17: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/17.jpg)
17
Actual layout )40nm(
1MByte Data Cache
1MByte Data Cache64 K
B Instruction
Cache
64KB
InstructionC
ache
Sync/S
ched
32 processors
32 processors
![Page 18: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/18.jpg)
18
programming model
• Compile into– task-dependency-graph = ‘task map’– task codes
• Task maps loaded into scheduler
• Tasks loaded into memory
regular duplicable task xxx( dependencies ) join/fork {
… $ ….…..
}
Task template: PPPPPPPP
external memory
shared memory
P-to-M resolving NoC
scheduler
P-to-S scheduling NoC
PLURALITY
![Page 19: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/19.jpg)
19
Fine Grain Parallelization
• SERIALfor ( i=0; i<10000; i++ ) { a[i] = b[i]*c[i]; }
• PARALLELduplicable task XX(…) // 10000 copies {a[$] = b[$]*c[$];}
• All tasks, or any subset, can be executed in parallel
![Page 20: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/20.jpg)
20
Task map example )2D FFT(
Duplicable task
………
………
Conditional task
Join / fork task
![Page 21: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/21.jpg)
21
Another task map )linear solver(
![Page 22: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/22.jpg)
22
Linear Solver: Simulation snap-shots
![Page 23: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/23.jpg)
23
Architectural Benefits
• Shared, uniform )equi-distant( memory– no worry which core does what– no advantage to any core because it already holds the data
• Many-bank memory + fast P-to-M NoC– low latency– no bottleneck accessing shared memory
• Fast scheduling of tasks to free cores )many at once(– enables fine grain data parallelism– impossible in other architectures due to:
• task scheduling overhead• data locality
• Any core can do any task equally well on short notice – scales automatically
• Programming model: – intuitive to programmers – easy for automatic parallelizing compiler
PLURALITY
![Page 24: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/24.jpg)
24
Analysis
![Page 25: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/25.jpg)
25
Two )analytic( approaches to many cores
1( How many cores can fit into a fixed size VLSI chip?
2( One core is fixed size. How many cores can be integrated?
The following analysis employs approach )1(
![Page 26: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/26.jpg)
26
Analysis
![Page 27: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/27.jpg)
27
1.E-03
1.E-02
1.E-01
1.E+00
1.E+01
1.E+02
1.E+03
1.E+04
1.E+05
1.E+06
1.E+07
1.E+08
10 100 1000 10000
Number of Processors
Power Perf Freq Perf/Power Series5
Analysis64 256 1K 4K
power N
perf N
freq 1/N
Perf / power const
![Page 28: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/28.jpg)
28
מה לעשות?
ללמד חישוב מקבילי•מעט ארכיטקטורה–הרבה אלגוריתמים–
לפיתוח תכנה, Pluralityלהשתמש במערכת •סימולציה ומדידת ביצועים
GCC, Eclipseמבוססת –C, ++Cלשפות –זמינה חינם לכל מורה ותלמיד/ה, הורדה מהאתר–כוללת דוגמאות והוראות–מאפשרת התנסות–
![Page 29: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/29.jpg)
29
סיכום
מחשב מקבילי )מעבדים קטנים( יעיל יותר •ממחשב יחיד חזק
בתנאי שאנו יודעים לתכנת אותו ביעילות–וזה אפשרי רק במחשב פשוט ועם אלגוריתם חכם–
תכנות מקבילי•קל ללימוד למורה–מתאים ללימוד בבי"ס תיכון–חיוני ללמוד אותו בבי"ס תיכון–
![Page 30: חישוב מקבילי לכל תלמיד/ה](https://reader036.vdocuments.mx/reader036/viewer/2022062301/56814e41550346895dbbb000/html5/thumbnails/30.jpg)
30