سیستم های چند پردازنده ای

اغلب سیستم های امروزی تک پردازنده ای هستند. یعنی فقط یک CPU دارند.

اما سیستم های چند پردازنده (که سیستم های موازی یا سیستم های اتصال قوی هم نام دارند)، در حال رشد هستند.

سیستم های چند پردازنده ای، چندین CPU دارند که ارتباط نزدیکی با هم داشته و از BUS کامپیوتر (درگاه)، ساعت و حتی حافظه و دستگاه های جانبی به طور اشتراکی استفاده میکنند.

سیستم های چند پردازنده ای

 

سیستم های چند پردازنده ای سه امتیاز عمده و اصلی دارند:

۱- توان عملیاتی بالا

با افزایش تعداد پردازنده ها، کار بیشتری در حداقل زمان انجام میشود.

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

وقتی چندین پردازنده بر روی وظیفه ای با هم همکاری میکنند، سربارهایی (OverHead) لازم است تا همه چیز به خوبی پیش برود.

این سربار، به اضافه تلاش برای دسترسی بیشتر به منابع مشترک، دستاورد مورد انتظار را از چند پردازنده ای کاهش میدهد.

به همین ترتیب، کارایی گروهی از N برنامه نویس، کمتر از مجموع کارایی همه آنهاست!

 

۲- صرفه جویی اقتصادی

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

اگر چندین برنامه روی یک دسته از داده ها عمل کنند، خوب است که آن داده ها بر روی یک دیسک ذخیره شوند و پردازنده ها از آن به طور اشتراکی استفاده کنند.

 

۳- افزایش قابلیت اعتماد

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

اگر ۱۰ پردازنده داشته باشیم که یکی از آنها خراب شود، هر یک از ۹ پردازنده باقی مانده باید کار آن پردازنده خراب را انجام دهند؛ لذا، کل سیستم ۱۰% کندتر کار میکند.

این قابلیت توانایی برای ادامه کار، برای ارائه خدماتی مناسب با سطح بقاء سخت افزار، تنزل مطبوع (Graceful Degration) نام دارد.

سیستم هایی که برای تنزل مطبوع طراحی میشوند، تحمل کننده خطا (Fault Tolerant) نامیده میشوند.

 

 

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

سیستم تَندِم با تکثیر سخت افزار و نرم افزار تضمین میکند که با وجود خرابی، سیستم به کارش ادامه دهد.

این سیستم از دو پردازنده یکسان تشکیل شده است که هر کدام حافظه محلی خاص خود را دارد.

این پردازنده ها از طریق یک گذرگاه به هم وصل هستند، یکی از آنها اصلی و دیگری پشتیبان است.

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

در صورت خرابی، کپی پشتیبان فعال شده، از آخرین نقطه کنترلی شروع به اجرا میکند.

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

 

متداولترین سیستم های چند پردازنده ای امروزی از مدل چند پردازشی متقارن (Symmetric MultiProcessing یا SMP) استفاده میکنند که در آنها هر پردازنده از کپی یکسانی از سیستم عامل استفاده میکنند و این کپی ها در صورت لزوم با یکدیگر ارتباط برقرار میکنند.

بعضی از سیستم ها از مدل چند پردازشی نامتقارن (Asymmetric MultiProcessing) استفاده میکنند که در آن، هر پردازنده وظیفه مشخصی دارد.

یک پردازنده اصلی، سیستم را کنترل میکند و سایر پردازنده ها از پردازنده اصلی دستور میگیرند یا وظیفه مشخصی دارند.

این طرح، رابطه رئیس / مرئوس را تعریف میکند؛ پردازنده اصلی (رئیس)، عمل زمان بندی را انجام داده و کار را به سایر پردازنده ها تخصیص میدهد.

 

معنای SMP این است که تمام پردازنده ها همتا و نظیر هم هستند. یعنی رابطه رئیس / مرئوس بین آنها وجود ندارد و هر پردازنده به طور همزمان یک کپی از سیستم عامل را اجرا میکند.

فایده این مدل این است که چندین پردازنده میتوانند به طور همزمان اجرا شوند، به طوری که کارایی کاهش نیابد. البته باید مطمئن شویم که داده ها به پردازنده مناسبی میرسند.

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

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

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

 

تفاوت چند پردازشی متقارن و چند پردازشی نامتقارن

تفاوت بین چند پردازشی متقارن و چند پردازشی نامتقارن به سخت افزار یا نرم افزار برمیگردد.

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

 

با ارزان شدن ریزپردازنده ها و قدرتمندتر شدن آنها، وظایف دیگری از سیستم های عامل به عهده پردازنده های مرئوس (پشتیبان یا back-end) گذاشته میشود.

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

به این ترتیب، سربار زمان بندی دیسک از پردازنده برداشته میشود.

در صفحه کلید های PC، ریزپردازنده ای وجود دارد که فشردن کلیدها را به کدهایی تبدیل میکند که باید به پردازنده ارسال شوند.

در واقع باید در نظر داشت که، این نوع از کاربرد ریزپردازنده متداول شده است و به عنوان چند پردازنده ای تلقی نمیشود.



[ برچسب ها ] : , , , , , , ,
ارسال شده در : بخش کامپیوتر
نظر شما در مورد اين پست چيست ؟

۵ دیدگاه نوشته شده است! می توانید دیدگاه خود را بنویسید

  1. مژگان گفت:

    سلام.میشه لطفا بگید چه سیستم عامل هایی از چند پردازشی حمایت میکنند؟وهمزمان از چند پردازنده میکنند؟

    • بخش کامپیوتر گفت:

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

  2. نجاتی گفت:

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

    • بخش کامپیوتر گفت:

      سلام
      چند پردازنده های نامتقارن در جاهایی استفاده میشوند که هر CPU وظایف مشخص و غیر قابل تغییر خود را دارد. مثلا فرض کنید دو پردازنده دارید که یکی سیستم عامل را اجرا میکند و پردازش های ریاضی و منطقی را انجام میدهد ولی پردازنده دوم فقط وظیفه I/O یا گرفتن ورودی و خروجی سیستم را بر عهده دارد و حتی برای اجرای سیستم عامل، دسترسی ندارد.
      طبق منابع سیستم و پردازنده های Intel Atom330 و VAX-11/782 و PDP-11/74 از مواردی هستند که چند پردازنده ای نامتقارن را به کار برده اند.

  3. لاله گفت:

    خیلی وبسایتتون عالیه سپاس

دیدگاه خود را به ما بگویید.

 
 
  دکتری تخصصی برق الکترونیک
طراح مدارهای الکترونیکی
برنامه نویس انواع میکروها
مشاوره و اجرای لینک های وایرلس
پیاده سازی سیستم های مبتنی بر شبکه
E_mail: electronic@sabzelco.ir
Tel: 09150462401
توسعه دهنده برنامه های سمت سرور

طراحی و برنامه نویسی سایت و پرتال های حرفه ای

E_mail: computer@sabzelco.ir
Tel: 09371974233