قبل از ارائه فاکتورهای لازم جهت انتخاب پردازنده مناسب برای سرور باید مفهوم پردازنده پرداخت. Central Processing Unit یا واحد پردازش مرکزی به عنوان هسته اصلی سرور به شمار میرود. چه در حال سفارشیسازی یک سرور باشید و چه در حال بهروزرسانی سرورهای قدیمی؛ میبایست از توان عملکردی سرور خود آگاه باشید.
در صورتی که پردازنده از هستههای بیشتری تشکیل شده باشد و سرعت ریزپردازندهها (clock speed) بالاتر باشد، در مقایسه با پردازندهای که دارای هسته و سرعت کمتری است، عملکرد و پاسخگویی بسیار بالاتری دارد.
محل قرارگیری پردازنده یا CPU بر روی چیپست یا مجموعه تراشه میباشد. چنانچه پردازنده را به عنوان موتور اتومبیل در نظر بگیرید، چیپست آن، همان شاسی خودرو میباشد. Chipset، چارچوبی است که موتور اتومبیل در آن استراحت میکند.
شما میتوانید از طریق چیپست به دنیای خارج، متصل شوید. چیست به شما کمک میکند تا خودروی خود را استارت بزنید و متوقف کنید. پردازنده از طریق چیپست میتواند با اجزا داخلی مانند برد آداپتور، ماژولهای حافظه و سایر دستگاهها، ارتباط برقرار کند.
از آنجا که chipset، میتواند تمامی رابطهای سرور را کنترل کند، بهتر است ابتدا نوع چیپستی که برای سرور خود انتخاب میکنید و همچنین پردازندههای مختلف سازگار با چیپست را بررسی نمایید. نوع پردازنده و چیپست، تعیین کنندۀ سرعت سرور و میزان حافظهای که میتوانید استفاده کنید و همچنین برنامههایی که به راحتی اجرا میشوند، میباشد.
کدام فاکتورهای پردازنده به هنگام انتخاب سرور، حائز اهمیت هستند؟
– Clock Speed: این فاکتور برحسب گیگاهرتز اندازهگیری میشود. هر چقدر این عدد بالاتر باشد، clock speed یا همان سرعت، بالاتر خواهد بود. پردازندۀ سرور شما جهت اجرای برنامهها، باید بتواند محاسبات را به صورت مداوم انجام دهد.
هر چقدر عدد فاکتور clock speed بالاتر باشد، پردازنده به همان میزان، میتواند محاسبات را سریعتر انجام دهد. Clock speed به همراه bit width مشخص میکند چه مقدار داده، در یک ثانیه جریان مییابد.
در صورتی که یک پردازنده، دارای سرعتی برابر با 2.92 گیگاهرتز باشد و bit width آن 32 بیت باشد، یعنی میتواند تقریبا 3 میلیارد واحد از 32 بیت داده را در هر ثانیه، پردازش کند. به عبارت دیگر، حتی اگر در حال اجرای برنامههای سنگین با چنین clock speedی باشید، پاسخگویی مناسبی خواهید داشت.
– Cores: اگر در اوایل سال 2000، کامپیوتری داشتید، احتمالا به یاد میآورید که وقتی یک برنامه هنگ میکرد، کل سیستم از کار میافتاد. این مشکل، تنها مربوط به سیستمعامل نبود، بلکه مربوط به پردازنده نیز بود.
پردازنده با یک هسته به این معنی است که نمیتوان بیش از یک برنامه را به صورت همزمان اجرا نمود. بدیهی است که با پردازندۀ چند هستهای میتوان چندین برنامه را به صورت همزمان پردازش نمود، زیرا آنها را به چندین واحد تقسیم میکند.
اگر به صورت تصادفی، یکی از هستهها از کار بیفتد، میتوانید به کار خود ادامه دهید، درحالیکه مشکل را نیز بررسی میکنید. یا این که برای دوباره راه انداختن هستهای که مشکل پیدا کرده، میتوانید بقیه هستههای در حال اجرا را ببندید.
– Threads: این فاکتور، به تعداد پردازندههایی که یک چیپ میتواند به صورت همزمان کنترل کند، اشاره دارد. Threadها، شباهت زیادی به تعداد هستهها دارند. در ضمن پردازندههایی که دارای قابلیت multithreading هستند، به این معناست که به یک تک هستهای اجازۀ ایجاد dual threads داده میشود.
– Cache: از cache یا همان حافظه پنهان، جهت سرعت بخشیدن به دسترسی به دستورالعملها و همچنین دادههای بین پردازنده و RAM استفاده میشود. سه نوع cache وجود دارد:
- L1- سریعترین و به هم فشرده است.
- L2- جادارتر ولی کندتر است.
- L3- جادار است ولی در مقایسه با دو مورد بالا، سرعت کمتری دارد.
نباید به حافظه پنهان زیاد توجه نشان داد، زیرا عملکرد آن در دنیای واقعی جایی ندارد. مهمترین فاکتورهایی که باید در نظر داشت، clock speed و هسته است که باید به هنگام خرید سرور مد نظر قرار داد.
چرا پردازندههای چند هسته، مورد توجه قرار میگیرند؟
با توجه به محدودیتهای فنی خاص، افزایش clock speed بر روی یک پردازنده از دیدگاه تولیدکنندگان بسیار مشکل میباشد. بنابراین، آنها ترجیح میدهند، واحدهای پردازشی یکسان بیشتری را به یک پردازنده، اضافه کنند. انتخاب پردازنده مناسب برای سرور
سوالی که مطرح میشود این است که هستههای بیشتر با clock speed کمتر بهتر است یا هستههای کمتر با clock speed بالاتر؟
در صورتی که حق انتخاب وجود داشته باشد، بهتر است همیشه، هستههای بیشتر با clock speed بالاتر را انتخاب نمایید، اما این انتخاب برای همه مقدور نیست، در ضمن هزینههای بالاتری را نیز در بر دارد. بنابراین بهتر است بررسی کنیم کدام یک برای برنامه مورد نظر شما مناسب است.
– هستههای بیشتر با clock speed پایینتر
مزایا:
پردازندههای دارای هستههای بیشتر، عملکرد بهتری ارائه میدهند و مقرونبهصرفه نیز هستند. انتخاب پردازنده مناسب برای سرور
- برنامههایی که multi-threading را پشتیبانی میکنند، از تعداد بیشتری هسته بهرهمند میگردند.
- پشتیبانی از multi-threading برای برنامهها به مرور زمان افزایش مییابد.
- به راحتی و بدون شکست، میتوان برنامههای بیشتری را اجرا نمود.
- یک گزینه عالی برای مجازیسازی و اجرای چندین ماشین مجازی میباشد.
معایب:
- عملکرد single threaded پایینتری خواهد داشت.
هستههای کمتر با clock speed بالاتر
مزایا:
- عملکرد single threaded بهتر
- هزینه کمتر
معایب:
- با توجه به تعداد کم هستهها، تقسیم بین برنامهها دشوار میشود.
- به اندازه عملکرد multi-threading قوی نیست.