
Hyper-Threading چیست؟

فناوری Hyper Threading چیست و چه کاربردی دارد؟
فناوری Intel Hyper Threading به پردازنده های سرور این امکان را می دهد که به طور هم زمان وظایف بیشتری را انجام دهند و عملکرد بهتری داشته باشند.
امروزه تقریبا همه پردازنده ها چند هسته ای هستند، یعنی دارای چندین واحد پردازشی اند که می توانند هم زمان روی کارهای مختلف کار کنند. اما همیشه مشخص نیست که اضافه شدن هسته های بیشتر چه مزایایی دارد.
Hyper-Threading چگونه کار می کند؟
پردازش تک تردی (Single-Threaded Processing)
به طور معمول، هر هسته پردازنده فقط یک ترد یا رشته را پردازش می کند. اما فناوری Intel Hyper-Threading این محدودیت را برطرف می کند و اجازه می دهد هر هسته فیزیکی به عنوان دو هسته منطقی عمل کند.
عملکرد Hyper Threading
هنگامی که Hyper-Threading فعال باشد، پردازنده برای هر هسته فیزیکی دو کانال پردازشی ایجاد می کند. این یعنی یک هسته می تواند هم زمان دو ترد نرم افزاری را اجرا کند.
این کار با تقسیم منابع پردازنده (مانند واحد های محاسباتی و حافظه کش) بین thread ها انجام میشود.
چند تِرَدی (Multithreading) یا چند رشته ای چیست؟
چندتردی روشی برای پردازش موازی است که کارها را به چند بخش کوچک تر تقسیم کرده و به طور هم زمان پردازش می کند. به جای اینکه یک وظیفه سنگین را فقط به یک هسته بسپاریم، برنامه های چند تردی کار را به چندین ترد نرم افزاری تقسیم می کنند. سپس این تردها توسط هسته های مختلف CPU به صورت موازی اجرا می شوند و در نتیجه، سرعت پردازش افزایش می یابد.
تاثیر استفاده از پردازنده هایی با فناوری Hyper Threading در سرور ها چیست؟
سرورها معمولا میزبان تعداد زیادی از درخواست های هم زمان هستند، مانند پردازش داده های پایگاه داده، اجرای ماشین های مجازی و پاسخگویی به درخواست های کاربران. Hyper-Threading کمک می کند که پردازنده، تعداد بیشتری از این درخواست ها را به طور هم زمان پردازش کند، بدون نیاز به افزایش تعداد هسته های فیزیکی.
بهینه سازی عملکرد ماشین های مجازی با Hyper Threading
در محیط های مجازی سازی (Virtualization) مانند VMware، Hyper-V و KVM، پردازنده ها باید منابع خود را بین چندین ماشین مجازی تقسیم کنند. Hyper-Threading باعث می شود که تعداد بیشتری از تردها در اختیار ماشین های مجازی قرار گیرد و بهره وری کلی افزایش یابد.
پایگاه های داده مانند MySQL، PostgreSQL و Microsoft SQL Server به شدت به عملکرد پردازنده بستگی دارند، زیرا هم زمان تعداد زیادی از درخواست های خواندن و نوشتن را پردازش می کنند. Hyper-Threading باعث افزایش سرعت پردازش درخواست های موازی شده و کارایی کلی سیستم را بهبود می بخشد.
تاثیر چند تردی در بازی ها
برخی بازی های قدیمی بیشتر به عملکرد تک تردی متکی اند، یعنی از یک هسته پردازنده بیشتر استفاده می کنند و به فرکانس بالاتر پردازنده وابسته اند. اما موتور های بازی مدرن مانند Unreal Engine 4 از چندین هسته برای پردازش صحنه های پیچیده استفاده می کنند.
همچنین در بازی ها، چندتردی به “Draw Calls” کمک می کند، یعنی دستوراتی که پردازنده مرکزی به پردازنده گرافیکی می فرستد تا اشیا، بافت ها و افکت های تصویری را پردازش کند.
نتیجه این کار چیست؟
پردازنده بهتر از زمان های بی باری خود استفاده می کند.
وظایف سریع تر انجام می شوند.
پردازش ها روان تر و بهینه تر پیش می روند.
چگونه Hyper Threading را فعال کنیم؟
فناوری Hyper Threading به طور پیش فرض فعال است، اما در صورت نیاز می توان آن را از طریق BIOS روشن یا خاموش کرد. برای این کار کافی است تنظیمات “Hyper Threading Technology” را روی “Enable” یا “Disable” قرار دهید.
نکته: این فناوری فقط روی پردازنده های خاصی از سری Intel ارائه شده است. برای افزایش اطلاعات و آگاهی شما یک نمونه پردازنده سرور دارای فناوری هایپر تردینگ معرفی شد:
مزایای Hyper Threading چیست؟
افزایش سرعت پردازش: پردازنده می تواند اطلاعات بیشتری را در زمان کمتری پردازش کند.
چند وظیفگی بهتر: اجرای چندین برنامه سنگین بدون کاهش عملکرد سیستم.
بهینه سازی عملکرد در بازی ها و نرم افزارهای حرفه ای: مناسب برای گیمرها، استریمرها و کاربران حرفه ای که با برنامه های گرافیکی، تدوین و پردازش داده کار می کنند.
آیا Hyper Threading همیشه مفید است؟
هرچند Hyper Threading در بسیاری از موارد باعث افزایش کارایی می شود، اما در برخی سناریو ها، مانند پردازش های بسیار سنگین که نیاز به قدرت پردازشی مستقل دارند (مانند پردازش های بلادرنگ یا عملیات حساس به تاخیر)، ممکن است غیرفعال کردن Hyper Threading عملکرد بهتری داشته باشد. بنابراین، بهتر است قبل از استفاده از این فناوری، بار کاری سرور بررسی شود.
منابع: