خانه > فناوری اطلاعات, آموزش, آموزش کامپیوتر, آموزش اینترنت > چـرا بـرنامه نویـسی همـروند ؟ (2)

چـرا بـرنامه نویـسی همـروند ؟ (2)


مدل های برنامه نویسی موازی

مدل برنامه نویسی موازی یک مجموعه از تکنولوژیهای نرم افزاری است برای بیان الگوریتم های موازی و هماهنگ کردن برنامه های اجرایی با سیستم های موازی مهم که این شامل برنامه های اجرایی – زبان ها – کامپایلر ها – کتابخانه ها – سیستم های ارتباطی و موازی می گردد.مردم بایستی مدل برنامه نویسی موازی صحیح و یا مخلوطی از آنها را انتخاب نمایند تا برنامه های اجرایی موازی آنها بر روی یک خط مشی بخصوص باجرا در آید.

مدل های موازی با چند روش اجرا می شود.همچنانکه کتابخانه ها از زبان های ردیفی    سنتی استمداد می جویند یا توسعه زبان یا مدل های اجرایی کاملا جدید.آنها به دو نوع سیستم طبقه بندی می شوند:سیستم های حافظه مشترک و سیستم های حافظه توزیع شده.اگر چه وجه تمایز بین آنها امروزه به شدت تیره و تار است.

 

رده بندی کامپیوترهای موازی

کامپیوترهای موازی می توانند از جنبه ها و دیدگاه های گوناگونی از حیث معماریشان    دسته بندی شوند.در این بخش قصد داریم سه دسته متفاوت از این طرح ها را معرفی کنیم . در ابتدا چگونگی ارتباط پردازنده ها با حافظه در کامپیوترهای موازی بررسی می شود، در دسته بندی دوم درباره تعداد مجراهای داده و دستورالعمل ها بحث می کنیم که  مدل دسته بندی فلین نام دارد،و در انتها روی تعداد واحدهای کنترل و واحدهای تابعی    کامپیوتر متمرکز خواهیم شد که مدل دسته بندی ارلنگر نام دارد .

 

1. سازمان حافظه – پردازنده

در اصطلاح سازمان حافظه – پردازنده سه گروه اصلی از معماری ها تشخیص داده می شوند:

1.معماری های حافظه اشتراکی

2.معماری های حافظه توزیع شده

3.معماری های حافظه توزیع شده اشتراکی

 

در ادامه به طور خلاصه در مورد انواع مذکور توضیحات مختصری ارائه می شود.

1.1.معماری های حافظه اشتراکی

اصلی ترین ویژگی معماری حافظه اشتراکی این است که تمام پردازنده های این سیستم به یک حافظه یکسان (مشترک) دسترسی دارند و تنها یک فضای آدرس  سراسری و مشترک (کامان باس ) وجود دارد.حافظه اصلی از تعدادی از ماجولهای حافظه تشکیل شده است.در یک چنین سیستمی ارتباط و همزمانی بین پردازنده ها به طور ضمنی و توسط متغیرهای اشتراکی صورت می گیرد.

(در شکل زیر الزامی برای برابر بودن شماره پردازنده ها و ماجول های حافظه وجود ندارد.)

 

 

 

شکل 1 ) معماری حافظه اشتراکی

 

پردازنده ها توسط نوعی از شبکه ی اتصالی داخلی(اینترکانکشن) با ماجول های حافظه ارتباط برقرار می کنند.این نوع از کامپیوترهای موازی را  «یو ام ای –  یونی فرم ممری اکسس » هم می نامند.از آنجایی که هر پردازنده ای به تمام ماجول های حافظه دسترسی دارد،باید پهنای باند، تاخیر و عکس العمل پنهانی هم در نظرگرفته شود.

