کامپيوترها ميتوانند به جاي يک CPU چندين CPU داشته باشند که در اينصورت به آنها سيستم multiprocessing ميگويند. جهت استفاده از اين سيستمها نياز به يک سيستم عامل خاص ميباشد که بتواند چندين برنامه يا نخهاي (thread) يک فرايند را به صورت موازي واقعي روي آنها اجراء کند. سيستم عامل multi tasking براي اجراء چند نخ بر روي يک CPU و سيستم عامل multi processing براي اجراي چند نخ بر روي چند CPU به کار ميروند.
مزاياي اين سيستمهاي عبارتند از :
زياد شدن توان عملياتي (throughput).
منظور از throughput تعداد کارهايي است که در يک واحد زماني تمام ميشوند. بديهي است هر چقدر تعداد پردازندهها بيشتر باشد تعداد کارهاي تمام شده در يک پريود زماني نيز بيشتر خواهد بود. البته اين نسبت خطي نيست , مثلا اگر تعداد پردازندهها n باشد سرعت اجراء برنامهها n برابر نميشود چرا که بخشي از وقت پردازندهها جهت مسائل کنترلي و امنيتي وسوئيچ کردن ها به هدر ميرود.
صرفه جويي در هزينهها , از آنجا که پردازندهها منابع تغذيه , ديسکها , حافظهها و ادوات جانبي را به صورت مشترک استفاده ميکنند در هزينههاي سخت افزاري صرفهجويي ميشود.
تحمل پذيري در برابر خطا ( fault-tolerant) سيستم هاي مالتي پروسسور قابليت اعتماد را افزايش ميدهند چرا که خرابي يک CPU سبب توقف سيستم نميشود بلکه تنها سبب کند شدن آن خواهدشد. استمرار عمل با وجود خرابي نيازمند مکانيزمي است که اجازه دهد خرابي جستجو شده , تشخيص داده شده و در صورت امکان اصلاح شود (يا کنار گذاشته شود). اين توانايي به ادامه سرويس , متناسب با سطح بقاي سخت افزار ,تنزل مطبوع يا graceful degradation ناميده ميشود.
سيستمهاي عاملهاي چند پردازندهاي به دو دسته کلي متقارن و نامتقارن تقسيم ميشوند:
در سيستم چند پردازندهاي نامتقارن ( Asymmetric Multi Processing = ASMP ) يک پردازنده جهت اجراء سيستم عامل و پردازندههاي ديگر جهت اجراي برنامههاي کاربران استفاده ميشود. از آنجا که کد سيستم عامل تنها روي يک پروسسور اجراء ميشود, ساخت اين نوع سيستم عامل نسبتا ساده است و از تعميم سيستم عامل تک پردازندهاي به دست ميآيد.
اين نوع سيستم عاملها براي اجراء روي سخت افزارهاي نامتقارن مناسب هستند, مانند کمک پردازنده و پردازندهاي که به هم متصل هستند يا دو پردازندهاي که از تمام حافظهموجود مشترکا" استفاده نميکنند . يکي از معايب سيستم عامل نامتقارن غير قابل حمل بودن (non-portable) آن است . يعني براي سخت افزارهاي مختلف بايد سيستم عاملهاي مختلفي نوشته شود چرا که نامتقارني ميتواند حالات مختلف داشته باشد.
در سيستم چند پردازندهاي متقارن ( symmetric Multi Processing = ASMP ) سيستم عامل ميتواند روي هر يک از پروسسورهاي آزاد يا روي تمام پردازندهها همزمان اجراء شود. در اين حالت حافظه بين تمام آنها مشترک ميباشد. تمام پردازندهها اعمال يکساني را ميتوانند انجام دهند. سيستم متقارن از چند جنبه نسبت به نوع نامتقارن برتري دارد:
از آنجا که سيستم عامل خود يک پردازش سنگين است اگر فقط روي يک CPU ها اجراء شود باعث ميگردد که آن پردازنده همواره بار سنگيني داشته باشد, در حاليکه احتمالاً پردازندههاي ديگر بي کار هستند لذا اجراء سيستم عامل روي چند پردازنده باعث متعادل شدن ( balancing ) بار سيستم ميشود.
در سيستم نامتقارن اگر پردازنده اجراء کننده سيستم عامل خراب شود کل سيستم خراب ميشود ولي در سيستم متقارن از اين نظر امينت بيشتر است چرا که اگر يک پردازنده از کار بيفتد سيستم عامل ميتواند روي پردازندههاي ديگر اجراء شود.
بر عکس سيستم عامل نامتقارن , سيستم عامل قابل حمل ( portable ) بر روي سيستم هاي سخت افزاري مختلف است. وجود پردازندههاي متعدد از ديد کاربر مخفي است و زمانبندي نخها ( Thread ) يا فرآيندها ( process ) روي هر يک از پردازندهها به عهده سيستم عامل است.
گرچه Multithriding و Multiprocessing امکانات مستقلي هستند ولي معمولاً با هم پياده سازي ميشوند. حتي در يک ماشين تک پردازندهاي , چند نخي کارايي را افزايش ميدهد. همچنين ماشين چند پردازندهاي حتي براي فرآيندهاي غير نخي هم کارآمد است.
گاهي اوقات به سيستم هاي چند پردازندهاي, سيستم هاي Tightly Coupled يا ارتباط محکم نيز گفته ميشود. چرا که پردازندهها کلاک (Clock), گذرگاه و همچنين حافظه مشترکي دارند.
منبع: پورتال ایمن
:: برچسبها:
پروسسور، پردازنده، پردازنده چندهسته ای، ,
:: بازدید از این مطلب : 67
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0