بررسی ویژگی Hyper-Threading بر روی پردازنده های سرور اچ پی
تقریباً تمام پردازنده های امروزی چند هستهای هستند: آنها شامل چندین واحد پردازشی هستند که می توانند همزمان کارهای مختلف را انجام دهند.
مولتی تردینگ:
مولتی تردینگ نوعی موازی سازی یا تقسیم کار برای پردازش همزمان است. برنامه های تردی(thread) به جای اینکه حجم کاری زیادی به یک هسته واحد بدهند، کار را به چندین ترد نرم افزار تقسیم میکنند. این تردها به طور موازی توسط هسته های مختلف پردازنده پردازش میشوند تا در وقت صرفه جویی کنند.
بسته به نحوه ساخت آنها، بازیها ممکن است کمی تردینگ یا تردهای زیادی داشته باشند. برخی از موتورهای قدیمی بازی به دلیل وابستگی به عملکرد تک تردی شناخته شدهاند، به این معنی که آنها بیشتر از یک هسته پردازنده استفاده میکنند و از سرعت کلاک بالاتر تقویت میکنند. امروزه موتورهای بازی مانند Unreal Engine 4 هنگام ایجاد صحنه های پیچیده از چندین هسته استفاده میکنند.
تعریف هایپر تردینگ:
فناوری هایپر تردینگ توسط اینتل ارائه میشود که نوآوری سخت افزاری است که اجازه میدهد تا بیش از یک رشته بر روی هر هسته اجرا شود. موضوعات بیشتر به این معنی است که کارهای بیشتری میتوان به طور موازی انجام داد. این ویژگی از معماری پردازنده IA-32 اینتل است.
نحوه کار هایپر تردینگ به این صورت است که وقتی این فناوری فعال است، پردازنده مرکزی دو زمینه اجرا را در هر هسته فیزیکی نشان میدهد. این بدان معنی است که یک هسته فیزیکی اکنون مانند دو هسته منطقی کار میکند که میتوانند رشته های مختلف نرم افزار را مدیریت کنند. به عنوان مثال پردازنده ده هستهای Intel® Core ™ i9-10900K ، با فعال شدن هایپر تردینگ دارای 20 رشته است.
دو هسته منطقی میتوانند با کارایی بیشتری نسبت به یک هسته سنتی تک رشته ای کار کنند. تکنولوژی هایپر تردینگ با بهره گیری از زمان بیکاری که هسته در گذشته منتظر تکمیل سایر وظایف است، توان پردازنده را بهبود می بخشد (تا 30٪ در برنامههای سرور 4).
از نظر سیستم عامل ، هر هسته CPU سیلیکونی واقعی دو هسته به نظر میرسد، بنابراین عملکرد هر یک از آنها را جداگانه تغذیه میکند. از آنجا که بسیاری از کارهایی که پردازنده مرکزی انجام میدهد برای حداکثر کارکردن آن کافی نیست، هایپر تردینگ مطمئن میشود که از این تراشه حداکثر بهره بردری میشود. اکثر سیستم عامل های امروزی (مانند ویندوز و لینوکس) قادر به تقسیم بار کاری خود در بین چندین پردازنده هستند (به این روش پردازش متقارن یا SMP گفته میشود)، پس سیستم عامل به سادگی عمل میکند.
اینتل خاطر نشان میکند که کد موجود به درستی در پردازنده ای با هایپر تردینگ اجرا می شود اما برخی از تغییرات کد نسبتاً ساده برای بدست آوردن سود مطلوب توصیه می شود.
نحوه فعال کردن هایپر تردینگ:
به طور دیفالت فعال است، اما میتوان با تنظیم Hyper-Threading Technology در Enable یا Disable از محیط BIOS خاموش و روشن کرد.
مزایای هایپر تردینگ:
با استفاده از هایپر تردینگ، یک رایانه شخصی میتواند اطلاعات بیشتری را در مدت زمان کمتری پردازش کرده و کارهای پس زمینه بیشتری را بدون اختلال انجام دهد. در شرایط مناسب، این فناوری به هسته های پردازنده اجازه میدهد تا دو کار را همزمان انجام دهند. چند وظیفه ای، پخش کننده های صوتی و حرفهای که برنامه های بسیار پر رشته ای را اجرا میکنند، میتوانند با آپدیت کردن به یک لپ تاپ مخصوص بازی(gaming) یا CPU دسکتاپ گیمینگ با تکنولوژی هایپر تردینگ اینتل، مانند جدیدترین پردازنده Intel® Core ™ i9، تجربه محاسبات خود را تقویت کنند.
نکات مهم برای انتخاب ریزپردازنده:
اگر باید دو پردازنده را انتخاب کنید که بتوانند تعداد رشته های یکسانی را اداره کنند اما تعداد هسته های آنها یکسان نیست، آن پردازنده مرکزی که هسته های فیزیکی بیشتری دارد را انتخاب کنید.
به عنوان مثال ، اگر پردازنده دو هستهای با هایپر تردینگ و پردازنده چهار هسته ای غیر هایپر تردینگ دارید، گزینه چهار هستهای گزینه بهتری است. با توجه به اینکه آنها در عملکرد تک رشتهای و تک هستهای به یکدیگر نزدیک هستند. زیرا پردازنده چهار هستهای از سخت افزار پردازش فیزیکی بیشتری برخوردار است.
مشکل واقعی زمانی ایجاد میشود که شما دو پردازنده مرکزی با مشخصات فیزیکی یکسان داشته باشید، اما یکی دارای هایپر تردینگ است و دیگری نه. اکنون مسئله واقعاً مربوط به نرم افزاری است که میخواهید اجرا کنید. اگر شما نرم افزاری دارید که می تواند به اندازه کافی رشته برای استفاده از رشته های هایپر تردینگ ایجاد کند، افزایش قابل توجهی در انتخاب پردازنده با هایپر تردینگ مشاهده خواهید کرد. صرفاً به این دلیل که هیچ یک از ظرفیت پردازش هدر نمیرود و اجزا در بیشترین زمان ممکن به پتانسیل کامل خود کار میکنند.
اگر نرم افزاری که میخواهید اجرا کنید به اندازه کافی رشته ایجاد نمیکند تا از هستههای مجازی هایپر تردینگ نیز استفاده کند، به معنای واقعی کلمه هیچ تفاوتی در عملکرد مشاهده نخواهید کرد.
به طور سنتی عملکردهایی مانند رندر سه بعدی CPU ، رمزگذاری ویدئو و دستکاری عکس به همان اندازه که پردازنده ضعیف شما میتواند مشکل ایجاد کند. به عبارت دیگر، بسیاری از کاربردهای حرفه ای مدرن، گرسنه thread هستند. به همین دلیل هایپر تردینگ به پردازنده های سطح حرفهای مانند i7 و بالاتر محدود شده است.
برنامه های اصلی مانند پردازنده های کلمه و مرورگرهای وب با استفاده از هایپر تردینگ عملکرد بهتری نخواهند داشت، حتی اگر بتوانند رشته های بیشتری ایجاد کنند.