چندپردازی متقارن: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
بدون خلاصۀ ویرایش
Rezabot (بحث | مشارکت‌ها)
جز ربات:مرتب‌سازی عنوان‌ها+املا+مرتب+تمیز+
خط ۱:
[[پرونده:SMP_-_Symmetric_Multiprocessor_System.svg|بندانگشتی|نمودار یک سیستم چندپردازی متقارن]]
'''چندپردازی متقارن''' شامل سیستم سختافزاری و نرمافزاری چندپردازندهی متقارنی میشود که در آن دو پردازندهی ایدهآل یا بیشتر در تماس با یک حافظهی اصلی اشتراکی دسترسی کاملی به ادوات ورودی/خروجی دارند و بوسیله یک سیستم عملیاتی مجزا در نظر گرفته میشوند که همهی پردازندهها در آن به صورت برابر برخورد کرده با ذخیرهی مواردی با اهداف خاص همراهند. اکثر سیستمهای چندپردازی امروزه یک معماری SMP را به کار میبندند. در مورد پردازندههای چندهستهای، معماری SMP به هسته ها اعمال شده و آنها را به صورت پردازندههای جداگانه مطرح میسازد.
 
 
 
== Design ==
 
 
سیستمهای SMP با سیستمهای چندپردازندهی بههم وابسته با محفظهای از پردازندههای همسان به صورت مستقل از یکدیگر عمل کنند. هر پردازنده، با اجرای برنامههای مختلف و کار در مورد مجموعههای مختلف دادهها قابلیت به اشتراکگذاری منابع متداول را دارد که به کمک یک پایانهی سیستمی یا یک خط عرضی به هم متصل شدهاند و تقریباً مقیاسپذیری خطی را برای شمار زیادی از پردازندهها در پرتوی برنامهپذیری فراهم میکند :
<blockquote class="">چالش های جدی برنامهنویسی با توجه به نوع معماری مطرح شده زیرا نیازمند دو حالت متمایز برنامهنویسی است؛ یکی برای خود CPUها و یکی هم برای ارتباط درونی میان CPUها. یک زبان برنامهنویسی متداول ممکن است توانایی قسمتبندی جریان کاری را نیز داشته باشد، اما همچنین با درک موقعیت حافظه نیز همراه است که در معماری مبتنی بر گره شدیدتر مطرح شده است.{{سخ}}<brref name="AutoMQ-1"><cite class="citation journal">Lina J. Karam, Ismail AlKamal, Alan Gatherer, Gene A. Frantz, David V. Anderson, Brian L. Evans (2009). </cite></ref></blockquote>سیستمهای SMP به هر پردازنده یا کاری برای وظیفهی صرف نظر از اینکه داده کجای حافظه باشد اجازه فعالیت میدهد. این موضوع نیز در نظر گرفته شده که هر وظیفه در سیستم در زمان اجرا با دو پردازنده یا بیشتر به صورت همزمان همراه است. با حمایت سیستم عملیاتی مناسب، سیستمهای SMP میتوانند به سادگی وظایف را در میان پردازندهها جابهجا کنند تا کارآمدی جریان کاری را متعادل سازند.
<ref name="AutoMQ-1"><cite class="citation journal">Lina J. Karam, Ismail AlKamal, Alan Gatherer, Gene A. Frantz, David V. Anderson, Brian L. Evans (2009). </cite></ref></blockquote>سیستمهای SMP به هر پردازنده یا کاری برای وظیفهی صرف نظر از اینکه داده کجای حافظه باشد اجازه فعالیت میدهد. این موضوع نیز در نظر گرفته شده که هر وظیفه در سیستم در زمان اجرا با دو پردازنده یا بیشتر به صورت همزمان همراه است. با حمایت سیستم عملیاتی مناسب، سیستمهای SMP میتوانند به سادگی وظایف را در میان پردازندهها جابهجا کنند تا کارآمدی جریان کاری را متعادل سازند.
 
== تاریخچه ==
سطر ۲۰ ⟵ ۱۶:
 