برنامه نویسی در کامپیوترهای حافظه اشتراکی راحت و مناسب است از آن جهت که در این نوع معماری همه داده ها توسط تمام پردازنده ها قابل دسترسی هستند،در نتیجه نیازی به کپی کردن داده ها نمی باشد و این بزرگترین مزیت این نوع معماری به شمارر می رود؛از این رو برنامه نویس دیگر نگران همزمانی نخواهد بود،زیرا این کار به طور خودکار و ضمنی توسط سیستم صورت می گیرد ولی این امر باعث پیچیدگی و گرانی قیمت سخت افزار این کامپیوترها خواهد شد.به هر حال به دست آوردن سطوح بالایی از عملیات موازی در ماشین هایی که معماری آنها از نوع حافظه اشتراکی است بسیار دشوار می باشد.بسیاری از سیستم ها بیش از 64 پردازنده ندارند،این محدودیت ریشه در این واقیعت دارد که ایجاد نسبت مناسبی بین یک حافظه متمرکز و شبکه اتصالی داخلی «اینتر کانکشن » کار بسیار دشواری است.

 

1.2.معماری های حافظه توزیع شده

در کامپیوتر حافظه توزیع شده (که به عبارتی مالتی کامپیوتر هم نامیده می شود) هر پردازنده،حافظه مخصوص به خود را دارد.در این نوع معماری دیگر فضای آدرس مشترک    (کامان باس ) وجود ندارد برای مثال هر پردازنده فقط به حافظه مخصوص به خود دسترسی دارد.ارتباط و همزمانی بین پردازنده ها توسط مبادله پیام در سرتاسر یک شبکه اتصالی داخلی صورت می گیرد.

شکل زیر سازمان پردازنده ها و ماجول های حافظه در کامپیوتر حافظه توزیع شده را نشان می دهد.بر خلاف معماری حافظه اشتراکی،در یک ماشین حافظه توزیع شده عمل مقیاس بندی بین حافظه و پردازنده به تناسب صورت گرفته است زیرا هر پردازنده حافظه محلی مخصوص به خود را دارد در نتیجه هیچ گاه در دسترسی به حافظه ها برخورد و ناسازگاری(کانفلیکت) رخ نمی دهد.با استفاده از این نوع معماری ،می توان پردازنده های موازی در سطح کلان »  ام ام پی «( مسیولی پارالل پروسسور) با صدها و حتی هزاران پردازنده ساخت.

 

 

 

شکل 2 ) معماری حافظه توزیع شده

 

امروزه استفاده از ماشین هایی که دارای معماری حافظه توزیع شده هستند به صورت گروهی «کلاسترز» بسیار رایج شده اند.در یک گروه هر گره یک کامپیوتر کامل است،واین کامپیوترها توسط یک شبکه ارزان قیمت مانند  «اترنت «، » میرینت «به یکدیگر متصل هستند.مزیت بزرگ این گروهها  » کلاسترزنسبت به ام ام پی ها » این است که نسبت هزینه به کارایی  » کاست/پرفرمنس » در این نوع معماری بسیار بهتر است.در هر صورت تا به حال کارایی گروه » کلاسترز »  به ماکزیمم کارایی » ام ام پی ها » نرسیده است.

1.3.معماری های حافظه توزیع شده اشتراکی

برای ترکیب کردن مزایای معماری های تشریح شده،از طرفی سادگی در برنامه نویسی،  و از طرف دیگر امکان استفاده در مقیاس (اسکیلبیلیتی ) بالا ،معماری سوم کامپیوترهای موازی به وجود آمد:ماشین های حافظه توزیع شده اشتراکی.در این نوع معماری هر پردازنده حافظه محلی مخصوص به خود را دارد، اما در مقایسه با معماری حافظه توزیع شده،همه ماجولهای حافظه یک فضای آدرس مشترک تشکیل می دهند،به طور مثال هر سلول حافظه یک آدرس «سیستم-واید» منحصر به فرد دارد.برای جلوگیری از معایب کامپیوترهای حافظه اشتراکی،به ویژه پایین بودن درجه موازات،هر پردازنده ای از یک حافظه پنهان استفاده می کندکه تعداد برخوردها و ناسازگاری ها در دسترسی به حافظه و قانون اتصالات را نگه داری می کند. به هر حال استفاده از حافظه های پنهان باعث بروز برخی از مشکلات می شود که مهمترین آنها چگونگی نگه داری داده های به روز شده در حافظه و کپی آنها در حافظه های پنهان می باشد.این مشکل با استفاده از اتصال  حافظه های پنهان  سطح بالا و پروتکل های (قراردادهای) سازگاری قابل حل است.

 

 

