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

هنگامی که نام پردازنده سرور می آید، بیش از حد از واژه های گیج کننده توسط فروشندگان سرور استفاده میشود. واژه هایی از قبیل : پردازنده های چند پردازشی ، چندگانه، چند هسته ای،  thread های متعدد و … در این مقاله قصد داریم به کشف معانی این واژه ها، همراه با مفاهیم پردازنده سرور ها برای برنامه های کاربردی که در سرور های کامپیوتری اجرا میشوند بپردازیم.

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

ضرورت مهم برای درک بهتر پردازنده های : multiple processor

پردازنده سرور (CPU) ، یکی از اجزاء اصلی سرور است که تمام محاسبات مورد نیاز برای تکمیل وظایف مختلف به آن اختصاص داده شده است .

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

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

در این زمینه 3 نوع آوری مختلف وجود دارد :

پردازنده های چند پردازشی ( در سوکت های متعدد )، چند هسته ای ( در هر سوکت )، thread  های مختلف ( در داخل هر هسته )

 

پردازنده های چند پردازشی ( در سوکت های متعدد ) :

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

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