96
2/8/2014 1 اول ﻓﺼﻞ ﻣﻮازي ﭘﺮدازش ﺑﺴﺘﺮﻫﺎي1 ﻣﻘﺪﻣﻪ ﻛﺎﻣﭙﻴﻮﺗﺮ ﻳﻚ اﺟﺰاء: ﻣﺴﻴﺮداده و ﺣﺎﻓﻈﻪ ﭘﺮدازﻧﺪه، دﻫﻨﺪ ﻣﻲ اراﺋﻪ ﺳﻴﺴﺘﻢ ﻳﻚ ﭘﺮدازﺷﻲ ﻧﺮخ ﻛﻞ در را ﻫﺎﻳﻲ ﮔﻠﻮﻛﺎه. ﺣﻞ راه: ﭼﻨﺪﮔﺎﻧﮕﻲ اراﺋﻪ(multiplicity) ﻓﻮق اﺟﺰاء در. ﺿﻤﻨﻲ ﺳﺎزي ﻣﻮازي(implicity) ﻧﻮﻳﺴﺎن ﺑﺮﻧﺎﻣﻪ دﻳﺪ از. ﻣﺨﺘﻠﻒ ﻫﺎي ﺷﻜﻞ ﺑﻪ ﻧﻮﻳﺴﺎن ﺑﺮﻧﺎﻣﻪ ﺑﺮاي وﺿﻮح ﻗﺎﺑﻞ. 2

Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

1

فصل اول

بسترهاي پردازش موازي

1

مقدمهپردازنده، حافظه و مسيرداده: اجزاء يك كامپيوتر•

.گلوكاه هايي را در كل نرخ پردازشي يك سيستم ارائه مي دهند–.در اجزاء فوق (multiplicity)ارائه چندگانگي : راه حل•

.از ديد برنامه نويسان (implicity)موازي سازي ضمني –.قابل وضوح براي برنامه نويسان به شكل هاي مختلف–

2

Page 2: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

2

موازي سازي ضمنياجراي خط لوله و سوپراسكالر•

تقسيم يك وظيفه بزرگ به وظائف كوچكتر و : اجراي خط لوله–خط لوله چند مرحله ايي←اجراي آنها در چندين مرحله

افزايش سرعت اجراي يك وظيفه•داشتن چندين خط لوله در يك پردازنده: اجراي سوپر اسكالر–

3

موازي سازي ضمنيخط لوله•

.قابليت همپوشاني اجراي چندين دستورالعمل را در يك زمان دارد–موازي سازي را در اجراي دستورات بكار مي گيرد و از ديد برنامه نويس مخفي •

.استساعت زمان توليد يك ماشين است 2فرض شود : خط توليد ماشين: مثال–

.ماشين بايستي توليد شود 100و .تعداد ماشينهاي توليد شده در يك ساعت: توان عملياتي خط توليد•.تعداد دستورات كامل شده در يك ثانيه است: توان عملياتي پردازنده•

. خط لوله گويند (stage)هر گام در خط لوله را مرحله : مرحله خط لوله–.همه مراحل خط لوله بايستي داراي طول يكساني باشند

.در خط توليد هر مرحله يك گروه كاري در خط توليد است•–Speedup خط لوله:

4

xstagepipeoftime

machinedunpipelineonninstructiopertimespeedup

Page 3: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

3

موازي سازي ضمنيخط لوله

5نانوثانيه طول مي كشد و در 40فرض شود انجام يك عمل •درحالت ايده (بنابراين زمان هر مرحله . مرحله قابل اجرا است

speedup=40/8=5x: نانو ثانيه است 8برابر با ) ال

مرحله 4مرحله انجام مي شود كه 5فرض شود همان عمل در •لذا زمان يك . نانوثانيه باشد 10نانو ثانيه و يك مرحله 7.5آن

. نانوثانيه 10مرحله ماكزيمم طول مراحل مي باشد، يعني :بنابراين

Speedup=40/10=4x

5

:مثالاجراي

سوپراسكالر مسيره-دو

6

Page 4: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

4

محدوديت هاي سيستم حافظهكارايي يك برنامه روي يك سيستم عالوه بر سرعت پردازنده، به قابليت سيستم •

.حافظه جهت انتقال داده ها به پردازنده نيز بستگي دارد:(Memory System Bandwidth)پهناي باند سيستم حافظه •

.نرخ انتقال داده ها از حافظه به پردازنده–:(Memory System Latency)تاخير سيستم حافظه •

.از حافظه به پردازنده bزمان انتقال يك بالك داده بطول –

7

تاثير تاخير حافظه روي كاراييو يك ) كالك يك نانوثانيه( 1GHzپردازنده اي با سرعت : مثال•

در نظر ) بدون كاشه(نانوثانيه 100حافظه متصل به آن با تاخير .بگيريد

ضرب دارد و چهار دستورالعمل را در يك -فرض شود پردازنده دو واحد جمع–بنابراين پيك پردازنده . انجام مي دهد) يك نانوثانيه(سيكل كالك 4GFLOPS است.

سيكل است و براي هر درخواست حافظه از طرف 100تاخير حافظه –.سيكل منتظر بماند 100پردازنده، بايستي پردازنده

لذا براي هر دو عنصر نياز به يك . فرض شود دو بردار ضرب داخلي مي شوند– 100لذا براي خواندن هر دو عنصر بايستي پردازنده . جمع است-عمل ضرب

كاهش پيدا 10MFLOPSبه عبارتي پيك پردازنده به . نانوثانيه صبر كند.مي كند

8

Page 5: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

5

بهبود كارايي با استفاده از كاشهو يك ) كالك يك نانوثانيه( 1GHzپردازنده اي با سرعت : مثال•

در نظر ) بدون كاشه(نانوثانيه 100حافظه متصل به آن با تاخير نانو ثانيه 1و با تاخير 32Kbدر اين حالت يك كاشه با اندازه . بگيريد

.معرفي مي شود) يك سيكل كالك(در هم ضرب شوند و كاشه 32*32با ابعاد B و Aفرض شود دو ماتريس –

كه هر سه ) عناصر را طوري در نظر مي گيريم(نيز آنقدر بزرگ است پس ابتدا دو . در آن جاي گيرد) ماتريس حاصلضرب( Cو A ،Bماتريس

داده بايستي واكشي شوند كه 2K: ماتريس در كاشه بارگزاري مي شوند.زمان مي برد 2Kns=200usمعادل

عمل است كه در اين مثال n^3*2نياز به n*nبراي ضرب دو ماتريس –64K 64عمل نياز داريم كهK/4=16K كه معادل ) نانوثانيه 1(سيكل16us 16+200: كه جمعا. است، زمان الزم استus=216us كه معادل

برابر نسبت به مثال قبل 30است كه 64K/216=303 MFLOPSنرخ .پيك پردازنده است %10بهرحال اين مقدار . بهتر شده است 9

تاثير پهناي باند حافظه روي كارايينرخ انتقال داده ها بين پردازنده و حافظه: پهناي باند حافظه•

.بستگي به پهناي باند گذرگاه بين پردازنده و حافظه دارد–ضرب دو بردار: مثال•

بنابراين در مثال . فرض شود اندازه بالك نسبت به مثال قبل به چهار كلمه در هر بالك افزايش يابد–سيكل پردازنده منتظر بماند، درنتيجه پيك 100جمع بايستي -قبل براي انجام هر عمل ضرب

. كاهش يافت 10MFLOSسرعت به بارگزاري مي شود، لذا ) بجاي يك كلمه(سيكل چهار كلمه 100حال در اين مثال چون در هر –

.نسبت به قبل افزايش مي يابد 40MFLOSپيك سرعت به

10

Page 6: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

6

نتيجه گيري در خصوص پهناي باندمثالهاي قبل نشان داد كه با افزايش پهناي باند، نرخ پيك •

اين فرض زماني درست است كه . محاسباتي افزايش مي يابدترتيب دسترسي به داده ها در حافظه طوري باشد كه كلمات داده

بعبارتي، . ايي پي در پي در حافظه توسط دستورات استفاده شوند. توالي از دستورات داده هاي يك بالك را بكار برند

•Spatial locality )از ديد برنامه نويسي، ): محليت فضاييدسترسي به داده ها ي پي در پي در حافظه با دستورات پي در

