صفحه 1:
فصل اول
سیستم های چندین پردازنده ای
۱. سیستم های چندپردازنده ای
۲ سیستم های چند کامپیوتری
۳ سیستم های توزیع شده
صفحه 2:
سیستم های چندین پردازنده ای
Local
5 memory Complete system
ع ۲ ۸ 0 1
2 6 6 6| fel (el fe esha] fof] لت
2 Tt
HSH Holm
Cl Inter-
Shared ۱
ed mals} connect] tong internet
6 TI
6[ ها ۵) ه]
۶ 0 [ej 0 0 0
0 0 ۳ 7
5 (b) 0
وك و اب پردازند های را نشان می دهد که به آن مدل حافظه ی
اكى نيز می گویند.
* شکل(ه) سیستم چند کامپیوتری را نشان می دهد که به آن مدل تبادل پیام نيز
گفته می شود.
= شکل( ») سیستم توزیع شده در یک شبکه گسترده را نشان می دهد.
صفحه 3:
سیستم چند پردازنده ای
تعریف: سیستم چند پردازند » ای یک
کامپیوتری است که از دو یا چند پردازنده ep PU
شکل گرفته و آنها دسترسی کامل به حافظه ی
اشتراکی ]1۷/]دارند.
صفحه 4:
Shared
memory
سخت افزار سیستم چندپردازنده ای
Private memory لح
Shared memory
CPU M CPU CPU M CPU
لسر لا
Cache
Bus
چند پردازنده ای مبتنی بر باس
CPU
صفحه 5:
سخت افزار سیستم چندپردازنده ای
Memories
al fal lel lel [gl fel lel le Crosspoint
81 18) 5] ادا ۶۱ 2۴ switch is open
000 کت مس 2
7
oo +e
on ۵
8 Crosspoint
= Loo switch is closed
& سر سس(
101 که 4
16 a
11 ۳
54 0
منت دما 5
switch هت
(a)
چند پردازنده ای با دسترسی یکنواخت(171۷1) به کمک سوئیچ Crossbar
صفحه 6:
سخت افزار سیستم چندپردازنده ای
* چندپردازنده ای با دسترسی یکنواخت(/]1[[۷) با استفاده از شبکه های
راهگزینی چند طبقه ای را به کمک با سوئیچ های ۲*۲ می سازند. شکل( ه) یک
سوئیچ ۲۲۲ و شکل( ظ) فرمت پیام های ارسالی در این سیستم را نشان می دهد.
A x
Module | Address | Opcode
B ۷۲ لا tee |
(a) (b)
صفحه 7:
سخت افزار سیستم چندپردازنده ای
3 Stages
ب يمو ۲
CPUs Memories
00 1A 2۸ 3۸ 9
001 b b ۳ 001
910 910
18 28 38
911 on
100 5 100
16 20 30
101 101
110 a a 110
18 20 30
111 z ۳ 111
* شبکه راهگزینی امگا
صفحه 8:
سخت افزار سیستم چندپردازنده ای
مشخصات سیستم های جندپردازندای با دسترسی
(NUMA) cs 1 5:5 5
۱. فقط یک فضای آدرس برای تمامی پردازند ها وجود دارد.
۲ دسترسی به حافظه راه دور فقط توسط فرمان های (۵۸)ی1 و
5101 انجام مى كيرد.
۳ دسترسی به حافظه راه دور كندتر از حافظه ى محلى است.
صفحه 9:
سخت افزار سیستم چندپردازنده ای
Node Node 288
CPU Memory CPU Memory CPU Memory
Directory [
5 ص
Local bus Tocal bus Tocal Bus
Interconnection network
(a)
284
Bits 8 18 8
Node Block Offset]
(b)
شکل( «) نمونه ای از سخت )5135 NUMA. با ۲۵۲ گره
شکل( (b فلیدهای آدرس حافظه ی ۳۲ بیتی
شکل(۰) مشخصات دارکتوری در گره ۳۳ ام
اه م دراه
صفحه 10:
انواع سیستم های عامل چندپردازنده ای
681 2نامع 803 cPU4 Memory 0
Has Has Has Has Lua Data
private private private private 3] 4
os os os 65 لت
-
Bus
هر پردازنده [۳1) به طور مجزا سیستم عامل مربوط به خود را دارد
صفحه 11:
انواع سیستم های عامل چندپردازنده ای
6۴ 4 Memory هنا
Slave
runs user
processes|
3نامع
Slave
runs user
processes|
Bus
2نامع
Slave
runs user
processes|
1نامع
Master
runs
os
| a |
(Master Slave)oo» Gly! جنديردازنده اى
صفحه 12:
انواع سیستم های عامل چندپردازنده ای
vo
Locks
Memory
CPU 4
Runs:
users and
shared OS|
CPU3
Runs
users and
shared OS|
\
Bus
CPU 2
Runs
users and)
shared OS}
چندپردازنده ای متقارن (SMP)
CPU 1
Runs
users and
shared OS}
صفحه 13:
همزمانی سیستم های چندپردازنده ای متقارن
Word
1000 is
initially 0
CPU1
Memory 2نامع
1. CPU 1 reads a0 2. CPU 2 reads a0
3.CPU 1 writes a1 4. CPU 2writes a1 4
us
دستورالعمل اتمیک م39 روی چندپردازنده ای درست عمل نمی کند. لذا برای عملکرد
درست بايد این دستور در یک سیکل اجرا شود یا با اجرای آن باس را بتواند قفل کند.
صفحه 14:
همزمانی سیستم های چندپردازنده ای متقارن
spins on this (private) lock 3 بت
spins on this (private) lock 4 تم
a
[> When CPU 1 is finished with the
real lock, it releases it and also
releases the private lock CPU 2
is spinning on
1
اج و نامه
CPU 2 spins on this (private) lock
Shared memory ———
1 لامع
holds 7
real lock
جهت جلوگیری از پدیده thrashing 025 می توانیم
از چند 10016 برای کنترل ناحیه ی بحرانی استفاده کنیم
صفحه 15:
روش های زمانبندی چندپردازنده ای
* زمانبندی پروسس های مستقل
* اشتراک زمانی
LPT +
RLPT °
۶ زمانبندی 07630 ها
* اشتراك مكانى
Gang °
* زمانبندی پروسس های وابسته
* الگوریتم های که به کمک گراف وظایف زمانبدی را انجام می دهند
صفحه 16:
٩[ 01 21 ]3 لم الك اك 6 9[ ]1[ ]2[ ]3
4[ نامعر ليإ لقا [ق] A] I cue ABBE
8] [9] [ro] [1 cPU4 8] [9] [ro] [14 goes idle 8] [9] fro] [14
goes idle ۳
2 ]۱3[ 14 5 2[ ]13[ [ra] 5 81 ]13[ 14 5
eae Priority Priority
(a) 0
* دقت کنید که در این زمانبندی از یک ساختمان داده همانند
صف ساده يا اولويت دار استفاده می کند.
صفحه 17:
* اولویت زمانبندی در الگوریتم LPT
(Longest Processing Time) طولانی ترین
زعان اجزایی پرزیسی ها است بابراین زپروسبی.-ها زایپ
طبق زمان اجرایی آن ها به صورت نزولی موتب نموده و به
ترتیب پردازنده های خالی به آنها احتصاص داده می شود.
* قعانتنی PT اتحصازی مباشت.
صفحه 18:
زمانبندی پروسس های مستقل: Le
بر 3 ب 7ب 14 ی وا و 0 زر 8 ,)12 ET={
2
11 12 13 4 15 16 7 18
ظيفه (13516) را با الگوریتم 1 طن انجام داده وبا Gantt sry رسم
زا یت به نک پردازنده ای بست آورید
صفحه 19:
زمانبندی پروسس های مستقل: RLPT
© اولویت زمانبندی در الگوریتم LPT (Reverse
LPT) طولانی زمان اجرایی پروسس ها است:
؟ اولویت این الگوریتم cel LPT Se
* زمابندی 31,۳1 نیز انحصاری میباشند.
صفحه 20:
زمانبندی پروسس های مستقل: RLPT
فالخ فرریکه سیستم ۳ پرخازنته ای ۱۰ وظبقه (پووستی) یبا ازمان اجزلبی ببهعورتت لبست زیر
داریم
ET={ 125 8 , 10; 5 ; 115 7 49 & 6
1 2 2 3 و
Tl 712 13 T4 15 16 ۲7 8
19 0
الف) زمانبندی این ۱۰ وظیفه (185[6) را با الگور
11.1 انجام داده و با نمودار Gantt
زمان پایان اجرای آنها را بدست
سم نمو
ب) افزايش سرعت اين سيستم جند بردازنده اى را نسبت به تك بردازنده اى بدست آوريد.
صفحه 21:
زمانبندی 11۳660 ها: اشتراک مکانی
a 4-CPU partition
Unassigned CPU
* در زمانبندی اشتراک مکانی همزمان چند 07680 وابسته به یک
پروسس روی یک مجموعه پردازنده ۳ زمانبندی می شوند.
صفحه 22:
زمانبندی 11۳660 ها: اشتراک مکانی
Thread A, running
* مشکل زمانبندی اشتراک مکانی ارتباط بین 07680 ها است.
- در شکل فوق 07660 های ۸۵0 و ۸1 در دو فاز متفاوت زمانبندی شده و زمان
ارتباط بین آنها معادل با دو برش زمانی یا 200۳05 است.
صفحه 23:
زمانبندی 07600 ها: Gang
Gang زمانبندی *
گروه بندی 7660 های وابسته در یک واحد(22۳0))
تمامی اعضای یک گروه 2110 باید همزمان روی پرازنده های
مختلف ۳]7) به صورت اشتراک زمانی زمان بندی شوند.
تمامی اعضای یک Lb Gang در برش هاى زمانى يكسان همزمان با
هم شروع به اجرا شوند و هم زمان با هم اجراى آنها خاتمه يابد.
صفحه 24:
ابا شفن,پردازنده: به وت غیر اتعسازی:با
بوش
ای زمانی واحد.
زمانبندی 28110) برای یک
مجموعه 0۳680 ر
anh
جندیردازنده
CPU
Gang - thread ,cs.sk;
صفحه 25:
زمانبندی پروسس های وابسته: نمودار زمانبندی
صفحه 26:
زمانبندی پروسس های وابسته:بدون هزینه ارتباطی
؟ وابستگی پروسس مها(وظایف) را گراف وظایف مشخص
قن OS
* گراف وظیفه شامل 9 پروسس (وظیفه) می باشد.
5 سیستم چندپردازنده ای شامل 2 پردازنده است.
* هزينه ارتباطى بين يردازنده ها صفر است
* هدف زمانبندى كاهش زمان كل اجرايى پروسس ها است.
صفحه 27:
زمانبندی پروسس های وابسته
Scheduling In-Forests/Out-Forests
Task Graphs
* الگوریتم:
- سطوح گره های گراف از بالا به پایین محاسبه شده و به عنوان
اولویت زمانبدی گره ها در نظر گرفته می
- موقعی که پردازنده ای در دسترس باشد آن به گره (پروسس)
آماده با بالاترین اولویت اختصاص می یابد.
صفحه 28:
زمانبندی پروسس های وابسته
Scheduling In-Forests/Out-Forests
Tack Granhe
Time, Pi P2 P3 P4
Task Graph
Task Priority
مثال: زمانبندی گراف وظیفه روی چهار پردازنده
صفحه 29:
زمانبندی پروسس های وابسته
Scheduling Interval Ordered Tasks
* الگوریتم:
- مقدار تمامی 8110085850۳ های هر گره گراف به عنوان
اولویت زمانبدی گره ها در نظر گرفته می شود. گره های وابسته
به هر گره در گراف را 511006950۳ های آن گره تعریف می
- موقعی که پردازنده ای در دسترس EL آن به گره (پروسس)
آماده با بالاترین اولویت احتصاص می یابد.
صفحه 30:
زمانبندی پروسس های وابسته
Scheduling Interval Ordered Tasks
Jake Number of
لما
Task Graph ‘Task Priority
مثال: زمانبندی گراف وظیفه روی سه پردازنده
صفحه 31:
زمانبندی پروسس های وابسته:با هزینه ارتباطی
گراف وظیفه شامل پروسس (وظیفه) می باشد.
سیستم چندپردازنده ای شامل "« پردازنده است.
هزينه ارتباطى بين وظيفه ها که روی دو پردازنده مختلف زمانبندی می شوند
غیر صفر است و مقدار آن روی یال های گراف مشخص می شود.
هزینه ارتباطی بین وظیفه ها که روی یک
صفر است و در زمانبندی باید به این نکته دقت شود.
نده یکسان زمانبندی می شوند.
هلف زمانبنی:کامقن زمان کل انجرانی پروستن,ها آننت:
صفحه 32:
زمانبندی پروسس های وابسته:با هزینه ارتباطی
۴۶ وه 35 25 5
زمانبندی روی یک پردازنده با الگوریتم های زمانبندی 1 111,۳2 و MCP
صفحه 33:
زمانبندی پروسس های وابسته:با هزینه ارتباطی
Execution time ع
Data Communication time
زمانبندی روی دو پردازنده با الگوریتم زمانبندی 156
صفحه 34:
زمانبندی پروسس های وابستهبا هزینه ارتباطی
زمانبندی روی دو پردازنده با الگوریتم زمانبندی 1۷110
صفحه 35:
زمانبندی پروسس های وابسته:با هزینه ارتباطی
3a MCP. DCP. DSC cle ps5 مثال: زمانبندی گراف وظیفه با
5 Genetic
صفحه 36:
زمانبندی پروسس های وابسته:با هزینه ارتباطی
ar =
۳ 0
صفحه 37:
زمانبندی پروسس های وابسته:با هزینه ارتباطی
مثال: زمانبندی گراف وظیفه با الگوریتم های MCP. HLFET. DSC »3
MD
صفحه 38:
ارزیابی کارایی سیستم چندپردازنده ای
م : تعداد بردازنده ها
(0)5: كار انجام شده توسط م پردازنده
plat oles (Pp) با « پردازنده
۵ > (1۸ :۵0 2 170
۳ ۱۸ (۸6 < مسبت ماه
[(22 ما ۱ ۲۷۵( باه Cp)
O() ۱ ۵ < بلس Rp)
[(22 ص] / (م)© = Ap) Oikos
QP) (م) 1 م] / (17)0 - باس OP)
صفحه 39:
ارزیابی کارایی سیستم چندپردازنده ای
صفحه 40:
ارزیابی کارایی سیستم چندپردازنده ای
مثال: جمع ۱ عدد روی یک سیستم ۸ پردازنده ای با هزینه ارتباطی و بدون هزینه ارتباطی
nunbers to be added 16 =
Ooricoe arm mica
@@) = 46 / )© x)= E?%
06 6/۵ - (۵0
مج - 6( 6
صفحه 41:
ارزیابی کارایی سیستم چندپردازنده ای(آرایه خطی مرتب سازی)
DARA WH BABA BH BMH 6۵
4h odd steps,
5 2.58 @& 3 9جهلا Ls (8 Sew.
Se+2 یمه 3سجه8ة %-+1 4 ۱ ۱
9
5 odd
3 واه
2 مر پر 4ج م8 1ج مه دب م3 ۰
Hy) ات
جملا یمه 4جمد 1ج م3 valves انب
theirright
wetykbors