== کاربردها ==
سیستمهای به اشتراک گذاری زمان و سروری میتوانند اغلب اوقات SMP را بدون تغییرات در مورد کاربردها به کار برند، چرا که آنها ممکن است فرآیندهایفرایندهای چندگانه را به صورت موازی اجرا کرده و سیستمی با بیش از این پردازش در نظر گیرد که روی پردازندههای مختلف عملیاتهای گوناگون را در نظر گیرد.
 
در مورد رایانه های شخصی، SMP فایدهی کمتری برای کاربردهایی دارد که اصلاح نشده است. اگر سیستم به ندرت بیش از یک پردازش در هر دفعه داشته باشد، SMP تنها برای کاربردهایی مورد نظر است که پردازش چندرشتهای در پی دارد. نرمافزار برنامهریزیشده سفارشی میتواند جهت کاربرد در رشتههای چندگانه نوشته یا اصلاح شود تا بتواند کاربرد پردازندههای چندگانه را کنترل کند.
سطر ۲۹ ⟵ ۲۵:
وظایف مورد نیاز، SMP پردازندههای چندرشتهای را به شکلی اعمال میکند تا یک مسئله به نام برنامهنویسی موازی مورد نظر قرار گیرد. همچین نه تنها سیستم تکپردازنده در یک SMP به کار میرود، بلکه میتواند برای بهاشتراکگذاری داده نیز مورد توجه قرار گیرد؛ با این مورد گفته شده همهی دادهها به صورت پیوسته بوسیله منطق جاسوسی مورد توجه قرار میگیرند که به عنوان برگرفتن پایانهای نامیده میشود.
 
با وجود همهی این اطلاعات گفته شده، محدودیتهایی برای مدل SMP وجود دارد. برای مثال، چون SMP نیاز به پردازندهای دارد که چندپردازندگی را توانمند میسازد، پردازندههایی که نقطهی شناوری را در نظر گرفت نمیتواندنمی‌تواند در SMP به کار رود. علاوه بر این، برخی محدودیتها در مورد مقیاسپذیری SMP متناظر با انسجام حافظه ی نهان و اشیای بهاشتراکگذاشته است.
 
== برنامه نویسی: ==
سیستمهای تکپردازنده و SMP نیازمند روشهای متفاوت برنامهنویسی برای بدستآوردن بیشینه عملکرد هستند. اجرای برنامهها در سیستمهای SMP ممکن است افزایشی در عملکرد را حتی هنگامی که برای سیستمهای تکپردازنده مدنظرند به همراه داشته باشد. این بدین خاطر است که وقفههای سختافزاری معمولاً اجرای برنامه را معلق میکنند در حالیکه هستهای که آن را سامان میدهد میتواند به جای آن روی پردازندهی منفردی انجام شود. این اثر در اکثر برنامهها به حدی نیست که افزایش عملکرد به صورت اجرای هموارتر برنامه مدنظر باشد. برخی برنامههای کاربردی، به خصوص کامپایلرها و برخی پروژههای رایانهای توزیعشده با توجه به عامل تعداد پردازندههای اضافی سریعتر انجام میشوند.{{مدرک|date=January 2014}}.
 
سطر ۳۸ ⟵ ۳۴:
سیستمهای SMP نیز میتوانند منجر به پیچیدگی بیشتر دستورالعملهای متناظر شوند. یک سیستم پردازنده همجنس به صورت معمول نیازمند ثبت افزون دستورالعملهای خاص از جمله SIMD است، در حالیکه یک سیستم ناهمگون میتواند انواع مختلفی از سختافزارها را برای کاربردهای مختلف در نظر گیرد.
 