شکل 3 ) معماری حافظه توزیع شده اشتراکی

 

2.مدل تقسیم بندی فلین

علاوه بر دسته بندی غیر رسمی ای که در بالا به آن اشاره شد،مدل تقسیم بندی دیگری که به طور گسترده ای پذیرفته و استفاده می شود توسط مایکل فلین در سال 1972 ارئه شد. او کامپیوترها را بر اساس تعداد مجراهای دستورالعمل ها و داده ها دسته بندی کرد.بر این اساس چهار دسته  مورد بررسی قرار می گیرند:

Single instruction stream Multiple instruction streams
Single data stream SISD SIMD
Multiple data streams MISD MIMD

Flynn’s Classification Scheme

 

 

کلاس «اس آی اس دی» (یک مجرای دستورالعمل – یک مجرای داده):

شیوه مرسوم کامپیوترهای ترتیبی را پشتیبانی می کند که بر اساس معماری فون نیومن می باشد.

شکل 4 ) معماری فون نیومن

خصوصیات این دسته:

1.یک کامپیوتر ترتیبی (و نه موازی) است

2.سینگل اینستراکشن:در طول یک سیکل کلاک سی پی یو تنها یک مجرای دستورالعمل عمل می کند

3.سینگل دیتا:در یک سیکل کلاک سی پی یو  فقط یک مجرای داده به عنوان ورودی استفاده می شود

4.اجرا قطعی

5.قدیمی ترین و متداول ترین شکل کامپیوترها

6.مثال:بسیاری ازپی سی ها،مین فریم ها و ایستگاه های کاری تک سی پی یو

 

کلاس «اس آی ام دی»(یک مجرای دستورالعمل – چندین مجرای داده):

دو مدل مهم که بیانگر ویژگی های این کلاس می باشند، همه پردازش های برداری و کامپیوتر آرایه ای هستند.ماشین های اس ام آی دی  یک واحد کنترل (و حافظه دستورالعمل )دارد که پردازش های چندگانه را کنترل می کند.این پردازنده ها معمولا خاص منظوره هستند (برای مثال پردازش تصویر)، مگر اینکه کاربرد عمومی مد نظر باشد.

خصوصیات این دسته:

1.نوعی از کامپیوترهای موازی است

2. سینگل اینستراکشن :تمام واحدهای پردازش یک دستورالعمل یکسان را در هر سیکل کلاک اجرا می کنند

3. مالتیپل دیتا :هر واحد پردازش می تواند روی عنصر داده ای متفاوتی عمل می کند

4.این نوع از ماشین ها یک ..دیسپچر دستورالعمل ،یک شبکه داخلی با پهنای باندبسیار بالا و یک آرایه بسیار بزرگ از واحدهای دستورالعمل کم حجم

5.مناسب برای مسائل ویژه ای که درجه نظم بالایی دارند،مثل پردازش تصویر

6.اجرای همزمان و قطعی

7.دو نوع:آرایه های پردازنده و خط لوله های برداری

 

کلاس «ام آی اس دی»(چندین مجرای دستورالعمل – یک مجرای داده):

این کلاس فقط جهت تکمیل اضافه شده است.عموما طراحی و ساخت کامپیوتری که دارای چنین معماری ای باشد ،دشوار و بی استفاده به نظر می رسد.

خصوصیات این دسته:

نمونه های واقعی کمی از این نوع کامپیوترهای موازی تا کنون به وجود آمده است

 

کلاس «ام آی ام دی»(چندین مجرای دستورالعمل – چندین مجرای داده):