.پي كه منجر به محاسبات موفق مي شودطوري باشد كه محليت فضايي نداشته باشد، پهناي ) يا الگوي دسترسي(اگر محاسبه ايي –

. باند موثر خيلي كوچكتر از پيك پهناي باند خواهد شد11

(strided access)تاثير دسترسي با گامهاي بلند

در row‐majorفرض شود كه يك ماتريس بصورت : مثال•حافظه ذخيره شده است و يك قطعه برنامه كه قصد دارد مجموع

.ستونهاي ماتريس را در يك بردار ذخيره كند1000*1000ماتريس : روش اول–

12

Page 7: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

7

(strided access)دسترسي با گامهاي بلند

چون دسترسي به ماتريس بصورت ستون به ستون : روش اول•ذخيره شده row‐majorاست و از طرفي ماتريس بصورت

گام 1000است، لذا دسترسي از يك عنصر به عنصر ديگر برابر است و اين به اين صورت است كه براي هر عنصر بايستي يك

لذا اگر كاشه . در كاشه بارگزاري شود) يك سطر از ماتريس(بالك ) بارگزاري( 1000000گنجايش فقط يك بالك را داشته باشد،

.دسترسي به حافظه را داريم

13

(strided access)كاهش دسترسي با گامهاي بلند

:كد برنامه را بصورت زير تغيير مي دهيم: روش دوم•

14

Page 8: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

8

روشهاي ديگر براي مرتفع كردن تاخير حافظه:كاهش عدم پاسخ مرورگر وب در پيك ترافيك شبكه•

پيش بيني صفحه هاي وب مورد نظر و مطالب مورد درخواست براي آنها–(prefetching)پيش واكشي •

بازكردن چندي مرورگر وب و ديدن يك صفحه در هركدام، بطوريكه اگر يكي از مرورگرها –در حال بارگزاري يك صفحه است، صفحات ديگر در مرورگرهاي ديگر مي تواند خوانده

.شود(multithreading)چند نخي •

.در يك حركت چندين صفحه را در يك مرورگر باز شود–(spatial locality)محليت فضايي •

15

چند نخي براي مرتفع كردن تاخير حافظه.يك تك جريان كنترلي در جريان يك برنامه را نخ گويند: تعريف نخ•: cبراي حصول بردار bدر بردار a(n*n)ضرب يك ماتريس : مثال•

چون هر عمل ضرب داخلي در كد فوق مستقل از يكديگر هستند، بنابراين مي توان كد •:فوق را بصورت زير نوشت

به يك جفت بردار از عناصر دسترسي پيدا مي dot_productدر سيكل اول تابع •در سيكل بعدي اين تابع به جفت بردار ديگر از . كند و منتظر دريافت داده ها مي ماند

تاخير (واحد زماني xاولين تابع بعد از . عناصر دسترسي پيدا مي كند و الي آخربعبارتي در هر سيكل كالك يك محاسبه . داده ها را بدست مي آورد و الي آخر) حافظه

.انجام مي شود 16

Page 9: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

9

پيش واكشي براي مرتفع كردن تاخير حافظهيك درخواست به b[i]در a[i]اگر كاشه وجود نداشته باشد، پردازنده بايد براي ضرب •

.دهد) عنصر(حافظه براي دريافت جفت داده را الزم داشته باشد، بنابراين براي دو بردار ) نانوثانيه 1(فرض شود هر درخواست يك سيكل كالك –

.نانوثانيه زمان صرف مي شود 100عنصري 100با وجود كاشه، پردازنده مي تواند بجاي بارگزاري يك جفت داده، يك : پيش واكشي•

!جفت بردار را بارگزاري كند

كدام روش كارايي بيشتري را در مرتفع كردن تاخير حافظه دارد؟: تمرين•

17

سازماندهي بسترهاي پردازش موازي.سازمان سخت افزاري واقعي بستر است: سازمان فيزيكي•.ديد برنامه نويس نسبت به بستر محاسباتي: سازمان منطقي•: دو جزء مهم محاسبات موازي از ديد برنامه نويس•

تصريح وظائف موازي ساختار كنترلي–مكانيزمي براي تعيين محاوره بين اين وظائف مدل ارتباطي–

18

Page 10: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

10

ساختار كنترلي بسترهاي محاسبات موازي:وظائف موازي در سطوح مختلفي تعيين مي شوند•

.هر برنامه در يك مجموعه از برنامه ها مي تواند بعنوان يك وظيفه موازي ديده شود–.دستورالعملهاي منحصري در يك برنامه مي توانند بعنوان وظائف موازي ديده شوند–

بين سطوح فوق محدوده ايي از مدلها براي تعيين ساختار كنترلي و هر كدام يك •.معماري كه آنها را پشتيباني كند، وجود دارد

موازي سازي يك دستورالعمل روي چندين پردازنده: مثال•

چون هر جمع روي هر جفت عنصر كامال از جمع هاي ديگر مستقل انجام مي شود، لذا •اگر مكانيزمي وجود داشته باشد كه يك دستور با داده هاي مختلف روي همه پردازنده

بنابراين يك . ها همزمان اجرا شود، حلقه فوق با سرعت خيلي بااليي انجام مي شود.معماري براي پياده سازي اين مكانيزم الزم است

19

Page 11: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

1

فصل دوممعماري هاي پردازش موازيفصل اول

(four decades of computing)چهار دهه از محاسبات

• Batch era (1965)

• Time sharing era (1970)

• Desktop era (1977)

• Network era (1980‐90)

• Current trends– Cluster of workstations

– Grid computing

– Cloud computing

Page 12: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

2

flynn (flynn’sطبقه بندي taxonomy)

جريانهاي اطالعاتي در پردازنده ها•

دنباله ايــي از : (instruction stream)جريان دستورالعمل – .دستورالعملها که توسط پردازنده اجرا مي شوند

ترافيکي از داده ها که بين پردازنده و : (data stream)جريان داده ها –.حافظه تبادل مي شوند

flynn (flynn’sطبقه بندي taxonomy)

طبقه بندي معماري کامپيوتر•

– Single‐Instruction Single‐Data (SISD)

– Single‐Instruction Multiple‐Data (SIMD)

– Multiple‐Instruction Single‐Data (MISD)

– Multiple‐Instruction Multiple‐Data (MIMD)

Page 13: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

3

Single-Instruction Single-Data (SISD)

.هستند Van Neumannکامپيوترها •

: SISDمعماري •

SIMDمعماري

•Single Instruction‐Multiple Data (SIMD)يك واحد كنترل دستورالعملها را به هر واحد–

.پردازشي توزيع مي كندهر دستوالعمل بطورهمزمان توسط همه واحدهاي–

.پردازشي اجرا مي شودمناسب براي محاسبات ساخت يافته روي ساختارهاي–

.داده ايي موازي نظير آرايه ها استدارد كه مشخص شود ”activity mask“نياز به –

.كدام داده و عمل در عمليات شركت داشته باشد يا خيررا كاهش دهند، SIMDاجراهاي شرطي مي تواند كاراي –.لذا در استفاده از آنها بايد دقت شود

).مثال اساليد بعد را ببينيد(

6

Page 14: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

4

SIMDانواع پيکربندي

.هر پردازنده حافظه محلي خود را دارد• .با هم در ارتباطند INپردازنده ها از طريق • برقرار نکند، ارتباط از طريق پردازنده واسط انجام مي شود INاگر •

.ارتباط بين دو پردازنده را مستقيما

SIMDانواع پيکربندي

.با هم در ارتباطند INپردازنده ها و حافظه ها از طريق •

.دو پردازنده مي توانند از طريق ماژول حافظه يا پردازنده واسط با هم ارتباط برقرار کنند•

Page 15: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

5

SIMDكارايي در معماري

:در اجراي دستورات شرطي SIMDكاهش كارايي معماري : مثال•

9

:دستور فوق در دو گام اجرا مي شوددر گام اول پردازنده هايي فعالند كه

در آنها صفر است و مابقي Bمقدار .غيرفعال هستند

در گام دوم ساير پردازنده ها فعال ...مي شوند

Multiple-Instruction Multiple-Data (MIMD)

.بهم متصل مي شوند INچندين پردازنده و چندين ماژول حافظه از طريق برخي •

(Shared Memory)حافظه مشترک –

(Message Passing)انتقال پيام –

Page 16: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

6

Shared Memory MIMDمعماري

.ارتباط بين پردازنده ها از طريق حافظه مشترک صورت مي گيرد•

نوشتن حافظه دارد و /هر پردازنده شانس دسترسي يکساني را براي خواندن•.همچنين سرعت دسترسي يکسان

Message Passing MIMDمعماري

.، هر پردازنده به حافظه محلي خود متصل استINدر هر گره از • .داده ها از يک حافظه محلي به ديگري از طريق انتقال پيام صورت مي گيرد• .صورت مي گيرد send/recieveانتقال پيام از طريق •و پردازنده ها) ماژولها(گسترش پذير است بدليل توزيع شدن حافظه ها •

Page 17: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

7

Distributed-Shared Memory (DSM)معماري

.ترکيبي است از مزاياي حافظه مشترک و انتقال پيام•

)حافظه ها توزيع شده اند(سخت افزار انتقال پيام را پشتيباني مي کند •

.مدل برنامه نويسي تفکر حافظه مشترک است•

موازيمدل ارتباطي بسترهاي )حافظه مشترك(مشترك بسترهايي با فضاي آدرس

حافظه مشترك از رده هاي مهم چند پردازنده ها ) معماري(سيستم •.است كه همه پردازنده ها يك حافظه را به اشتراك مي گذارند

ها روي پردازنده هاي مختلف از taskبين ) ارتباط(تبادل داده ها •.نوشتن روي حافظه اشتراكي صورت مي گيرد/طريق خواندن

14

ماژولهاي حافظه

پردازنده هاي مستقل

Page 18: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

8

مدل ارتباطي بسترهاي موازيويژگي هاي بسترهايي با فضاي آدرس مشترك

. برنامه نويسي در فضاي آدرس مشترك، ساده است•از ديد برنامه نويس پنهانند و كد (read‐only)همه تبادالت فقط خواندني –

.نويسي كامال مشابه با كد نويسي سريال استكد نويسي كمي مشكلتر (read/write)نوشتني /در تبادالت خواندني–

.خواهد بود كه نياز به انحصار متقابل براي دسترسي هاي همزمان استوجود كاشه در هر پردازنده مجادله براي دسترسي پردازنده ها به •

.حافظه مشترك را كاهش داده استكليه : ايجاد شده است (cache coherency)مساله همدوسي كاشه ها –

.كپي ها در كاشه ها بايستي يكسان باشند

15

مدل ارتباطي بسترهاي موازي)حافظه مشترك(مشترك بسترهايي با فضاي آدرس طراحي

مسائلي كه بايد در طراحي يك حافظه مشترك بايد در نظر گرفته •:شود

(contention)كاهش كارايي به دليل مجادله –(coherence)) همدوسي(مسائل ارتباطي –

چندين پردازنده براي دسترسي به حافظه : (contention)مجادله •.مشترك همزمان درخواست دهند

وجود كاشه ممكن است مسئله مجادله را تا حدي حل كند، ولي داشتن – همدوسيچندين كپي از داده ها كه بين كاشه ها منتشر شده اند، مسئله

.را ايجاد مي كندكپي ها در كاشه ها همدوس هستند اگر : (coherency)همدوسي •

حال اگر يك پردازنده در كاشه . مقادير آنها با يكديگر يكسان باشد (inconsistent)خود تغييراتي را ايجاد كند، آن كاشه ناسازگار

.است16

Page 19: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

9

مدل ارتباطي بسترهاي موازيطبقه بندي سيستم هاي حافظه مشترك

و (M)ساده ترين سيستم حافظه مشترك شامل يك ماژول حافظه •:است P2و P1دو پردازنده

17

يك واحد داوري درون حافظه وجود دارد كه سيگنالهايgrant ياbusy را از.طريق كنترل كننده حافظه به پردازنده ها ارسال مي كند

مدل ارتباطي بسترهاي موازيطبقه بندي سيستم هاي حافظه مشترك بر اساس شبكه ارتباطي

– UMA (Uniform Memory Access)به همان صورتي است كه يك INدسترسي به حافظه مشترك توسط پردازنده ها از طريق –

.پردازنده به حافظه خودش دسترسي دارد.همه پردازنده ها زمان يكساني را براي دسترسي به هر موقعيت از حافظه دارند––IN استفاده شده درUMA مي تواندSingle Bus ،Multiple Bus و يا يك

Crossbar Switch باشد. Symmetricچون دسترسي ها به حافظه مشترك باالنس است، اين نوع سيستمها به –

Multiprocessor‐SMP نيز معروفند.

18

Page 20: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

10

مدل ارتباطي بسترهاي موازيطبقه بندي سيستم هاي حافظه مشترك بر اساس شبكه ارتباطي

– NUMA (Nonuniform Memory Access).هر پردازنده به بخشي از حافظه مشترك دسترسي دارد–هر پردازنده با آدرس واقعي به هر موقعيت از .حافظه داراي يك فضاي آدرس دهي است–

بنابراين زمان دسترسي به هر ماژول حافظه بستگي به فاصله آن از . حافظه دسترسي دارد.پردازنده دارد

–IN و ) سلسله مراتبي(هاي استفاده شده در اين رده مي توانند گذرگاه هاي چند سطحي.يا درخت باشد

19

مدل ارتباطي بسترهاي موازيطبقه بندي سيستم هاي حافظه مشترك بر اساس شبكه ارتباطي– COMA (Cache‐Only Memory Architecture)

.است ولي حافظه مشترك شامل حافظه كاشه است NUMAهمانند –.داده ها از كاشه يك پردازنده به كاشه ديگر منتقل مي شوند–

20

Page 21: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

11

مدل ارتباطي بسترهاي موازيموضوعاتي كه بايد در سيستمهاي حافظه مشترك در نظر گرفت

بايستي درخواستهاي : (access control)كنترل دسترسي •پردازنده ها براي دسترسي به حافظه مشترك كنترل شود تا

.صورت نگيرد (conflict)برخوردي زمان دسترسي : (synchronization)همزمان سازي •

.فرايندهاي مشترك را به منابع مشترك محدود مي كندقابليتي از سيستم است كه دسترسي : (protection)حفاظت •

غيرمجاز فرايندها را به منابعي كه در اختيار ساير فراينده است، .مانع مي شود

مدل ارتباطي بسترهاي موازي(message passing platforms)بسترهاي انتقال پيام

هر پردازنده داراي حافظه خاص خودش است و ارتباط بين •.پردازنده ها فقط از طريق انتقال پيام صورت مي گيرد

.هيچ حافظه مشتركي بين پردازنده ها وجود ندارد•در اين نوع بسترها جهت receiveو sendدو عمل اصلي •

.تبادل داده ها نقش اصلي را دارند

22

Page 22: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

12

مدل ارتباطي بسترهاي موازي(message passing platforms)بسترهاي انتقال پيام

با هم در ارتباطند send/recieveگره ها از طريق : مدل•).حافظه مشترك وجود ندارد(

شامل پردازنده و حافظه محلي براي ذخيره كردن پيامها : گره•.جهت ارسال يا دريافت

:در سيستمهاي انتقال پيام INفاكتورهاي مهم در طراحي •تعداد بيتهايي كه مي توانند در : (link bondwidth)پهناي باند –

.واحد زمان انتقال داده شوندمدت زماني كه انتقال پيام كامل مي : (link latency)تاخير لينك –

.شود

سازمان فيزيكي بسترهاي موازي: معماري ايده ال يك كامپيوتر موازي•

–Parallel Random Access Machine‐PRAM

•P پردازنده فعال در يك سيكل همزمان عمل خواندن، محاسبه و نوشتن را.انجام مي دهند

(SIMD)دستورالعملها يكسان روي داده هاي مختلف •

24

Page 23: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

13

PRAMحالت هاي مختلف براي خواندن و نوشتن در

در يك زمان فقط يك پردازنده مي : (ER)خواندن انحصاري •.تواند از هر مكان از حافظه بخواند

در يك زمان فقط يك پردازنده مي : (EW)نوشتن انحصاري •.تواند در هر مكان از حافظه بنويسد

چند پردازنده مي توانند همزمان از يك : (CR)خواندن همزمان •.مكان حافظه بخوانند

چند پردازنده مي توانند همزمان در : (CW)نوشتن همزمان •.يك مكان حافظه بنويسند

25

PRAMحالت هاي مختلف براي خواندن و نوشتن در

:تداخل در نوشتن همزمان بايستي با استفاده از رويه زير حل شود•تمامي نوشته هاي همزمان مقدار يكساني را : (Common)عمومي –

.ذخيره مي كنندتنها يك مقدار دلخواه انتخاب شده و ذخيره مي : (Arbitrary)اختياري –

.از بقيه مقادير صرفه نظر مي شود. شودمقدار نوشته شده توسط پردازنده با كوچكترين : (Minimum)كمينه –

.شاخص ذخيره مي شود و از بقيه مقادير صرفه نظر مي شودتمامي مقادير با استفاده از توابع كاهش مثال : (Reduction)كاهش –

.جمع، مينيمم، ماكزيمم و مانند آنها به يك مقدار كاهش مي يابند

26

Page 24: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

14

PRAMرده بندي

•EREW PRAM : نوشتن/خواندن(دسترسي به سلول حافظه (.اين مدل محدوديت بسيار بااليي را فراهم مي كند. انحصاري است

•ERCW PRAM : چند پردازنده اجازه نوشتن همزمان روي يك.مكان از حافظه را دارند ولي دسترسي براي خواندن انحصاري است

•CREW PRAM : اجازه دسترسي همزمان خواندن داده مي شود.ولي نوشتن انحصاري است

•CRCW PRAM :دسترسي خواندن و نوشتن همزمان مجاز است.

ساير مدلها طراحي شود، روي EREWالگوريتمي كه براي ()قابل اجرا است، ولي عكس آن درست نيست

27

Page 25: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

1

شبكه اتصال دروني چند پردازنده هاMulti Processor 

Interconnection Network 

فصل سوم

1

شبكه هاي اتصالي براي كامپيوترهاي موازي

2

يك شبكه اتصالي مكانيزمي را براي انتقال داده ها بين گره •.هاي پردازشي و يا بين پردازنده ها و حافظه ها فراهم مي كند

.خروجي است mورودي و nهر شبكه اتصالي شامل • (switch)و يا از سويچ (link)شبكه هاي اتصالي يا از لينك •

.ساخته مي شونديك رسانه فيزيكي نوعأ از سيم يا كابلهاي فيبر نوري ساخته : لينك–

.مي شود

Page 26: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

2

انواع شبكه هاي اتصالي

3

شامل لينك هاي : (Direct)يا مستقيم (Static)شبكه ايستا •. نقطه بين گره هاي پردازشي است-به-ارتباطي نقطه

شامل : (Indirect)يا غير مستقيم (Dynamic)شبكه پويا •يك لينك به لينك ديگر . لينك هاي ارتباطي و سويچها است

بصورت پويا از طريق سويچ متصل شده و يك مسيري بين گره .هاي پردازشي و حافظه ها بنا نهاده مي شود

انواع شبكه هاي اتصالي

4

Page 27: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

3

سويچ در شبكه هاي اتصالي

5

.شامل پورت هاي ورودي و خروجي است•نگاشت پورت ورودي به پورت خروجي : حداقل عملكرد سويچ•

.استآن سويچ گفته (Degree)تعداد پورتهاي يك سويچ، درجه •

.مي شود: سويچها ممكن است برخي عمليات داخلي انجام دهند، شامل •

، )زمانيكه پورت خروجي درخواست شده اشغال باشد(بافرينگ و چندپخشي ) براي كاهش ازدحام در شبكه( مسيريابي

).خروجي يكسان روي چند پورت(

رابط شبكه در شبكه هاي اتصالي

6

.ارتباط بين گره ها با شبكه را فراهم مي كند•داراي پورت هاي ورودي و خروجي است كه داده ها را به درون •

.و بيرون شبكه هدايت مي كند: شامل وظائفي نظير•

(Packetizing data)بسته بندي داده ها –

آناليز اطالعات مسيريابي–بافر كردن داده هاي ورودي و خروجي براي همسان سازي سرعت –

.شبكه با گره هاي پردازشي.خطايابي–

Page 28: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

4

شبكه هاي اتصالي مبتني بر گذرگاهBus‐based IN

سيستمهاي تك گذرگاه•.هر پردازنده داراي كاشه خاص خود است–.پردازنده است 50تا 2اندازه اين سيستم ها بين –O(1)= براي سيستمهاي مبتني بر گذرگاه بر اساس تعداد گذرگاها است : پيچيدگي شبكه ايي–

O(N)= با ميزان تاخير ورودي به خروجي تعيين مي شود : پيچيدگي زماني–

7

شبكه هاي اتصالي مبتني بر گذرگاهBus‐based IN

سيستمهاي چند گذرگاه•.توسعه سيستمهاي تك گذرگاه است–از چندي گذرگاه موازي براي اتصال پردازنده ها و ماژولهاي حافظه استفاده مي –

.شود

8

Page 29: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

5

شبكه هاي اتصالي مبتني بر گذرگاهانواع سيستمهاي چند گذرگاه

• Multiple Bus with Full Bus‐Memory Connection (MBFBMC)– N=6   (Processors)

– M=4  (Memories)

– B=4   (Buses)

9

شبكه هاي اتصالي مبتني بر گذرگاهانواع سيستمهاي چند گذرگاه

• Multiple Bus with Single Bus‐Memory Connection (MBSBMC)– N=6   (Processors)

– M=4  (Memories)

– B=4   (Buses)

10

Page 30: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

6

شبكه هاي اتصالي مبتني بر گذرگاهانواع سيستمهاي چند گذرگاه

• Multiple Bus with Partial Bus‐Memory Connection (MBPBMC)– N=6   (Processors)

– M=4  (Memories)

– B=4   (Buses)

11

شبكه هاي اتصالي مبتني بر گذرگاهانواع سيستمهاي چند گذرگاه

• Multiple Bus with Class‐based Memory Connection (MBCBMC)

هر كالس از حافظه به زير مجموعه ايي از گذرگاه ها متصل هستند–.هر كالس داوري خاص خود را دارد–

12

Page 31: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

7

شبكه هاي اتصالي مبتني بر گذرگاهمشخصه هاي معماريهاي گذرگاه چندگانه

•K :تعداد كالسها•g :تعداد گذرگاه ها در هر كالس•Mj :حافظه در كالس تعداد ماژولهايj

13

شبكه هاي اتصالي مبتني بر گذرگاههمزمان سازي گذرگاه

:انواع گذرگاه•هر ديوايس براي . زمان براي هر انتقال مشخص است: (Synchronous)همزمان •

.پذيرش يا توليد اطالعات روي گذرگاه زمان مشخصي را داردمبتني بر وجود داده ها و آمادگي ديوايسها براي : (Asynchronous)غيرهمزمان •

.انتقال داده استنياز است، بطوريكه هر (bus arbitration)سيستمهاي تك گذرگاه يك داوري گذرگاه در•

اين عمل . پردازنده براي دسترسي به گذرگاه، درخواستي را به منطق داوري ارسال مي كند.صورت مي گيرد (bus contention)براي جلوگيري از مساله مجادله گذرگاه

نام دارد و توسط دو Handshakingپردازنده به منطق داوري و دريافت پاسخ، درخواست•: سيگنال انجام مي شود

•Bus request :درخواست دسترسي به گذرگاه.•Bus grant :عدم پذيرش درخواست. (پذيرش درخواست :Bus busy(

14

Page 32: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

8

15

شبكه هاي اتصالي مبتني بر گذرگاههمزمان سازي گذرگاه

شبكه هاي اتصالي مبتني بر گذرگاههمزمان سازي گذرگاه

:داوري انواع••Simple rotation priority : همه سطوح اولويت يك سطح كاهش پيدا مي

)مكانيزم ؟؟؟. (كنند تا اينكه پردازنده با اولويت پايين در اولويت باال قرار گيرد•Equal priority : وقتي دو يا چند درخواست صورت پذيرد، همه درخواستها

. است n/1براي هر پردازنده، شانس هر كدام . داراي شانس يكساني دارند)مكانيزم ؟؟؟(

•Least recently used‐LRU : اولويت باالتر براي پردازنده اي است كه در.زمان طوالني تر از گذرگاه استفاده نكرده است

16

Page 33: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

9

هاي اتصالي هاي مبتني بر سويچشبكهSwitch‐based IN

.ها و حافظه ها از طريق سويچ صورت مي گيرد ارتباط بين پردازنده•:نوع توپولوژي وجود دارد سه•

•Crossbar

•Single‐stage

•Multi‐stage

17

هاي اتصالي هاي مبتني بر سويچشبكهCrossbarشبكه هاي

.است Crossbar، مقابل گذرگاه نقطه•ارتباطات موازي را Crossbarفقط يك اتصال را برقرار مي كند، درحاليكه گذرگاه•

.بين همه وروديها و خروجي هايش برقرار مي كند

18

O(N^2): پيچيدگي شبكه از لحاظ تعداد سويچها O(1): تاخير ورودي به خروجيپيچيدگي شبكه از لحاظ

Crossbar يك شبكه غيربلوكه است.

Page 34: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

10

هاي اتصالي هاي مبتني بر سويچشبكهSingle‐stageشبكه هاي

.ها بين وروديها و خروجي ها قرار داردSEيك طبقه از •.است 2*2هاي SEها كه در اين شبكه استفاده مي شود، SEترين ساده•

19

براي ارتباط بين يك مبدا و يك مقصد داده ها •.بايستي چند بار شبكه را دور بزنند

هاي اتصالي هاي مبتني بر سويچشبكهSingle‐stageشبكه هاي

: دو عمل استفاده مي شود•Shuffle: 

Exchange: 

20

Nبرابر ) حافظه ها(و تعداد خروجي ها Nبرابر با ) پردازنده ها(اگر تعداد وروديها •.است N/2ها در يك طبقه برابر SEباشد، تعداد

ماكزيمم طول يك مسير از يك ورودي به يك خروجي در شبكه بر اساس تعداد •SEبا ها در طول مسير محاسبه مي شود و برابر استLogN

N=8براي Shuffle‐Exchangeطراحي شبكه : تمرين•

Page 35: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

11

هاي اتصالي هاي مبتني بر سويچشبكهSingle‐stageشبكه هاي

باشد، و مقصد (000)ورودي، اگر مبدا 8با Shuffle‐Exchangeدر يك :مثال•و چرخش داده ها بصورت زير Shuffle‐Exchangeباشد، آنگاه دنباله (110):است

21

O(N): پيچيدگي شبكه O(N): پيچيدگي زماني

هاي اتصالي هاي مبتني بر سويچشبكهSingle‐stageشبكه هاي

:(Cube network)شبكه مكعب •:الگوي اتصالي براي شبكه مكعب بصورت زير است•

22

:داريم (N=8)بيتي 3مثال براي يك آدرس •

C0:

C1:

C2:

Page 36: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

12

هاي اتصالي هاي مبتني بر سويچشبكهSingle‐stageشبكه هاي

شبكه•:تابع ارتباطي است 2Kشامل ••K=LogN

: داريم N=8براي حالت : مثال•

23

هاي اتصالي هاي مبتني بر سويچشبكهSingle‐stageشبكه هاي

Butterflyشبكه •

:بصورت زير است Butterflyالگوي اتصالي براي شبكه •

24

Page 37: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

13

هاي اتصالي هاي مبتني بر سويچشبكهMulti‐Stage-(MN)شبكه هاي

فراهم كردن چندين مسير همزمان بين پردازنده ها و حافظه ها• self)ها مسيريابي بين مبدأ و مقصد بر اساس آدرس مقصد انجام مي شود MNدر •

routing)

Log(N): ، تعداد طبقاتN*N MNدر يك •

Log(N): ، تعداد بيتهاي آدرس مقصدN*N MNدر يك •

.آدرس مقصد و تعداد طبقات از چپ به راست پيمايش مي شود•ام به خروجي باالي آن وصل iباشد، آنگاه ورودي سويچ در طبقه 0ام برابر iاگر بيت •

.مي شودام به خروجي پايين آن وصل iباشد، آنگاه ورودي سويچ در طبقه 1ام برابر iاگر بيت •

.مي شود

25

هاي اتصالي هاي مبتني بر سويچشبكهShuffle‐Exchangeشبكه

26

Page 38: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

14

سويچهاي اتصالي هاي مبتني بر شبكهشبكه بانيان

N/2: ها در هر طبقهSEتعداد : N*N Banyanدر •

Log(N): تعداد طبقه ها: N*N Banyanدر •

O(Nlog(N)) :هاSEپيچيدگي شبكه اي به ازاي تعداد كل •

:ها موجود در مسير بين مبدأ و مقصدSEپيچيدگي زماني به ازاي تعداد •O(log(N))

مسيريابي؟•

27

هاي اتصالي هاي مبتني بر سويچشبكهامگاشبكه

مسيريابي؟•

28

Page 39: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

15

هاي اتصالي هاي مبتني بر سويچشبكه(Benes)شبكه آرايش پذير بنز

اين امكان براي آرايش مجدد اتصاالت از قبل ايجاد شده وجود دارد تا امكان ايجاد •.اتصاالت جديد و همزمان وجود داشته باشد

:Benesشبكه آرايش پذير •:نحوه ايجاد اتصال•

29

S1 δ1 S2 δ2 δs-1 Ss

•Si : سويچهاي طبقهiام•δi : اتصاالت بين مرحلهi وi+1•S : تعداد طبقات وS≥3•ni :خروجي هر سويچ در طبقه /تعداد وروديi ام

i=1,2,…, (s+1)/2به ازاي •N :تعداد كل وروديهاي شبكه :ni≥2

Nn

s

ii

)2

1(

1

هاي اتصالي هاي مبتني بر سويچشبكه(Benes)بنز پذيرآرايش شبكه

i=1,2,3: باشد s=5و N=8اگر : مثال•

تركيب دوم درست نيست•

30

4,2,1

2,2,228

321

321)3(

1 nnnnnn

nn ii

i

:شرايط الزم براي شبكه آرايش پذير•: شرط متقارن•

. معكوس اتصال است:

21,...,3,2,11

siisi

21,...,3,2,11

siss isi1is

1is

Page 40: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

16

هاي اتصالي هاي مبتني بر سويچشبكه(Benes)بنز پذير آرايش شبكه

i ≥1. نحوه اتصال نيمي از شبكه كافي است• ≤(s‐1)/2: N=8و s=5براي : مثال•

31

2321 nnn

هاي اتصالي هاي مبتني بر سويچشبكه(clos)شبكه غير بلوكه كالز

.باشد m≥n، آرايش پذير است اگر Clos ،(m , n , r)شبكه •r=4 ،n=3 ،m=3: مثال•

32

Page 41: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

17

شبكه هاي ايستا.اتصاالت ثابت يكطرفه يا دوطرفه بين پردازنده ها و حافظه ها•:انواع شبكه هاي ايستا•

•Completely Connected Networks‐CCN

•Limited Connected Networks‐LCN

33

شبكه هاي ايستاشبكه با اتصال كامل

Completely Connected Networks-CCN.هر گره به كليه گره هاي ديگر در شبكه متصل است•:مزايا•

).فقط يك لينك بايد پيمايش شود(سرعت باالي انتقاالت •.مسيريابي ساده است•

:معايب•: تعداد اتصاالت O(N^2): هزينه اتصاالت باال است•

N :تعداد گره هاO(N^2): پيچيدگي شبكه•

O(1): پيچيدگي زماني•

34

2)1( NN

Page 42: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

18

ايستاشبكه هاي محدودبا اتصال شبكه

Limited Connected Networks-LCN.يك لينك مستقيم بين هر جفت گره وجود ندارد•.مسيريابي بين دو گره از طريق گره هاي ديگر صورت مي گيرد•طول يك مسير بين دو گره برابر تعداد لينك هايي است كه پيمايش مي •

.شوند:ها وجود داردLCNدو نيازمندي در •

نياز به يك الگوي ارتباطي بين گره ها•.نياز به يك مكانيزم براي مسيريابي پيامها در شبكه•

:الگوهاي ارتباطي••Linear arrays

•Ring (Loop) networks

•Two Dimensional arrays (Mesh)

•Tree networks

•Cube networks35

ايستاشبكه هاي (Linear Array)شبكه آرايه خطي

بجز گره هاي ابتدايي و (هر گره به دو گره مجاورش متصل است •).انتهايي

، پيام بايد گره هايj ،(j>i)و iبراي ارتباط بين گره •: ، داريم(i>j)براي . را پيمايش كند

.گره بايد پيمايش شود N‐1است كه Nبا 1بدترين حالت، ارتباط گره •.پياده سازي و مسيريابي ساده است: مزايا•.شبكه كند است: معايب•O(N): پيچيدگي شبكه•

O(N): پيچيدگي زماني•

36

Page 43: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

19

شبكه هاي ايستا(Ring) حلقويشبكه

Ring، شبكه Linear arrayبا اتصال گره ابتدايي و انتهايي شبكه •.شكل مي گيرد

37

شبكه هاي ايستا(Tree)درختي شبكه

، پيام بايد گره هاي (i>j)ام، jام با گره سطح iبراي ارتباط بين گره •. سطوح را پيمايش كند

:سطح Kتعداد پردازنده ها در يك شبكه با •

: عمق درخت•: پيچيدگي شبكه•: پيچيدگي زماني•

38

N2log

)2( KO)(log2

NO

Page 44: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

20

39

شبکه هاي مبتني بر درخت•

(a)شبکه درخت ايستا –

(b)شبکه درخت پويا –

© fat treeشبکه هاي –

شبكه هاي ايستا(Tree)درختي شبكه

40

شبکه هاي مکعب چند بعدي•

شبكه هاي ايستا(Cube)مكعب شبكه

Page 45: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

21

شبكه هاي ايستا(Cube)مكعب شبكه

.برچسب خورده اند 1‐(n^2)تا 0رأس كه از n^2يگ گراف بدون جهت با •.آدرس هر گره با گره مجاورش فقط در يك بيت تفاوت دارند•

41

شبكه هاي ايستا(Cube)شبكه مكعب

در يك سيستم چند پردازنده اي مبتني بر مكعب، عناصر پردازنده در رأس •.يالها اتصال بين پردازنده ها را نشان مي دهد. گراف قرار دارند

.پردازنده ديگر متصل است nبه n‐Cubeهر پردازنده در يك •:n‐Cubeمسيريابي در •

نشان XORدر نتيجه 1كردن آدرس مبدأ با مقصد، مقدار XORبا • 1دهنده اينست كه پيام بايد لينك قرار گرفته در بعد متناظر با موقعيت

.را پيمايش كند

42

Page 46: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

22

:Cube‐4در يك (1011)و مقصد (0101)مسيريابي بين مبدأ : مثال•

. ترتيب پيمايش مهم نيست. پيمايش شوند Cube‐4در 4و 3، 2پس بايد ابعاد •:مسير وجود دارد 3بنابراين

43

شبكه هاي ايستا(Cube)شبكه مكعب

امiبعد : Kiتعداد ابعاد و : nجاييكه •.مجاورش متصل است (i±1, j±1, k±1)به گره هاي (i, j, k)گره •.مي شود Torusنتيجه در شبكه wrap aroundبا اتصاالت Meshمعماري •:Meshمكانيزمهاي مسيريابي در •

•Dimension‐ordering routing : پيام در يك مرتبه يك بعد را پيمايش.مي كند تا به مختصات خاصي برسد قبل از اينكه بعد بعدي را پيمايش كند

به (000)مسيريابي از مبدأ : مثال•:(211)مقصد

44

110 ... nKKKMeshnD

شبكه هاي ايستا(Mesh)مش شبكه

Page 47: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

1

الگوريتم هاي بردارها و ماتريس ها

چهارمفصل

1

EREW PRAMشبيه سازي دسترسي چندگانه روي يك

ساير مدلها قابل طراحي شود، روي EREWالگوريتمي كه براي •.اجرا است، ولي عكس آن درست نيست

در يك زمان مورد نياز تمامي Xفرض شود مكان حافظه •.باشد PRAMپردازنده ها در

تمامي پردازنده ها مي توانند در CRCW/CREW PRAMدر مدل –.زمان ثابتي خواندن همروند انجام دهند

همگاني -بايد مكانيزم پخش EREW PRAMدر مدل –(Broadcasting) دنبال شود.

2

Page 48: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

2

EREW PRAMهمگاني روي مدل -پخش

•P1 مقدارX را مي خواند و آنرا بهP2 مي شناساند.•P1 وP2 ،X را به ترتيب بهP3 وP4 بصورت موازي نشان مي

.دهند•P1 ،P2 ،P3 وP4 بصورت موازيX را بترتيب بهP5 ،P6 ،

P7 وP8 نشان مي دهند.را براي هشت پردازنده ديگر مشخص مي Xاين هشت پردازنده •

...كنند و الي آخر

3

EREW PRAMهمگاني روي مدل -مثالي از پخش

P=8 براي• طول به L آرايه•

فضاي بعنوان 8 حافظه در كاري

براي مشترك X مقدار توزيع

تمامي به ها پردازنده مي استفاده

.شود

4

Page 49: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

3

تحليل الگوريتم هاي موازي بر را الگوريتم اجرا زمان كه است تابعي :الگوريتم پيچيدگي•

.دهد مي )الگوريتم هاي ورودي تعداد( n حسب:موازي هاي الگوريتم پيچيدگي گيري اندازه معيارهاي•

زمان( است الگوريتم اجراي طي شده سپري زمان اجرا، زمان–.)پردازنده آخرين اجراي پايان تا پردازنده اولين اجراي

.گيرد مي بكار مساله حل براي الگوريتم كه ها پردازنده تعداد– پردازنده تعداد در اجرا زمان حاصلضرب كه موازي الگوريتم هزينه–

.است ها

5

قوانين طراحي الگوريتمهاي موازي.شود محدود مساله اندازه با بايد ها پردازنده تعداد• اجراي زمان كمترين از توجهي قابل اندازه به بايد اجرا زمان•

.باشد كمتر متوالي الگوريتم بهترين

6

Page 50: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

4

محاسبه جمع و همه جمع هاn (A[1..n]) طول به آرايه يك عناصر جمع حاصل محاسبه•

EREW مدل از استفاده•

جمع انجام و دودويي درخت يك برگهاي در اعداد دادن قرار•.موازي بطور درخت سطح هر در

.پردازنده n/2 از استفاده•.گرفت خواهد قرار A[n] در جمع حاصل• الگوريتم اجراي زمان :باشد 2 از تواني n شود فرض•

O(logn) بود خواهد.7

الگوريتم جمع آرايه اي از اعداد

8

Page 51: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

5

الگوريتم جمع آرايه اي از اعداد

9

تحليل پيچيدگي الگوريتم جمع آرايه اي از اعداد

for، log حلقه چراكه است T(n)=O(logn) :اجرا زمان• n .شود مي اجرا با

P(n)=n/2 :ها پردازنده تعداد•

C(n)=O(nlogn) :هزينه•

حاصلجمع تواند مي مناسب متوالي الگوريتم يك اينكه به توجه با• بهينه فوق الگوريتم => كند محاسبه O(n) در را اعداد از ليستي.نيست

10

Page 52: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

6

معايب الگوريتم قبل

.نيست بهينه :C(n)=O(nlogn) :هزينه•.هستند بيكار ها پردازنده اغلب•.هستند فعال پردازنده n/(2^i) تنها ام،i تكرار طي در•

11

1-3پروژه

12

با الگوريتم فوق با استفاده از نخها در Aعنصري 16محاسبه بردار –C++ ياJAVA

. مي باشد PEهر نخ مبين يك : توجه–

Page 53: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

7

الگوريتم ضرب ماتريس

n*n ماتريس دو ضرب•

•A[1..n, 1..n] و B[1..n,1..n] •n است 2 از تواني. .شود مي استفاده CREW مدل از• پردازنده n^3 از استفاده•رايه يک در ها پردازنده•

(i,j,k) شاخص داراي P(i,j,k) .اند شده مرتب بعدي-سه ا

.استرايه يک•

کاري فضاي بعنوان و است شده ذخيره مشترک حافظه در C[i,j,k] بعدي-سه ا .شد خواهد ذخيره i,j≤n≥1 که C[i,j,n] مکانهاي در حاصله ماتريس .است

13

مراحل الگوريتم ضرب ماتريس

:اول مرحله• .دهد مي انجام را ضرب عمل n^3 پردازنده، n^3 تمامي• .شود مي محاسبه حاصلضرب n المان، n^2 هر براي خروجي، ماتريس در• در و کرده محاسبه را A[i,k]*B[k,j] حاصلضرب P(i,j,k) پردازنده•

C[i,j,k] دهد مي قرار. :دوم مراحل•

•N نتيجه توليد براي خروجي، ماتريس المان هر براي شده محاسبه حاضرب .شوند مي جمع سلول، اين نهايــي

براي موازي طور به بار n^2 بعد، k در Sum‐EREW الگوريتم ايده• (i,j≤n≥1) شود مي گرفته بکار C[i,j,n] محاسبه

14

Page 54: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

8

شبه کد الگوريتم ضرب ماتريس

15

مرحله اول الگوريتم ضرب ماتريس

16

Page 55: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

9

مرحله اول الگوريتم ضرب ماتريس

17

پيچيدگي الگوريتم ضرب ماتريس

T(n)=O(logn) :اجرا زمان•

P(n)=n^3 :ها پردازنده تعداد•

C(n)=O(n^3 :هزينه• logn)

است؟ بهينه هزينه•

18

Page 56: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

10

کاهش تعداد پردازنده ها در الگوريتم ضرب ماتريس

.هستند مشغول ها پردازنده کليه اول مرحله در• .دهند نمي انجام جمع عمل ها پردازنده تمامي دوم مرحله در•

•Log n اول تکرار در .دارد وجود تکرار (n^3)/2 تکرار در فعالند، پردازنده که کرد استفاده ماشيني از توان مي => فعالند پردازنده 4/(n^3) دوم

(n^3)/log n دارد پردازنده. :روش•

≥1 که P(i,j,k) پردازنده• k ≤n/logn ،مجموع است log n جزئي جمع logn/(n^3) مرحله اين .کند مي محاسبه را جاصلضرب

.کند مي توليد ماتريس تا شده جمع هم با اول مرحله در شده توليد حاصلضربهاي مجموع•

يد بدست حاصله .ا

19

2-3پروژه

20

JAVAيا ++Cبا الگوريتم فوق با استفاده از نخها در 4*4محاسبه ضرب دو ماتريس –

. مي باشد PEهر نخ مبين يک : توجه–

Page 57: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

11

پيچيدگي الگوريتم ضرب ماتريس کاهش يافته

T(n)=O(logn) :اجرا زمان•

=P(n) :ها پردازنده تعداد• (n^3)/log n

C(n)=O(n^3) :هزينه•

است؟ بهينه هزينه•

21

Page 58: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

1

الگوريتم هاي مرتب سازي

پنجمفصل

موضوعات مرتب سازي روي كامپيوترهاي موازي

خروجي و ورودي هاي دنباله ترتيبي، سازي مرتب هاي الگوريتم در•.شوند مي ذخيره فرايند حافظه در

وجود ها دنباله سازي ذخيره براي مكان دو موازي هاي الگوريتم در•:دارد

.شوند ذخيره فقط فرايندها از يكي در•.شوند توزيع فرايندها بين• شده توزيع فرايندها روي خروجي دنباله عناصر كه شود مي فرض•

Pi در شده ذخيره عنصر آنگاه باشد، Pj از قبل Pi اگر بعبارتي است،.است Pj از كوچگتر

2

Page 59: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

2

چگونگي انجام مقايسه در الگوريتم هاي موازي

: عنصر يك فرايند هر ازاي به•

3

چگونگي انجام مقايسه در الگوريتم هاي موازي

: عنصر يك از بيش فرايند هر ازاي به•

4

Page 60: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

3

شبكه هاي مرتب سازي.است (comparator) گر مقايسه سازي، مرتب هاي شبكه اصلي جزء•

5

شبكه هاي مرتب سازي

6

Page 61: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

4

BITONICمرتب سازي

•n زماني مرتبه با عنصر O((log n)^2) شوند مي مرتب. عناصر از است ايي دنباله يك :Bitonic دنباله• يا كه خصوصيت اين با بطوريكه دارد؛ وجود i انديس يك )1(

يكنواخت بطور و صعودي يكنواخت بطوريا هستند، مرتب نزولي

.باشد )1( دنباله روي چرخشي شيفت )2(,1> )1( :مثال• 2, 4,7, 6, 0>

,8> )2( :مثال• 9, 2, 1, 0, چرخشي شيفت زيرا ، <4 <0, 4, 8, 9, 2, .است <1

7

110 ...,,, naaa

10 ni iaaa ...,,, 10

1211 ...,,, ni aaa

BITONICمرتب سازي

:بنابراين .باشد Bitonic دنباله يك شود فرض•

:هستند زير بصورت S هاي زيردنباله•

عناصر بطوريكه دارد وجود عنصر ،S1 زيردنباله در• مي نزولي بخش از آن از بعد عناصر و صعودي بخش زيردنباله از bi از قبل.باشد

عناصر بطوريكه دارد وجود عنصر ،S2 زيردنباله در• مي صعودي بخش از آن از بعد عناصر ونزولي بخش زيردنباله از ’bi از قبل.باشد

.هستند Bitonic هاي دنباله نوع از S2 و S1 هاي زيردنباله بنابراين••bi عناصر همه بزرگترمساوي S1 و bi’ عناصر همه مساوي كوچكتر S2 و است

.bi از است مساوي بزرگتر8

112/2/12/10 ...... nnnn aaaandaaa 110 ...,,, naaaS

},min{ 2/ inii aab

},max{ 2/ inii aab

Page 62: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

5

BITONICمرتب سازي

9

BITONICمرتب سازي

10

Page 63: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

6

BITONICمرتب سازي

11

BITONICمرتب سازي

12

Slide 10

Page 64: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

7

Hypercubeروي شبكه Bitonicنگاشت مرتب سازي

13

Hypercubeروي شبكه Bitonicنگاشت مرتب سازي

14

Page 65: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

8

Meshروي شبكه Bitonicنگاشت مرتب سازي

15

Meshروي شبكه Bitonicنگاشت مرتب سازي

16

Page 66: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

9

1-4پروژه

17

شبيه سازي شبكه مش و مكعب و پياده سازي الگوريتم هاي مرتب –JAVAيا ++Cسازي فوق با استفاده از نخها در

. مي باشد PEهر نخ مبين يك : توجه–

مرتب سازي حبابي Bubble Sort

ترتيبي الگوريتم•

18

Page 67: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

10

مرتب سازي حبابي Bubble Sort•حبابي سازي مرتب سازي موازي

Odd‐Even) فرد-زوج جابجايي• Transposition)

19

مرتب سازي حبابي Bubble Sort

حبابي سازي مرتب سازي موازي•فرد-زوج جابجايي سازي موازي••N اند كرده ذخيره را دنباله از عنصر يك كدام هر كه پردازنده تا.

20

Page 68: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

11

2-4پروژه

21

شبيه سازي و پياده سازي الگوريتم هاي مرتب سازي فوق با استفاده –JAVAيا ++Cاز نخها در

. مي باشد PEهر نخ مبين يك : توجه–

مرتب سازي سريعQuick Sort

22

Page 69: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

12

مرتب سازي سريعQuick Sort

CRCW يك براي QuickSort سازي موازي• PRAM

.است شده استفاده همزمان نوشتن براي (arbitrary) اختياري رويه از•.شود مي استفاده QuickSort موازي اجراي نمايش براي دودويي درخت يك از• در آن از بزرگتر عناصر و چپ درخت زير در آن از كوچكتر عناصر و ريشه در محور•

شده مرتب دنباله درخت، روي inorder پيمايش ا.دارند قرار آن راست زيردرخت.آيد مي بدست

23

مرتب سازي سريعQuick Sort

CRCW يك براي QuickSort سازي موازي• PRAM

24

Page 70: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

13

مرتب سازي سريعQuick Sort

25

مرتب سازي سريعQuick Sort

مشترك آدرس فضاي روي QuickSort سازي موازي• و شود مي شامل را A عنصري n آرايه از عنصر n/p بالك p فرايند هر•

.دهند مي نشان را شده مرتب دنباله سراسري ترتيب فرايندها برچسب محض به Pi هر .شود مي ارسال فرايندها همه به و تعيين محور ابتدا•

بالك مقادير .دهد مي آرايش بالك زير دو به را خود بالك محور، دريافت بزرگتر محور از راست سمت بالك مقادير و كوچكتر محور از چپ سمت

.هستند.شود مي اعمال فوق مراحل بازگشتي بصورت شده ايجاد زيربالك هر براي•

26

Page 71: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

14

مرتب سازي سريعQuick Sort

QuickSort سازي موازي•مشترك آدرس فضاي روي

27

3-4پروژه

28

شبيه سازي و پياده سازي الگوريتم هاي مرتب سازي فوق با استفاده –JAVAيا ++Cاز نخها در

. مي باشد PEهر نخ مبين يك : توجه–

Page 72: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

15

شمارشيبر ايده مرتب سازي مبتني

تعداد محاسبه با را شده مرتب ليست در ai عنصر هر مكان•.كند مي تعيين آن از كوچكتر عناصر

برابر ai مكان باشد، داشته وجود ai از كوچكتر عنصر Ci اگر•.است شده مرتب ليست در عنصر امين(Ci+1) با است

.شود مي گرفته نظر در بزرگتر ai باشد، i>j و باشد، ai=aj اگر•CREW مدل از• PRAM با n^2 شود مي استفاده پردازنده.•n^2 در پردازنده n رديف هر كه رديف n مي مرتب دارد، عنصر

P(i,j) :ها پردازنده گذاري شماره.شوند

29

مراحل الگوريتم مرتب سازي شمارشي محاسبه باشد، مي A[i] از كوچكتر عناصر تعداد كه را C[i] ها، پردازنده از i رديف هر•

.كند مي بهنگام را C[i] و مقايسه A[j] با را P(i,j)، A[i] پردازنده .كند مي قرار شده مرتب ليست در مناسبش مكان در را P(i,1)، A[i] رديف در پردازنده اولين•

C[i]+1 :دهد مي

30

Page 73: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

16

مثالي از الگوريتم مرتب سازي شمارشي

رايه 31 .پردازنده براي مرتب سازي نياز است 9به . کنيم را مرتب A={6,3,1}ميخواهيم ا

پيچيدگي الگوريتم مرتب سازي شمارشي

T(n)=O(n) :اجرا زمان•

P(n)=n^2 :ها پردازنده تعداد•

C(n)=O(n^3) :هزينه•

است؟ بهينه هزينه•

32

Page 74: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

17

4-4پروژه

33

با الگوريتم مرتب سازي مبتني بر Aعنصري 16مرتب سازي بردار –JAVAيا ++Cشمارشي با استفاده از نخها در

. مي باشد PEهر نخ مبين يك : توجه–

اجراي الگوريتم هاي مرتب سازي روي شبكه مش

34

n*mشبكه مش –

:پيچيدگي––Tr : زمان مسيريابي براي انتقال يك داده از يكPE به يكي از

PEهاي همسايه.–Tc : زمان مقايسه در هر يك از گامهاN=n^2) مقايسه همزمان اجرا