== عملکرد: ==
هنگامی که بیش از یک برنامه در هر موقعیت اجرا میشود، یک سیستم SMP به صورت خاص عملکرد بهتری نسبت به یک تکپردازنده دارد، زیرا برنامههای مختلف میتوانند به صورت همزمان بر سیپییوهای مختلف اثر بگذارد. به صورت مشابه، چندپردازی نامتقارن معمولاً تنها یک پردازنده را مجاز میکند تا برنامه یا وظیفهی خاص مرتبط با آن را به یکباره مورد توجه قرار دهد. برای مثال، AMP میتواند در تخصیص وظایف خاص به سیپییو مبتنی بر اهمیت و اولویت تکمیل وظیفه مورد توجه قرار بگیرد. AMP به خوبی پیش از اینکه SMP در مورد سیپییوهای چندگانه مطرح شود ایجاد شده که توضیحدهندهی فقدان عملکرد براساس مثال فراهم شده است.
 
سطر ۴۸ ⟵ ۴۴:
== سیستم ها ==
 
=== سیستمهای سطح ورودی: ===
تا پیش از سال 2006، سرورها و پایگاههای کاری در سطح ورودی با دو پردازنده در بازار SMP غالب شدهاند. با معرفی پردازندههای چندهستهای، SMP در اکثر رایانههای لپتاپی و میزی جدید دیده میشود. از سال 2016، اکثر سیستمهای SMP در سطح ورودی پیکربندی مجموعه دستورالعمل x86 را استفاده کرده و براساس پردازندههای AMD APU و اینتلکور کار میکنند. سرورها پردازندههای مشابهی هستند و دیگر گزینههای در دسترس شامل سیستمهای خرد سان اولتراSPARC، فوجیتسو SPARC64 و پس از آن، PS SGI MI ، ایتانیوم اینتل، هیولت پاکارد با Compaq میشود که آلفای DEC تجهیزات دیجیتال، IBM پاور و PowerPC به دست دادهاند. در همهی موارد، این سیستمها در نسخههای تکپردازنده نیز در دسترس هستند.
 
== مزیتها/معایب: ==
سیستمهای SMP اولیه مادربوردهایی همراه با دو سوکت سیپییو در نظر میگیرد؛ یکی از مادربوردهای ابتکاری اولیه با سوکتهای چندگانه ABIT BP6 بود. اخیراً، تولیدکنندگان میکروپردازنده ادوات سیپییویی با دو پردازنده یا بیشتر را در یک وسیله در نظر گرفتند که برای مثال ایتانیوم، پاور، اولتراSPARC، اوپترون، آتلون، هسته2 و زئون همگی دارای هسته های مختلف بودند. آتلون و هسته2 چندپردازندههایی هستند که سازگار با سوکت خاص همراه با تنوع تکپردازنده اند، بنابراین یک مادربورد سوکتی دوگانه بیش از این برای استقرار یک ماشین SMP در سطح ورودی مورد نیاز نیست. این مورد باید اشاره شود که طراحی SMP در سطح ورودی از لحاظ فنی با طرحهای ccNUMA همراه است، اگرچه آنها میتوانند به عنوان SMP برای تلفات خاصی در عملکرد طراحی شود. سیستمهای مبتنی بر SMP با اتصال دادن سیستمهای کوچکتر با یکدیگر ایجاد میشود. مثالی از این موضوع نرمافزار توسعهداده شده بوسیله ScaleMP است.
 
با معرفی ARM های SoC کورتکس-A9 چندهستهای، چندپردازندههای ارزانقیمتی به صورت متقارن در سیستم جاسازی شدند تا در شکل گوشیهای هوشمند و تبلتها با پردازندهی چندهستهای فعالیت کنند.
 
=== سیستمهای در سطح میانی: ===
SMP در ابتدا مستقرشده D825 در سال 1962 مطرح شده است. این مورد بعداً در دیگر چارچوبها نیز مطرح شده است. سرورهای در سطح میانی، به کمک چهار تا هشت پردازنده، میتوانند با زئون اینتل MP، اوپترون AMD 800 و 8000 سری و اولتراSPARC ذکرشده در نظر گرفته شوند. سیستمهای با انتهای بالا نیز با شصت پردازنده یا بیشتر در نظر گرفته میشود که در تمام پردازنده های فوق در دسترس هستند.
 