اکثر کامپیوترهای موازی امروزه به کلاس  ام ای ام دی   (چندین مجرای دستورالعمل-چندین مجرای داده) تعلق دارند.ماشین های ام آی ام دی چندین پردازنده دارند،که هر کدام به طور مستقل توانایی اجرای یک یا بیش از یک برنامه را دارند.معماری های حافظه اشتراکی،توزیع شده و توزیع شده اشتراکی که تشریح گردیدند به این کلاس تعلق دارند.

خصوصیات این دسته:

1.در حال حاضر رایج ترین نوع کامپیوترهای موازی هستند

2. مالتیپل اینستراکشن :هرپردازنده ای ممکن است مجاری دستورالعمل متفاوتی را اجرا کند

3.مالتیپل دیتا :هرپردازنده ای ممکن است با مجاری داده ای متفاوتی کار کند

4.نحوه اجرا می تواند همزمان یا غیر همزمان،قطعی و یا غیر قطعی باشد

5.مثال:بسیاری از سوپرکامپیوترهای جاری ،کامپیوترهای شبکه شده موازی و …

 

چندین معماری ترکیبی هم وجوددارندکه تقسیم بندی اولیه فلین راگسترش می دهد. یک نمونه از این مدل های ترکیبی ماشین های «مالتیپل اس آی ام دی » (ام اس آی ام دی)می باشد.

لازم به ذکر است که دسته بندی  فلین معماری های کامپیوترهای مالتی پروسسور را بر اساس دو بعد مستقل از هم – دستورالعمل و داده – مورد بررسی قرار می دهد.

در ادامه در بحث مالتی پروسس به پیاده سازی های نرم افزاری فلین خواهیم پرداخت.

 

3.مدل تقسیم بندی ارلنگر( ای سی اس)

سومین مدل تقسیم بندی، مدل دسته بندی ارلنگر در سال 1977 توسط هندلر معرفی شد.یک کامپیوتر موازی از لحاظ قابلیت و توانایی همروندی و خط لوله ای به سه سطح از انتزاع تقسیم می شود:سطح برنامه/پردازش،سطح دستورالعمل، سطح زیر دستورالعمل.

Level of parallelism Concurrency Pipelining
Program Process K Multiprocessor Multicomputer K› Macropipeline processor
(Groups of) machine-instructions Data structures D Array processor D› Instruction level pipelining
Sub-instruction W Parallel-word computer W› Phase pipelining

Erlanger Classification Scheme

 

پردازنده چندكارهMultiprocessing

 

Multiprocessing یك اصطلاح عمومی برای استفاده دو یا بیشتر cpu  در داخل یك سیستم كامپیوتری واحد می باشد.تعریف Multiprocessing  نا پایدار می باشد و در اصل می توان گفت كه تابعی از چگونگی تعریف cpu  می باشد.( cpu می تواند به صورت چندین هسته روی یك قالب یا چندین تراشه در یك بسته و یا چندین بسته در یك سیستم واحد ویا نمونه های دیگری باشد.) .

اصطلاح Multiprocessing برای اشاره به اجرای فرایند های نرم افزاری چندگانه به طور همزمان در یك سیستم استفاده شده است . اصطلاح Multiprogramming  برای وصف این مفهوم كه توسط نرم افزار پشتیبانی می شودمناسب می باشد ،در حالیكه اصطلاح Multiprocessing برای توصیف استفاده cpu  بعنوان سخت افزار چند گانه مناسب تر می باشد.

یك سیستم می تواند Multiprocessing و یا Multiprogramming باشد وهمینطور می تواند هر دو این ویژگی را داشته باشد ویا فاقد این دو خصوصیت باشد.

 

پردازنده یكسان(processor symmetry)