Page 75: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

18

شماهاي مختلف شاخص مرتب سازي (Sorting Indexing Schemes)

35

Batchers odd-even sortالگوريتم

36

: مثال•

Page 76: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

19

Batchers odd-even sortالگوريتم

37

با استفاده از (روي يك آرايه خطي Shuffleنحوه انجام يك •): يك رشته از عمليات جابجايي

: تمرين• 2و همچنين ادغام زيردنباله ها به طول Unshuffleنحوه انجام –

روي آرايه خطي؟

Batcherبر اساس روش Kung & Thompsonالگوريتم مرتب سازي

38

•M(j, k) يك الگوريتم مرتب سازي براي مرتب كردن دو زير آرايهj.k/2 )j وk هستند و 2هر دو تواني ازk>1.(

.است Snake like row‐majorالگوريتم بصورت •.تنها يك مقايسه و جابجايي كافي است M(1, 2)در حالت خاص، • M(j, 2)الگوريتم : (j≥2)اگر دو ستون مرتب شده داشته باشيم •

:شامل گامهايرديفهاي فرد خود را به ستون سمت چپ و تمام رديفهاي زوج را به تمام1.

).2Tk= زمان(ستون راست انتقال دهيد با استفاده از مرتب سازي جايجايي زوج و فرد، هر ستون مرتب شود 2.

).2jTk+jTc= زمان().2Tk= زمان(جابجايي در سطرهاي زوج انجام شود 3.

Page 77: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

20

Batcherبر اساس روش Kung & Thompsonالگوريتم مرتب سازي

39

Batcherبر اساس روش Kung & Thompsonالگوريتم مرتب سازي

40

.k>2و j>2براي M(j, k)اجراي الگوريتم مرتب سازي •. است، تنها يك گام جابجايي روي سطرهاي زوج انجام بده j>2اگر 1.

).2Tk= زمان(باشد، ستونها قبال جدا شده اند j=2اگر ).Tk.(k‐1)= زمان(صورت گيرد Unshuffleبراي هر سطر 2. ,T(j= زمان(روي هر نيمه آرايه M(j, k/2)عمل ادغام با خواندن 3.

k/2) .().Tk.(k‐2)= زمان(صورت گيرد Shuffleبراي هر سطر 4.).Tk.(k‐2)= زمان(در سطرهاي زوج جابجايي انجام بده 5.= زمان) (هر زوج با فرد بعدي(مقايسه و جابجايي المانهاي مجاور هم 6.

4(Tk+Tc).(

Page 78: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

21

Batcherبر اساس روش Kung & Thompsonالگوريتم مرتب سازي

41

Batcherبر اساس روش Kung & Thompsonالگوريتم مرتب سازي

42

Page 79: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

22

5-4پروژه

43

شبيه سازي شبكه مش و پياده سازي الگوريتم هاي مرتب سازي –JAVAيا ++Cفوق با استفاده از نخها در

. مي باشد PEهر نخ مبين يك : توجه–

Page 80: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

1

الگوريتم جمع چند جمله ايي

ششمفصل

1

شبکه هاي ايستا

2

:Shuffle‐Exchangeشبکه –

:توابع•

•Shuffle مشابه با بر زدن کارتها است(Card Shuffling):

Page 81: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

2

شبکه هاي ايستا

3

:Shuffle‐Exchangeشبکه •

:محاسبه چند جمله اي: مثال• ).m=1يا m=0(و همچنين بيت ماسک X، متغير (ai)هر پردازنده داراي ثبات ضريب – .جراي عمليات در دو فازا– .iفاز اول محاسبه در هر گره – .فاز دوم جمع همه ترم ها براي محاسبه نتيجه نهايــي–

012

21

1 ... aXaXaXa NN

NN

ii Xa

شبکه هاي ايستا

4

:عمليات فاز اول• . ضريب در متغير ضرب مي شود– .فقط متغير در خودش ضرب مي شود: باشد m=0اگر . متغير در خودش ضرب مي شود– .متغير در خودش و در ضريب ضرب مي شود: باشد m=1اگر . مي شود Shuffleبيتهاي ماسک –

Page 82: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

3

شبکه هاي ايستا

5

Shuffle & Exchangeجمع با استفاده از : عمليات فاز دوم•

2-2پروژه

6

JAVAيا ++Cمحاسبه يک چند جمله اي با الگوريتم فوق با استفاده از نخها در –

. مي باشد PEهر نخ مبين يک : توجه–

Page 83: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

1

پردازش شبكه اي

هفتمفصل

1

ايده اصلي در اين فصل

بررسي پردازش شبكه اي•كامپيوتر هاي مستقل كه از طريق سويچ، شبكه هاي محلي يا : گره–

.اينترنت با هم در ارتباطندتقسيم عمليات به بخشهاي نيمه مستقل مطابق با نوع پردازش : ايده–

.مورد نياز

2

Page 84: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

2

مباني شبكه هاي كامپيوتري

:انواع شبكه از لحاظ وسعت جغرافياي•–Wide Area Network‐WAN :در سطح كشور، قاره–Metropolitan Area Network‐MAN :در سطح يك شهر–Local Area Network‐LAN :در سطح يك ساختمان، اتاق، دانشكده...–System or Storage Area Network‐SAN : اتصال چند كامپيوتر با

.ادوات حافظه و تشكيل يك سيستم واحد:طرح هاي مسيردهي•

پيام يك مسير را از مبدأ تا مقصد طي مي كند و تنها بسته اول : اتصال گرا–.حاوي اطالعات مسير و آدرس مقصد است

پس سرايند . يك پيام ممكن است مسيرهاي مختلفي را طي كند: بدون اتصال–با توجه به اينكه ممكن است بسته ها به . هر بسته شامل اطالعات مسير است

.ترتيب بخ مقصد نرسند، هر بسته يك شماره سريال نيز دارد

3

مباني شبكه هاي كامپيوتري

:كارايي شبكه•جرج گيلدر پيش بيني كرد كه كل پهناي باند : (Gilder’s law)قانون گيلدر –

.برابر مي شود 3ماه 12ارتباطي سيستمها هر Matcalfe’s)قانون مت كالف – law) : رابرت مت كالف پيش بيني كرد كه

.ارزش يك شبكه با مجذور تعداد گره هاي آن متناسب است:نتيجه گيري•

.طبق قانون گيلدر، افزايش سرعت شبكه نسبت به توان پردازشي سريعتر است–رسيده 10Gbpsبه 10Mbpsاز LANسال گذشته سرعت فناوري 15مثأل در طول •

به 2.5MHzاز CPUدرحاليكه فركانس پالس ساعت . است 10000يعني ضريب افزايش 2.5GHz است100رسيده يعني ضريب افزايش.

با گسترش يك شبكه، . قانون مت گالف مبين گسترش روزافزون اينترنت است–.ارزش اتصال به آن رشد نمايي دارد

4

Page 85: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

3

فناوري شبكه هاي كامپيوتريو قابل استفاده 100Mbpsاترنت سريع داراي سرعت : اترنت سريع و گيگابيت اترنت•

و تقاضاي پهناي باند باالتر براي توسعه اترنت منجر به فناوري LANدر شبكه هاي .شده است 1Gbpsاترنت با سرعت

•Fiber Distributed Data Interface‐FDDI : معرف يكLAN با سرعت100Mbps مبتني برToken Ring اين فن آوري . و واسط فيزيكي فيبرنوري است

.استفاده مي شود backboneبيشتر بعنوان • High Performance Parallel Interface‐HiPPI : يك كانال ارتباطي نقطه به

است 800Mbpsخط موازي قادر به انتقال داده با نرخ 32نقطه است و با استفاده از .كار مي كند  1.6Gbpsخط موازي با نرخ 64و با

•Asynchronous Transfer Mode‐ATM : مبتني بر اتصال گرا است كه برايLAN وWAN مناسب است و سلولها را با استفاده از واسطهاي مسي و فيبر نوري

قادر به انتقال داده ها با نرخي برابر ATMسريعترين سخت افزارهاي . انتقال مي دهد1Gbps هستند.

•Scalable Coherence Interface‐SCI : يك استانداردIEEE است و يك معمارينقطه به نقطه است كه حافظه كاشه آن مبتني بر دايركتوري است و نماينده يك

.سيستم خوسه اي حافظه مشترك است

5

فناوري شبكه هاي كامپيوتري

6

Page 86: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

4

سرور/سيستم كالينت

7

:يك سيستم توزيع شده است كه در آن عمليات به دوبخش تقسيم مي شود•.يك بخش توسط يك يا چند سرور اجرا مي شوند و بخش ديگر توسط كالينت ها–

:سرور/طبقه بندي سيستمهاي كالينت•.همه كالينت ها در يك رديف و همه سرورها در رديف ديگر: (Two tier)دو رديفه –سرورها به دو گروه جداگانه تقسيم مي شوند و د دو رديف قرار مي : (Three tier)سه رديفه –

مثأل كالينت ها به يك وب سرور متصل مي شوند كه وب . كالينت ها نيز در رديف سوم. گيرند.سرور خود به يك سرور بانك اطالعاتي متصل است

:نخي روش خوبي براي بهره وري از قابليت هاي عملياتي سرور است-فرايند چند–

سرور/سيستم كالينت(Sockets)سوكت ها

8

براي برقراري ارتباط بين يك عمليات در حال اجرا بر روي يك ماشين با •.عمليات ديگر در حال اجرا بر روي ماشين ديگر بكار مي رود

يك ساختمان داده است كه اطالعات مورد نياز براي برقراري ارتباط را نگه •.مي دارد و همچنين داراي درخواستهاي سيستم براي تغيير ساختار سوكت

:انواع سوكت•.براي آغاز يك اتصال بكار مي رود: (active socket)فعال –براي انتظار يك اتصال در پيش رو بكار مي : (passive socket)سوكت غير فعال –

.رود.سوكتهاي كالينت از نوع فعال و سوكتهاي سرور از نوع غيرفعال هستند•.براي برقراري ارتباط بايد يك پورت تعريف شود•

Page 87: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

5

سرور /سيستم كالينت(Sockets)سوكت ها

9

.اتصال يك سوكت در شكل زير نشان داده شده است•پس از اتصال، كالينت و سرور مي توانند با استفاده از جريانهاي •

.داده ورودي و خروجي به خواندن از يا نوشتن در سوكت بپردازند

سرور /سيستم كالينتJAVAسوكت نويسي در

10

:اعالن سوكت در كالينت•

–Hostname :نام سروري است كه اتصال با برقرار مي شود.–Portnumber :شماره پورت در طرف سرور مي باشد.

:اعالن سوكت در سرور•

پس از اتصال، كالينت و سرور با استفاده از جريانهاي ورودي و خروجي –: مي توانند از سوكت بخوانند يا در آن بنويسند

Page 88: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

6

سرور /سيستم كالينتJAVAسوكت نويسي در

11

:مراحلي كه در كالينت انجام مي شود•.كالينت سعي در برقراري ارتباط با سرور مي كند1.وقتي كه ارتباط برقرار شد، كالينت يك رشته از سرور دريافت مي 2.

.كند:كالينت رشته دريافتي را نمايش مي دهد3.

سرور /سيستم كالينتJAVAسوكت نويسي در

12

:مراحلي كه در سرورانجام مي شود•.سرور منتظر دريافت اتصال از يك كالينت است1..وقتي كه اتصال برقرار شد، سرور رشته اي را به كالينت ارسال مي كند2.:سرور به ارتباط خاتمه مي دهد3.

Page 89: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

7

سرور /سيستم كالينت (Remote Procedure Call‐RPC)فراخواني روال از راه دور

13

.سرور است/مبناي اكثر سيستم هاي كالينت•يك كامپيوتر روالي را كه در كامپيوتر ديگر قرار دارد با ارسال •

روال پس از اجرا، . پارامترهايي از طريق شبكه، فراخواني مي كند.نتايج را به فراخوان كننده ارسال مي كند

•PRC لذا مي توان از . مي تواند در باالي سوكت ايجاد شودسوكت براي ارسال پارامترها و نام روالي كه بايد روي كامپيوتر

.دور فعال شود، استفاده كرد:RPCانواع •

روند اجراي برنامه اي كه فراخواني را انجام مي دهد تا : قفل شونده–.زمان دريافت پاسخ متوقف مي شود

اجازه مي دهد كه برنامه فراخوان كننده بدون منتظر بودن : ضد قفل–يابد ادامه پاسخ، را.براي پاسخ تواند مي كننده فراخوان حالت اين در

سرور /سيستم كالينت (Remote Procedure Call‐RPC)فراخواني روال از راه دور

14

Page 90: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

8

3‐1پروژه

15

فراخواني يك روال جمع دو عدد روي كامپيوتر دوم و دريافت •.حاصل جمع از آن و نمايش روي كامپيوتر اول

سرور /سيستم كالينت(middleware)ميان افزار

16

.سرور هستند/بخش مهمي از سيستم هاي كالينت•استفاده از چند سرور را ممكن مي سازد و انعطاف پذيري باالي •

.را ايجاد مي كند:مزايا•

مي . سيستمهاي جديد مي توانند با سيستمهاي موجود كار كنند–.توان كالينت هاي جديد را با پايگاه داده هاي قديمي يكپارچه نمود

با ايزوله كردن اجزأ سيستم نسبت به يكديگر باعث مي شود –تغييراتي كه در يك جزء صورت مي گيرد اثر اندكي روي ساير اجزاء

.داشته باشدزمان را براي توسعه سيستمها كاهش مي دهد، زيرا برنامه نويسان –

ندارند شبكه و شده توزيع نويس برنامه جزئيات دانستن به نيازي

Page 91: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

9

سرور براي عمليات موازي/چهارچوب كالينت

17

يك كالينت ممكن است يك عمليات بزرگ را به چند مساله •كوچكتر تقسيم كند كه بطور همزمان روي چند سرور قابل اجرا

.باشند

سرور براي عمليات موازي/چهارچوب كالينت

18

:مراحلي كه در كالينت براي عمليات موازي انجام مي شود•كالينت با تمام سرورها، آرايه اي از سوكت و جريانهاي داده 1.

بايد كالينت براي هر سرور يك نخ ايجاد . خروجي مي سازد/ورودي.كند تا بتواند بطور جداگانه با سرورها ارتباط برقرار كند

كالينت، كنترل را به بدنه كالينت مي دهد كه شامل كد خاص 2.كالينت عمليات اصلي . مربوط به عمليات موازي در حال اجرا است

را به بخشهاي كوچكتر تقسيم مي كند و هر بخش را به يك سرور .مي فرستد و نتايج را نتهايتأ دريافت و نتيجه نهايي را توليد مي كند

.كالينت به سوكتها و جريانها با تمامي سرورها خاتمه مي دهد3.

Page 92: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

10

سرور براي عمليات موازي/چهارچوب كالينت

19

:مراحلي كه در سرور براي عمليات موازي انجام مي شود•سرور، سوكت سرور را بر روي شماره پورت بالفاصله ايجاد مي 1.

.كندبمحض . سرور منتظر مي ماند تا اتصال روي پورت برقرار شود2.

.دريافت درخواستي از يك كالينت، اتصال را مي پذيردخروجي را براي آن سوكت ايجاد مي /سرور جريان داده ورودي3.

.اين مرحله اساس ارتباط ميان سوكت سرور و كالينت است. كندسرور كنترل را به بدنه سرور مي دهد كه حاوي كد ويژه مربوط به 4.

سرور درخواست اتصال را از . عمليات موازي در حال اجرا استكالينت مي پذيرد و سوكت را ايجاد مي كند و براي برآورده شدن

.درخواست كالينت، به نخ موجود در بدنه سرور مراجعه مي كنددرخواست5. رسيدن منتظر و ميگردد بر عادي كار حالت به سرور

(Clusters)خوشه ها

20

ارتباط بين چند كامپيوتر مستقل از طريق يك شبكه را كالستر •.گويند

.به هر كامپوتر در كالستر گره گفته مي شود•خروجي اختصاصي و سيستم عامل /هر گره داراي سيستم ورودي•

.مربوط به خود استهمه گره ها داراي معماري يكسان هستند و يك : كالستر همگن•

.سيستم عامل را اجرا مي كنندهر گره يا داراي معماري متفاوت و يا سيستم : كالستر غير همگن•

.عامل متفاوتي است.سريع يا يك سويچ باشد LANشبكه ارتباطي مي تواند يك •، ساير گره ها بدون صفحه كليد، ماوس و front‐endبجز گره •

تند ه شگ ا ن

Page 93: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

11

(Clusters)خوشه ها

21

:مثالي از يك كالستر همگن از كامپيوترهاي تك پردازنده•

(Clusters)خوشه ها

22

بازگشت پذيري از خطا و تحمل : (middleware)ميان افزار •.پذيري خطا را براي خوشه فراهم مي كند

فراهم نمودن نقاط تست تا تضمين شود كه وضعيت فرايند : مثال–متناوبأ ذخيره شود تا هنگام خراب شدن يك گره، فرايند روي گره

.هاي ديگر اجرا شودمحيط برنامه نويسي و ابزارها، امكان استفاده از كتابخانه و ابزار •

قابل حمل را براي برنامه نويسي به منظور اجراي عمليات مثالهايي از اين نوع MPIو PVMنخها، . موازي فراهم مي كند

.ابزارها و كتابخانه ها مي باشند

Page 94: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

12

(Clusters)خوشه ها

(Threads)نخها

23

پشتيباني از نخها يك از از خصوصيات مهم سيستم هاي عمل •.مدرن است

نخ يك فرايند سبك است و همانند فرايند داراي دستورات •.است كه بصورت ترتيبي روي پردازنده اجرا مي شوند

.فرايند بدون نخ اجرا نمي شود. هر فرايند حداقل يك نخ دارد•.نخها يك فرايند را موازي مي كنند•حركت پردازنده روي نخها خيلي راحتر از حركت روي فرايندها •

.است

(Clusters)خوشه ها

(Threads)نخها

24

:JAVAايجاد نخ در • Hello World from“ايجاد دو نخ كه هر كدام پيام : مثال–

thread i” را چاپ مي كنند .i است {1,2}عضوي از مجموعه ..است JAVAكالس نخ يكي از كالسهاي كتابخانه هاي •.اين كالس از متدهايي براي بكارگيري نخ استفاده مي كند•.نخ جديدي براي كنترل ايجاد مي كند: startمتد •.نخ را متوقف مي كند: stopمتد •.اجراي نخ را معلق مي كند: suspendمتد •.جهت فعالسازي نخ استفاده مي شود startتوسط متد : runمتد •

Page 95: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

13

(Clusters)خوشه ها

(Threads)نخها

25

(Clusters)خوشه ها

(Threads)نخها

26

ايجاد مي شود HelloWorldدر مثال فوق، ابتدا كالسي بنام •ورودي اين كالس براي نخ . كه كالس نخ را توسعه مي دهد

مشخص مي كند كه پيام چند مرتبه چاپ شود و مدت زمان sleep متد . ميان دفعات چاپ پيام چقدر استrun به تعداد

دفعات الزم تكرار مي شود و پيامش را در مدت زمانهاي .مشخص شده چاپ مي كند

را با شناسه و HelloWorldتابع اصلي دو شيء از كالس •مربوط startمربوط به خود ايجاد مي كند و متد sleepزمان

:خروجي برنامه. به هر شيء را فراخواني مي كندترتيب پيامها غيرقابل: توجه•

.پيش بيني است

Page 96: Parallel processing CH1 - research.iaun.ac.irresearch.iaun.ac.ir/pd/saeed-nasri/pdfs/UploadFile_5886.pdf2/8/2014 2 ﻲﻨﻤﺿ يزﺎﺳ يزاﻮﻣ ﺮﻟﺎﻜﺳاﺮﭘﻮﺳ

2/8/2014

14

(Grid computing)پردازش گريد

27

برخالف كالسترها كه مجموعه اي از كامپيوترها هستند كه •تحت يك سيستم واحد به هم بسته شده اند، گريدها متشكل از سيستم هاي مختلفي هستند كه با هم كار مي كنند در حاليكه

.ماهيت مستقل خود را نيز حفظ مي كنندبا توجه به ماهيت غير متمركز و ناهمگن بودن گريد، ميان •

افزاري كه اجزاء مختلف در اين سيستم را بايد بهم متصل كند، .بسيار پيچيده تر از آن در كالسترها است

يكي از مفاهيم گريد، سازمان مجازي است كه نمايي يكپارچه •يعني تصويري از يك كامپيوتر مجازي . از منابع را ارائه مي دهد

.بزرگ كه توانايي انجام عمليات عظيم را دارد

3‐2پروژه

28

چيست؟ (Cloud computing)محاسبات ابري •و PVMروي چند كامپيوتر با استفاده از مدل Piمحاسبه عدد •

MPI