חישוב מקבילי לכל תלמיד/ה

30
1 ללללל לללללל ללל ללללל/ל לללל' לל לללללל ללללל לללל ללללל ללללל ללללללל[email protected] www.ee.technion.ac.il/~ran

Upload: nasya

Post on 19-Jan-2016

71 views

Category:

Documents


7 download

DESCRIPTION

חישוב מקבילי לכל תלמיד/ה. פרופ' רן גינוסר הנדסת חשמל ומדעי המחשב הטכניון [email protected] www.ee.technion.ac.il/~ran. תוכן. מדוע חישוב מקבילי ? תיאוריה ארכיטקטורה אלגוריתמים מה לעשות. מדוע חישוב מקבילי ?. כולם עושים זאת search “Parallel computing high school” חישוב מהיר יותר - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: חישוב מקבילי לכל תלמיד/ה

1

חישוב מקבילי לכל תלמיד/ה

פרופ' רן גינוסרהנדסת חשמל ומדעי המחשב

הטכניון[email protected] www.ee.technion.ac.il/~ran

Page 2: חישוב מקבילי לכל תלמיד/ה

2

תוכן

מדוע חישוב מקבילי ?•

תיאוריה•

ארכיטקטורה•

אלגוריתמים•

מה לעשות•

Page 3: חישוב מקבילי לכל תלמיד/ה

3

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

כולם עושים זאת•–search “Parallel computing high school”

חישוב מהיר יותר•

חישוב בהספק נמוך יותר•

חישוב באנרגיה נמוכה יותר•

Page 4: חישוב מקבילי לכל תלמיד/ה

4

(1תיאוריה )

PRAMמודל •–Parallel Random Access Machineמיועד לאלגוריתם אחד בלבד בו-זמנית–קריאה וכתיבה "במקביל"–

•Concurrently•Simultaneously

ביחידת זמן:–כל מעבד מבצע חישוב, או•כל מעבד ניגש לזיכרון•

P0

P1

P2

Pn

Shared m

emory…

Page 5: חישוב מקבילי לכל תלמיד/ה

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: חישוב מקבילי לכל תלמיד/ה

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: חישוב מקבילי לכל תלמיד/ה

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: חישוב מקבילי לכל תלמיד/ה

8

(2תיאוריה )

מה פירוש גישה במקביל לזיכרון?•–EREWקריאה בלעדית, כתיבה בלעדית :

אל / מאותו משתנה בדיוק!•

–CREWקריאה בו-זמנית, כתיבה בלעדית :–ERCW–CRCWקריאה וכתיבה בו-זמנית :

האלגוריתם חייב להבטיח חישוב נכון•לא החומרה מגינה מפני המתכנת הטיפש–

מעשי? PRAMהאם מודל •

Page 9: חישוב מקבילי לכל תלמיד/ה

9

סינכרון

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

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

סינכרוןדוגמה בהמשך•

סינכרון בקטעים•–BSP = Bulk Synchronous Pattern

כל מעבד בקצב שלו, אבל נקודות הסינכרון –משותפות )= מחסומים(

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

BSP

Page 10: חישוב מקבילי לכל תלמיד/ה

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: חישוב מקבילי לכל תלמיד/ה

11

כיצד לארגן את המעבדים והזכרונות על גבי שבב ?

Page 12: חישוב מקבילי לכל תלמיד/ה

12

P0 P1

P2

P3P4P5

P6

P7

מודל נהלל: המשותף קרוב לכולם

Page 13: חישוב מקבילי לכל תלמיד/ה

13

ארכיטקטורה

Page 14: חישוב מקבילי לכל תלמיד/ה

14

• Start-up company in Israel

• Result of Technion research )since 1980s(

PLURALITY

Page 15: חישוב מקבילי לכל תלמיד/ה

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: חישוב מקבילי לכל תלמיד/ה

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: חישוב מקבילי לכל תלמיד/ה

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: חישוב מקבילי לכל תלמיד/ה

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: חישוב מקבילי לכל תלמיד/ה

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: חישוב מקבילי לכל תלמיד/ה

20

Task map example )2D FFT(

Duplicable task

………

………

Conditional task

Join / fork task

Page 21: חישוב מקבילי לכל תלמיד/ה

21

Another task map )linear solver(

Page 22: חישוב מקבילי לכל תלמיד/ה

22

Linear Solver: Simulation snap-shots

Page 23: חישוב מקבילי לכל תלמיד/ה

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: חישוב מקבילי לכל תלמיד/ה

24

Analysis

Page 25: חישוב מקבילי לכל תלמיד/ה

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: חישוב מקבילי לכל תלמיד/ה

26

Analysis

Page 27: חישוב מקבילי לכל תלמיד/ה

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: חישוב מקבילי לכל תלמיד/ה

28

מה לעשות?

ללמד חישוב מקבילי•מעט ארכיטקטורה–הרבה אלגוריתמים–

לפיתוח תכנה, Pluralityלהשתמש במערכת •סימולציה ומדידת ביצועים

GCC, Eclipseמבוססת –C, ++Cלשפות –זמינה חינם לכל מורה ותלמיד/ה, הורדה מהאתר–כוללת דוגמאות והוראות–מאפשרת התנסות–

Page 29: חישוב מקבילי לכל תלמיד/ה

29

סיכום

מחשב מקבילי )מעבדים קטנים( יעיל יותר •ממחשב יחיד חזק

בתנאי שאנו יודעים לתכנת אותו ביעילות–וזה אפשרי רק במחשב פשוט ועם אלגוריתם חכם–

תכנות מקבילי•קל ללימוד למורה–מתאים ללימוד בבי"ס תיכון–חיוני ללמוד אותו בבי"ס תיכון–

Page 30: חישוב מקבילי לכל תלמיד/ה

30