در یك سیستم Multiprocessing همه cpu ها ممكن است هم تراز باشند. و یا برخی برای مقاصد خاصی ممكن است رزرو شوند. تركیبی از سخت افزار و نرم افزار سیستم عامل در یك سیستم معین برای پاسخگویی به درخواست ها به طور هم تراز بكار گرفته می شود.برای مثال در یك سیستم ممكن است برای پاسخگویی به همه ی وقفه های سخت افزاری فقط نیاز به یك cpu  باشد.  در حالیكه همه ی كارهای دیگر در این سیستم به طور یكسان در میان cpu ها توزیع شود و یا اجرای كد  kernel-mode ممكن است فقط به یك پردازشگر محدود شود.در حالیكه كد user-mode ممكن است در هر تركیبی از پردازشگر ها اجرا شود.سیستم های Multiprocessing اغلب برای طراحی آسانتر می باشند اگرچه محدودیت هایی تحمیل شده است .

سیستم هایی كه در آنها همه ی cpu ها یكسان در نظر گرفته می شوند سیستم های پردازنده چند كاره متقارن(symmetric multiprocessing )نامیده می شوند.در سیستم هایی كه همه ی cpu  ها مساوی نیستند،منابع سیستم امكان دارد به روشهای مختلفی تقسیم شوند ،از جمله :پردازنده چند كاره غیرمتقارن(asymmetric )  ،پردازنده چند كاره با دستیابی غیریكنواخت به حافظه  (non-uniform memory access) و پردازنده چندكاره ی گروهی (clustered) .

دستورات وجریان داده ها

در Multiprocessing،پردازنده های چند گانه می توانند برای اجرای چند گانه در داخل یك سیستم واحد،دنباله ی مستقلی از دستورات در چندین زمینه ( دستورات چند گانه ،داده های چند گانه یا MIMD )،یك دنباله ی ساده از دستورات در چندین زمینه (دستورات ساده ، دستورات چند گانه یا SIMD ، اغلب در پردازش برداری استفاده شده ) ؛ و چندین دنباله از دستورات در یك فضای ساده (دستورات چند گانه ،داده های ساده یا MISD ،كه برای افزونگی در سیستم های fail_safe و گاهی برای وصف پردازنده های خط لوله ای استفاده می شوند. ) استفاده شوند .

 

اتصال پردازنده

سیستم های چند پردازنده اتصال قوِی (tightly_coupled)،شامل cpu هایی هستند كه به سطح گذرگاهها متصل شده اند .این cpu ها ممكن است به حافظه ی مشترك مركزی(SAM )دسترسی  داشته باشند . یا ممكن است در سلسله مراتب حافظه (حافظه محلی و اشتراكی ) شریك شوند . تراشه چند پردازنده ها ، اغلب بعنوان محاسبه چندین هسته شناخته می شوند ، بیش از یك پردازنده روی یك تراشه ساده می توان قرار داد و می توان بینهایت فرم از پردازنده چند كاره اتصال قوی در نظر گرفت . سیستم های Mainframe با پردازنده های چند گانه اغلب اتصال قوی (tightly_coupled) هستند. سِیستم های چند پردازنده اتصال ضعیف (اغلب به آنها بعنوان خوشه ها اشاره شده ) روی یك پردازنده دوگانه مستقر شده ، از طریق یك سیستم ارتباطی با سرعت بالا متصل می شوند .سیستم های اتصال قوی بهتر كار انجام میدهند و از نظر فیزیكی كوچكتر از سیستم های اتصال ضعیف هستند.  اما به حافظه ی اولیه ی بزرگتری نیاز دارند وممكن است سریعتر مستهلك شوند . گره ها در سیستم اتصال ضعیف معمولا” گرانتر هستند و میتوانند بعنوان ماشین مستقل بمحض بازنشستگی از گروه ، بازیابی شوند .مصرف قدرت یك امر مهم می باشد . سیستم های اتصال قوی تمایل به داشتن انرژی موثر بیشتر از گروه دارند .

 

انواع پیاده سازی نرم افزار

  • پردازنده چند كاره یMIMD