سیستمهای رایانهای متوالی ماشینهای SMP را به کمک اینتل 80386 در نظر میگیرند. برخی سیستمهای کوچکتر موجودند، اما بازارامابازار اصلی SMP به صورت x86 با فناوری پنتیوم اینتل در سال 1995 در پشتیبانی تا 2 پردازنده ایجاد شد. موارد اینتل پشتبانی SMP تا چهار پردازنده را نیز صورت میدهند. پس از آن، پنتیوم 2 اینتل و پنتیوم 3 اینتل سیستمهای با سی پی یوی دوگانه را در نظر گرفتند که برای سلرونهای متناظر مطرح بود. این مورد بوسیله زئون پنتیوم اینتل و پردازندههای زئون 3 نیز با بیش از 4 پردازنده در یک سیستم قابلیت استفاده دارند. در سال 2001 ، AMD توانست آتلون MP یا سی پی یوی چندپردازنده را همراه با چیپستهای مادربورد 760MP به عنوان پیشنهاد اولیه در بازار پردازنده دوگانه به کار بندد. اگرچه برخی سیستمهای بزرگتر نیز ساخته شدند، آنها همگی بوسیله محدودیت آدرس دهی 64 گیگابایتی تحت تأثیر بودند. با معرفی حافظهی 64 بیتی اوپترون AMD-64 در سال 2003 و اینتل 64 در سال 2005، سیستمها توانایی جهتدهی میزان بیشتری از حافظه را دارند؛ محدودهی آدرسپذیری 16 EiB نیز در آینده نه چندان دور دور از انتظار نیست.
 
== جایگزینها: ==
[[پرونده:Shared_memory.svg|چپ|بندانگشتی|350x350پیکسل|دیاگرام یک سیستم SMP متداول. سه پردازنده به ماژول حافظه مشابه از طریق یک پایانهی سیستمی یا کلید مقطعی متصل شدهاند.<br>{{سخ}}]]
]]
SMP یک سیستم اشتراکی منفرد را به کار میبندد که نشاندهندهی یکی از سبکهای اولیهی پیکربندی دستگاه چندپردازنده است و معمولاً برای ساخت رایانههای کوچکتر همراه با بیش از 8 پردازنده در نظر گرفته میشود.
 
سیستمهای رایانهای بزرگتر ممکن است پیکربندیهای جدیدتر را به صورت NUMA در نظر گیرد که بانک حافظهی جداگانهای برای پردازندههای متفاوت به دست میدهد. در یک پیکربندی NUMA، پردازندهها ممکن است با حافظه محلی دسترسی سریعتری داشته و حافظه از راه دور کندتر به آنها پاسخ دهد. این مورد تا حد چشمگیری خروجی حافظه را بهبود داده تا دادهها برای فرآیندهایفرایندهای خاص محلیسازی شوند. در سطحی پایینتر، NUMA هزینه جابهجایی داده از یک پردازنده به دیگری را میدهد، چرا که در تعادل بار کاری، این مورد گرانتر خواهد شد. مزایای نوما محدود به بارهای کاری خاصی است و در سرورهایی که دادهها اغلب با وظایف یا کاربران خاصی در ارتباطند به کار می آید.
 
در نهایت، چندپردازندههای خوشهای رایانهای وجود دارند که در آن همه ی حافظه ها در دسترس همهی پردازندهها نیست. تکنیکهای خوشهبندی نیز نسبتاً برای ساخت ابررایانههای بزرگ به کار میآیند.
 
== SMP متغیر : ==
چندپردازی متقارن متغیر یک ابزار متحرک خاص است که فناوری آغازشده بوسیله NVIDIA را به کار میبندد. این فناوری شامل یک هستهی پنجم در ادوات شبههستهای است که هستهی همراه نامیده میشود و به صورت خاص برای وظایف اجرایی در فرکانس پایینتر طی حالت استندبای، ویدئوی زمینه و موسیقی زمینه شکل گرفتن است.
 
