پردازندههای سرور چگونه کار میکنند؟ چه تفاوتهایی با پردازندههای کامپیوترهای شخصی دارند؟ کدام پردازنده را برای سرورهای خود باید انتخاب کنیدم شرکت مفتاح رایانهافزار، پیشرو در ارائه راهحلهای زیرساخت که از پیشرفتهترین فناوریها پشتیبانی میکند، خرسند است که جدیدترین راهنمای فنی خود در این زمینه را در اختیار علاقهمندان قرار دهد. در این راهنما، اصول اولیه پردازندههای سرور را بررسی میکنیم، تفاوتهای بین انواع مختلف پردازندهها را مقایسه میکنیم و سپس به معرفی چند محصول برتر شرکت گیگابایت در این حوزه خواهیم پرداخت که میتوانند به شما در دستیابی به اهدافتان در زمینه انتخاب بهترین پردازندهها برای سرور کمک کنند.
در دنیای مدرن فناوری اطلاعات، شرکتها به این نکته آگاه شدهاند که تحول دیجیتال خود را هرچه سریعتر آغاز کنند. ابزارهایی که آنها انتخاب میکنند اغلب سرورهای پرقدرت و بسیار قابل اعتماد هستند – ترجیحا سرورهایی با ردپای کربن کمتر و سازگارتر با محیط زیست. این سرورها نیروی محرکه پشت ابرکامپیوترها و مراکز داده هستند. به طور کلی، سرورهایی برندهای مختلفی همچون اچپی، دل، گیگابایت و غیره به توان محاسباتی بالایی نیاز دارند که تحت عنوان پردازنده مرکزی سرور از آن نام برده میشود و درون سرور قرار میگیرد. یک مولفه کلیدی که نقش مهمی در انتخاب دیگر تجهیزات سختافزاری سرور دارد.
پردازنده سرور چیست؟
پردازنده سرور، واحد پردازش مرکزی یا CPU، قلب تپنده یک سرور است که وظیفه آن اجرای “چرخههای دستورالعمل” است – یعنی، کار با سایر مولفههای داخل یک سرور برای انجام محاسباتی که حجم کاری اصلی یک سرور را تشکیل میدهند. به این ترتیب، سرورها وظایف بیشماری را از ذخیره دادهها و میزبانی صفحات وب گرفته تا تحقیق در مورد راهحلهای تغییرات آب و هوا و کمک به دانشمندان در اکتشاف فضای بیرونی انجام میدهند.
پردازنده مرکزی، ظاهر چندان خاصی ندارد، زیرا یک تراشه است که میتوانید آن را در دست خود بگیرید. درون آن، مجموعهای کامل از ترانزیستورها و مدارهای مجتمع برای انجام محاسبات وجود دارد، مانند شمارنده برنامه، ثبات پردازنده و واحد منطق حسابی (ALU). آنها برای انجام چرخههای دستورالعمل استفاده میشوند که میتوان آنها را به چهار مرحله تقسیم کرد: واکشی، رمزگشایی، اجرا و بازنویسی. به همین دلیل، چرخه دستورالعمل، چرخه واکشی-رمزگشایی-اجرا نیز نامیده میشود.
هر زمان که برنامهای را اجرا میکنیم، پردازنده دستورالعملها و دادهها را از حافظه دسترسی تصادفی یا RAM “واکشی” میکند و دستورالعملها را “رمزگشایی” میکند تا بفهمد چه کاری باید انجام دهد. بر اساس نحوه طراحی معماری، مجموعه دستورالعمل (ISA) پردازنده، ممکن است در قالب CISC یا RISC باشند.
در مرحله “اجرا”، پردازنده از مولفههای داخلی خود، مانند ALU، برای انجام محاسبه و اجرای دستور استفاده میکند. در نهایت، پردازنده نتایج را در رم “بازنویسی” میکند و به این ترتیب چرخه دستورالعمل را کامل میکند. نکته مهمی که باید در این بخش به آن اشاره داشته باشیم این است که یک پردازنده سرور ممکن است میلیاردها چرخه دستورالعمل را در یک ثانیه انجام دهد.
در مورد ISAها، شایان ذکر این است که پردازنده سرور از معماری RISC یا CISC پیروی میکند که بر نحوه ساختار دادههای مورد استفاده و نحوه عملکرد پردازنده با رم تاثیر میگذارد. پردازندههای CISC از دستورالعملهای پیچیدهای پشتیبانی میکنند که میتوانند در چندین چرخه ساعت انجام شوند، به همین دلیل میتوانند بر مبنای کدهای بسیار کم کار کنند، بنابراین، برای ذخیرهسازی همه خطوط دستورالعملها به حافظه زیادی نیاز ندارند. از سوی دیگر، RISC از دستورالعملهای سادهای استفاده میکند که میتوانند در یک چرخه ساعت اجرا شوند که ممکن است شامل کدهای طولانیتر باشند و به حافظه بیشتری نیاز داشته باشند. در مجموع عملکرد دو نوع پردازنده سرور در نهایت تقریبا یکسان است، با این تفاوت که پردازندههای RISC به دلیل معماری جمعوجورتر خود که کمتر پیچیده است، راندمان انرژی بهتر و اتلاف گرمای کمتری دارند.
نوع غالب پردازندههای CSIC به عنوان “x86” شناخته میشود که بر مبنای یک سری پردازندههای اینتل که در دهه 1980 عرضه شدند، نامگذاری شده است. در حال حاضر، دو بازیگر اصلی در بازار x86 اینتل و ایامدی هستند. در سویی دیگر، محبوبترین نوع پردازندههای RISC، پردازنده ARM است که به طور گسترده در تلفنهای هوشمند و سایر دستگاههای تلفن همراه استفاده میشود. به طوری که اعلام شد بین سالهای 1985 تا 2021، 200 میلیارد تراشه ARM در تجهیزات مختلف به کار گرفته شده است. بنابراین، جای تعجب نیست که مشاهده میکنیم پردازندههای ARM در حال ورود به بازار سرور هستند. به طور مثال، “فوگاکو”، یکی از ابرکامپیوترهای پیشرو در جهان نیز بر روی پردازندههای ARM اجرا میشود.
پردازنده سرور چه تفاوتی با پردازنده کامپیوتر شخصی دارد؟
کاربرانی که تازه به دنیای فناوری وارد شدهاند، ممکن است تعجب کنند: آیا پردازنده سرور با پردازنده کامپیوتر شخصی (PC) تفاوتی دارد؟ در اینجا چهار تفاوت اساسی بین آنها را مورد بررسی قرار میدهیم، البته قبل از آن باید به این نکته اشاره کنیم که تفاوت بین پردازندههای سرور و پردازندههای PC به نوع کاری که انجام میدهند، برمیگردد. یک پردازنده سرور باید دادههای زیادی را مدیریت کند و به کاربران زیادی سرویس دهد، به همین دلیل باید بسیار قابل اعتماد باشد، حافظههای کش پردازنده در سطح سازمانی است (زیاد است) و امکان نصب بیش از یک پردازنده روی سرورها وجود دارد. یک پردازنده PC دادههای کمتری را مدیریت میکند و به کاربران کمتری سرویس میدهد، بنابراین الزامات سختافزاری آن چندان زیاد نیست.
- تعداد کاربران و حجم داده: بزرگترین تفاوت، میزان داده و تعداد کاربرانی است که یک پردازنده سرور باید با آنها کار کند، در مقایسه با یک پردازنده PC. سرورها با ترابایتها داده کار میکنند و توسط صدها، اگر نگوییم هزاران کاربر به طور همزمان مورد دسترسی قرار میگیرند. به همین دلیل، پردازندههای سرور باید سریعتر محاسبه کنند و با دادههای بیشتری کار کنند. به طوری که گاهی اوقات از آنها در ارتباط با محاسبات با عملکرد بالا (HPC) استفاده میشود.
- دسترسی و قابلیت اطمینان: عملکرد قابل اعتماد یک ویژگی منحصر به فرد آنها است. پردازندههای موجود در سرورها 24 ساعت شبانه روز و 7 روز هفته کار میکنند و باید بالاترین سطح از دسترسپذیری که اکثر مراکز داده به آن نیاز دارند را ارائه دهند، زیرا سرورهای آفلاین ممکن است تعداد زیادی از کاربران را دچار مشکل کنند و خسارت مالی جبران ناپذیری به کسبوکار وارد کنند. در مقایسه، همانطور که هر کاربر PC میداند، پردازندههای PC ممکن است مستعد از کار افتادن باشند، اما معمولا دامنه مشکلات محدود به کاربر است.
- حافظه کش پردازنده: حافظه کش پردازنده یک حافظه پنهان سختافزاری است که به عنوان واسطهای بین رم و پردازنده عمل میکند. با ذخیره دستورالعملها یا دادههای پرکاربرد در حافظه پنهان پردازنده، زمان یا انرژی کمتری برای بازیابی اطلاعات از حافظه اصلی استفاده میشود که عملکرد را بهبود میبخشد. همچنین، پردازندههای سرور عموما از سلسله مراتبی از سطوح حافظه پنهان، از سطح 1 (L1) تا سطح 3 (L3) استفاده میکنند که عدد کمتر نشاندهنده اندازه حافظه پنهان کوچکتر اما سرعت بیشتر است. یک پردازنده PC نیز از حافظههای پنهان چند سطحی استفاده کند، اما الزامات به اندازه سرور بالا نیست.
- سوکتهای پردازنده: در حالی که یک مادربرد دسکتاپ به ندرت نیاز به پشتیبانی بیش از یک پردازندهنصب شده روی سطح دارد، مادربردهای سرور معمولا با سوکتهای مختلف پردازنده به بازار عرضه میشوند. انواع رایج سوکتهای پردازنده شامل (PGA) سرنام Pin Grid Array است که دارای پینهایی روی پردازنده و منفذهایی در سوکت است. (LGA) سرنام Land Grid Array دارای پینهایی در سوکت است. سوکتهای پردازنده، تعویض پردازندهها را در صورت لزوم آسانتر میکنند.
چه عاملی بر عملکرد پردازنده سرور تاثیر میگذارد؟
به طور کلی چهار عامل هسته، رشته، سرعت کلاک بر عملکرد پردازندههای سرور تاثیرگذار هستند که توضیحات آنها به شرح زیر است:
- هسته: هسته مولفه کلیدی پردازنده است که در آن چرخههای دستورالعمل اجرا میشوند. در گذشته، یک پردازنده منفرد دارای یک هسته بود. امروزه، یک پردازنده منفرد میتواند تعداد زیادی هسته را در خود جای دهد که هر کدام قادر به انجام چرخههای دستورالعمل خود هستند. این امر عملکرد سرور را به به شکل بیسابقهای افزایش داده است. به طوری که پردازندهها توانایی انجام وظایف سنگین و پیچیده را به شکل همزمان از طریق فرآیندی که محاسبات موازی نام دارد، اجرا میکنند. تعداد هستهها یک عامل تصمیمگیرنده مهم در عملکرد پردازنده سرور است، اما تعداد رشتهها و سرعت کلاک نیز باید در نظر گرفته شوند. تعداد هستهها، رشتهها و نرخ کلاک سه معیار هستند که بر عملکرد یک پردازنده سرور تاثیر میگذارند. در حالی که قانون کلی این است که “بیشتر و بزرگتر بهتر است”، همه چیز به کاری که قصد دارید با سرورهای خود انجام دهید، بستگی دارد.
- رشته: رشتهها کوچکترین توالی دستورالعملها هستند که میتوانند به طور مستقل در هر هسته اجرا شوند. معمولا یک هسته پردازنده پیشرفته شامل دو رشته است که میتوان آن را به عنوان هستهای در نظر گرفت که قبل از اینکه چرخه قبلی کاملا کامل شود، یک چرخه دستورالعمل جدید را آغاز میکند. از طریق فرآیندی به نام چند رشتهای (یا Hyperthreading)، یک هسته اساسا میتواند عملکرد خود را دو برابر کند. به طور مثال، سرورهای HPC از هستهها و رشتههای پردازنده برای دستیابی به بهترین عملکرد استفاده میکنند.
- سرعت کلاک: سرعت کلاک که به عنوان نرخ کلاک نیز شناخته میشود، یک شاخص رایج در تعامل با سرعت پردازنده است. این ویژگی به فرکانسی اشاره دارد که در آن پردازنده سیگنالهای ساعت یا “پالسهایی” را که عملیات را داخل پردازنده هماهنگ میکنند، تولید میکند. واحد اندازهگیری “چرخههای ساعت در ثانیه” یا هرتز (Hz) است. از آنجایی که سرعت کلاک پردازندههای سرور مدرن معمولا بر حسب گیگاهرتز (GHz) اندازهگیری میشود، آنها میلیاردها چرخه ساعت را هر ثانیه اجرا میکنند! ممکن است وسوسهانگیز باشد که پردازندههایی با بالاترین سرعت کلاک را انتخاب کنید، اما مانند هر عامل دیگری در مورد پردازندههای سرور، هیچ شاخص واحدی همه چیز و پایان همه چیز نیست. توان عملیاتی بین پردازندهها و رم، معماری حافظه کش، ماهیت حجمهای کاری شما – همه این عوامل باید هنگام انتخاب پردازنده بهینه برای سرور در نظر گرفته شوند.
گیگابایت راهحلهای سروری برای پردازندههای مختلف ارائه میدهد
شرکت گیگابایت سرورهای متنوعی به بازار عرضه کرده که برخی از آنها توانایی پشتیبانی از پیشرفتهترین پردازندههای سرور موجود در بازار را دارند. چه به دنبال پردازندههای x86 مبتنی بر CISC باشید، مانند سری محصولات AMD EPYC™ و Intel® Xeon® Scalable یا پردازندههای ARM مبتنی بر RISC، که توسط محصولات Ampere Computing ارائه میشوند – سرورهای بیشتر شرکتها همچون گیگابایت این موضوع را پوشش میدهد.
هر دو پردازنده RISC و CISC انتخابهای عالی برای سرورهای مدرن هستند. به طور کلی، پردازندههای x86 در مراکز داده و زیرساختهای فناوری اطلاعات امروزی هستند، زیرا از اکوسیستم کامل سختافزاری و نرمافزاری که نتیجه سالها توسعه بازار توسط اینتل و ایامدی است، سود میبرند. آنها همچنین زمان پاسخگویی فوقالعاده سریعی دارند و قادر هستند به بارهای کاری سنگین و پیچیده از طریق چند رشتهای به خوبی پاسخ دهند. پردازندههای ARM در عملکرد شگفتانگیز با مصرف برق بهینه و اتلاف گرمای کمتر معروف هستند. از آنجا که اکثریت قریب به اتفاق دستگاههای تلفن همراه مبتنی بر ARM هستند، پردازندههای ARM نیز عملکرد خود را به عنوان “محصولات سختافزاری بومی ابری” برای شرکتها به اثبات رساندهاند. پردازندههای ARM به طور کلی تعداد هستههای بالاتر، عملکرد بهتر در هر وات، راندمان انرژی و اتلاف گرمای عالی و TCO پایینتری ارائه میدهند. ناگفته نماند که برای بهرهمندی کامل از این پردازندههای سرور، به یک محصول سرور قابل توجه نیاز دارید. شرکت گیگابایت سرورهای قدرتمندی دارد که از پردازنده های Ampere® Altra® و Ampere® Altra® Max در صورت انتخاب پردازندههای ARM یا پردازندههای Intel® Xeon® Scalable و AMD EPYC™ در صورت انتخاب پردازندههای x86 پشتیبانی میکنند.
اگر به دنبال پردازندههای ARM هستید که از ISA RISC پیروی میکنند، شرکت گیگابایت محصولاتی را ارائه میدهد که توسط پردازندههای Ampere® Altra® و Ampere® Altra® Max تغذیه میشوند. اگر به پردازندههای x86 نیاز دارید که از ISA CISC پشتیبانی میکنند، نمیتوانید با سرورهای گیگابایت که از پردازندههای Intel® Xeon® Scalable یا AMD EPYC™ پشتیبانی میکنند، استفاده کنید.
همانطور که گفته شد، پردازندههای ARM به طور گسترده در دستگاههای تلفن همراه مانند تلفنهای هوشمند و تبلتها استفاده میشوند زیرا RISC حول چرخههای دستورالعمل سادهتر میچرخد که مصرف برق و اتلاف گرمای پردازندهها را کاهش میدهد. اگر به دنبال یک راهحل سرور با راندمان انرژی فوقالعاده هستید، یا اگر قصد دارید با دستگاههای تلفن همراه یا لبه مبتنی بر ARM کار کنید، سرورهای گیگابایت که توانایی پشتیبانی از پردازندههای Ampere® Altra® و Ampere® Altra® Max را دارند، بهترین انتخاب هستند.
از آنجایی که پردازندههای x86 مبتنی بر CISC هستند، قادر به اجرای دستورالعملهای پیچیدهای هستند که میتوانند در چندین چرخه ساعت انجام شوند. بنابراین، حتی اگر تعداد هستهها کاملا با پردازندههای ARM قابل مقایسه نباشد، آنها همچنان قادر به ارائه عملکرد باورنکردنی با استفاده از تکنیکهایی مانند چند رشتهای هستند. مقیاسپذیری و سازگاری پردازندههای x86 بر کسی پوشیده نیست. تقریبا تمام راهحلهای سروری گیگابایت از جمله سرورهای با چگالی بالا سری H و سرورهای GPU سری G برای HPC، سرورهای رک سری R با کاربرد عمومی، سرورهای لبه سری E برای محاسبات لبه، سرورهای ذخیرهسازی سری S برای ذخیرهسازی و سرورهای تاور/ایستگاه کاری سری W – همگی از پردازندههای x86 پشتیبانی میکنند. بسیاری از شرکتها و موسسات نیز پردازندههای x86 – چه Intel® Xeon® Scalable و چه AMD EPYC™ باشد را برای سرورهای خود انتخاب میکنند. به عنوان مثال، دانشگاه بارسلونا با ساخت یک خوشه محاسباتی با سرورهای R182-Z90 و G292-Z42 گیگابایت، ظرفیت مرکز داده داخل دانشگاه خود را افزایش داد. این سرورها توسط پردازندههای AMD EPYC™ تغذیه میشوند که دارای 64 هسته و 128 رشته در هر پردازنده هستند که برای پردازش دادههای انجام شده در یک دانشگاه عالی هستند.
کلام آخر
امیدواریم این راهنمای فنی توانسته باشد اصول اولیه پردازندههای سرور، نحوه تفاوت آنها با پردازندههای PC و آنچه بر عملکرد آنها تاثیر میگذارد را توضیح دهد. اگر به دنبال راهحلهای سروری هستید که از پیشرفتهترین پردازندههای سرور پشتیبانی میکنند، باید بدانید شرکتهای دیگری اچپی، دل، ایسوس، لنوو و غیره وجود دارند که محصولات طراز اولی را به بازار عرضه میکنند.
حمیدرضا تائبی