معماری پردازنده چندكاره برای یك پهنای متنوع از وظایف دراجرای موازی وكاملا» مستقل دستورات،برای رسیدن به مجموعه های متفاوت از داده كه می توانند بعنوان محصولات استفاده شده قرار داده شوند ، مناسب می باشد . به همین دلیل و چون این برای اجرا آسان می باشد ، MIMD در پردازنده چند كاره دارای نفوذ قاطع می باشد .

پردازش به چندین رگه تقسیم شده است ، هر یك از آنها با حالت پردازش سخت افزاری خودشان ، در داخل یك پردازش نرم افزاری تعیین شده ساده یا داخل پردازش چند گانه هست . تا جاییكه یك سیستم رگه های چند گانه تعیین عمل انتظار را دارد (هر سیستم یا رگه های كاربران ) ، این معماری استفاده خوبی از منابع سخت افزار را می سازد .

MIMD عمل بن بست و در گیری منابع را بالا می برد ، اگر چه رگه ها ممكن است با هم در دسترسی هایشان به منابع در یك راه غیر قابل پیش بینی برخورد داشته باشند ، این برای اداره كردن كارا ،یك مشكل است .MIMD به یك برنامه نویسی ویژه در سیستم عامل یك كامپیوتر نیاز دارد اما به تغییرات كاربردی نیاز ندارند مگر اینكه كار برد ها خودشان رگه های چند گانه را استفاده كنند . سیستم و نرم افزار كاربر ممكن است هر دو به استفاده ساختار نرم افزار برای مثال سمافور ها (معمولا» قفل یا مدخل نامیده می شوند ) برای ممانعت از برخورد یك رگه با دیگران درصورتِی كه آنها باید از مسیرهایی برای ارجاع به داده های مشابه عبور داده شوند، نیاز داشته باشند . این پردازش مدخل یا قفل ،پیچیدگی برنامه، كارایی پایین تر ، و افزایش تعداد دفعات نیاز به آزمایش را زیاد می كند ،اگرچه معمولا» به اندازه كافی فواید پردازش چندگانه را نفی می كند .

برخورد های مشابه می توانند در سطح سخت افزار بین cpu رخ دهد ، و باید معمولا» در سخت افزار یا با یك تركیبی از نرم افزار و سخت افزار رفع شده باشد.

  • پردازنده چند كار ه ی SIMD

پردازنده چند كاره SIMD برای پردازش موازی یا برداری بسیار مناسب می باشد ، یك مجموعه ی خیلی بزرگ از داده ها می تواند به بخش هایی كه زیر موضوع های مستقل همانند اما با عملكرد های مستقل ،تقسیم شوند .یك جریان دستورالعمل ساده ، عملیات واحد های پردازش چند گانه را، برای اجرای به طور همزمان،

و دستكاری های یكسان روی تعداد زیادی از داده ها  را بصورت بالقوه هدایت می كند .

برای انواع معین از كاربردهای محاسبه ،این نوع از معماری می تواند رشد بزرگی را در كارایی تولید كند، در دوره زمان سپری شده لازم است كارهای معینی را انجام دهد.

اگرچه در این معماری یك مشكل وجود دارد كه بخش بزرگی از سیستم در هنگام درخواست ها یا كارهای سیستم در حال اجرا هستند بیكار می شود، كه نمی توانند به واحدهایی كه بصورت موازی پردازش شوند تقسیم شوند .

به طور اضافه ، درخواست ها باید به صورت نوشتاری به طور دقیق و ویژه برای داشتن بالاترین فواید از معماری باشند، و اغلب كامپایلرهای بهینه ویژه كه برای تولید كدها برای این محیط باید استفاده شوند ، طراحی می شوند. بعضی كامپایلر ها در این رده  ساخت ها یا بسط های ویژه ای برای اجازه دادن به برنامه نویس بطور مسقیم كه عملكردهایی كه بصورت موازی اجرا شده اند را تعیین كند، تهیه می شوند.پردازنده چند كاره SIMD استفاده وسیع در قلمرو معین بعنوان‌ مثال‌شبیه سازی كامپیوتری پیدا می كند ، اما این استفاده محدود در میزكار همه كاره و محیط محاسبه تجاری می باشد .

 

 

 

  • پردازنده چند كاره MISD