پروژه Kal-El که به وسیله NVIDIA طرح شده نخستین SoC در مورد استقرار این فناوری vSMP جدید محسوب میشود. این فناوری نه تنها توان مصرفی موبایل را طی حالت استندبای کاهش نمیدهد،نمی‌دهد، بلکه همچنین عملکرد هستهی دیگر را طی کاربرد فعال یا موارد کاری سنگین افزایش میدهد. در کل این فناوری نیاز به افزایش در عملکرد عمر باتری را طی کاربرد فعال و استندبای با کاهش مصرف توان در پردازندههای موبایلی را میرساند.
 
برخلاف پیکربندیهای SMP، هسته همراه با ظاهر OS بدین معناست که سیستم عملیاتی و اجرای برنامهها در مجموع از این هستهی اضافی ناآگاهند اما هنوز توانایی برگرفتن مزایای آن وجود دارد. برخی از مزایای پیکربندی vSMP شامل انسجام حافظه پنهان، کارایی OS، و بهینهسازی توان است. مزایای این پیکربندی در زیر توضیح داده شده است:
* انسجام حافظهی پنهان : هیچ پیامدی برای همزمانسازی حافظههای پنهان میان هستههای در حال فعالیت در فرکانسهای مختلف دیده نمیشودنمی‌شود چون vSMP هسته همراه ندارد و هستههای اصلی به صورت همزمان فعالیت میکنند.
* کارایی OS: این مورد هنگامی که هستههای سی پی یو در فرکانسهای غیرهمزمان مختلف عمل کنند غیرکارآمد است زیرا منجر به معضلات زمانبندی محتملی خواهد شد. با vSMP، سی پی یوی فعال در فرکانس مشابهی عمل کرد و زمانبندی OS بهینه میشود.<br>
* بهینه سازی توان : در پیکربندی مبتنی بر ساعت غیرهمزمانسازی شده، هر هسته در صفحه توانی مختلف جهت ساماندهی تنظیمات ولتاژ برای فرکانسهای مختلف عمل میکند. نتیجهی این موضوع بر عملکرد اثر دارد. فناوری vSMP توانایی این را دارد هستهها را برای کاربرد اصلی و استندبای فعال و غیرفعال کند و مصرف کلی توان را کاهش دهد.<br>
 
 
== See also ==
سطر ۹۴ ⟵ ۸۸:
 
== منابع ==
{{reflistپانویس|colwidth=40em|refs=<ref name="AutoMQ-1">{{cite journal |title= Trends in Multi-core DSP Platforms |authors= Lina J. Karam, Ismail AlKamal, Alan Gatherer, Gene A. Frantz, David V. Anderson, Brian L. Evans |journal= IEEE Signal Processing Magazine, Special Issue on Signal Processing on Platforms with Multiple Cores |year= 2009 |url= http://users.ece.utexas.edu/~bevans/papers/2009/multicore/MulticoreDSPsForIEEESPMFinal.pdf }}</ref> <ref name="AutoMQ-2">[http://ei.cs.vt.edu/~history/Parallel.html 1962]</ref> <ref name="AutoMQ-3">[http://ed-thelen.org/comp-hist/BRL64-b.html 1964 BRL Report]</ref> <ref name="AutoMQ-4">[http://www.nvidia.com/content/pdf/tegra_white_papers/tegra-whitepaper-0911b.pdf Variable SMP – A Multi-Core CPU Architecture for Low Power and High Performance. NVIDIA. 2011.]</ref>}}
 
== لینکپیوند هایبه خارجیبیرون ==
* [http://ei.cs.vt.edu/~history/Parallel.html History of Multi-Processing]
* [http://www.cs.bris.ac.uk/~alan/book.html Practical Parallel Programming in Pascal]
سطر ۱۰۲ ⟵ ۹۶:
* [http://www.multicorezone.com Multicore News blog]
* [http://www.amd.com/us-en/Processors/ProductInformation/0,,30_118,00.html AMD]
 
[[رده:رایانش موازی]]
[[رده:رده‌های رایانه]]
[[رده:طبقه‌بندی فلین]]
[[رده:رایانش موازی]]