پردازنده چند كاره MISD مزایای افزونگی را به طور عمده ارائه می كند ، از آنجائیكه واحد های پردازش چندگانه كارهای مشابهی را روی داده های یكسان انجام می دهند ، اگر یكی از واحدها موفق نشود از نتایج نادر ست كاسته می شود.

معماری های MISD ممكن است درگیر مقایسه بین واحدهای پردازش برای شناسایی شكست ها شود . جدا از افزونه و واحدهای fail-safe این نوع معماری ، آن مزایای كمی دارد ، و خیلی گران می باشد. این نوع كارایی را بهبود نمی بخشد . آن میتواند در یك مسیر شفاف برای نرم افزار انجام شود.

معماری مالتی پروسسور

 

هنگامی كه یك برنامه روی یك مالتی پروسسور ویژه اجرا می شود ، معماری ماشین تاثیر مهمی روی قابلیت اجرای برنامه خواهد داشت البته تعداد و سرعت پردازنده ها در تعیین قابلیت اجرایی برنامه اهمیت زیادی را دارد، اما پردازنده ها باید روی مقادیر داده ای ذخیره شده در حافظه، عمل كنند و سرعت متوسط پردازنده ها چنانچه آنها هنگامی دسترسی به مقادیر داده ای از حافظه دچار تاخیر شوند كاهش خواهد یافت . بنابراین گل ارگانیزم سیستم حافظه در قابلیت اجرایی برنامه بی نهایت اهمیت دارد .

یك برنامه نویس برای اینكه بتواند روی یك مالتی پروسسور انتخابی ، برنامه های موازی با قابلیت اجرایی خوب را بنویسد باید از طراحی عمومی سیستم ارتباطی حافظه ـ پردازنده ها آگاه باشد .در برخی از ماشینها این سیستم ممكن است  مبتنی بر گذرگاه همراه با حافظه های پنهان باشد در دیگر مالتی پروسسورها ماجول های چندگانه حافظه متصل به پردازنده ها با یك شبكه راهگزینی وجود دارد در هر معماری از مالتی پروسسورها ، همیشه احتمال وقوع مسئله ازدحام حافظه جزء لاینفكی در ارگانیزم خود برنامه است و در هر مالتی پروسسور هدفی ظاهر می شود در دیگر   برنامه های موازی ازدحام حافظه ممكن است تنها در معماری های معینی از مالتی پروسسورها اتفاق بیفتد .

در اینجا تنها حافظه اشتراكی مالتی پروسسورها ارائه می شود یك دسته بزرگی از معماری مالتی پروسسورها سیستم های مبتنی بر گذرگاه می باشد كه در آن یك واحد حافظه اشتراكی تنها توسط یك گذرگاه مشترك به همه پردازنده ها متصل می باشد سیستم های مبتنی بر گذرگاه به علت مساله ازدحام حافظه تنها می تواند شامل تعداد محدودی پردازنده باشد یكی از توانایی های سخت افزاری كه به طور بسیار موثری قابلیت اجرای سیستم های مبتنی بر گذرگاه را بهبود می بخشد ، حافظه پنهان می باشد یعنی یك حافظه بسیار سریع كوچك كه به هر پردازنده الصاق شده تا آخرین مقادیر داده های استفاده شده را نگهداری كند. دسته بزرگ دیگری از مالتی پروسسورها آنهایی هستند كه ماجول های چند گانه حافظه در آنها توسط یك شبكه راه گزینی به پردازنده ها متصل اند . نظر به اینكه ماجول های حافظه ممكن است توسط پردازنده های مختلف به طور موازی یا همروند مورد دسترسی قرار گیرند، شانس ازدحام حافظه كاهش می یابد .

  1. هنوز دیدگاهی داده نشده است.
  1. No trackbacks yet.

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s

%d وب‌نوشت‌نویس این را دوست دارند: