آنچه در این مقاله می خوانید:

تکنولوژی HyperThreading چیست همراه با ویدئو

تکنولوژی HyperThreading
این مقاله در تاریخ 11 اردیبهشت 1400 نوشته و در تاریخ 25 تیر 1404 مورد بازبینی قرار گرفته است.

امروزه تقریباً تمام سی پی یو های سرور موجود در بازار تجهیزات شبکه، چند هسته ای هستند: آنها شامل چندین واحد پردازشی هستند که می توانند همزمان کارهای مختلفی را انجام دهند. اما مزایای اضافه شدن این هسته ها به پردازنده ها چیست؟ چه تفاوتی میان برنامه های Single Threaded و Multi Threaded وجود دارد و اصلاً تکنولوژی Hyper Threading چیست؟ ما در این مقاله قصد داریم تا شما را با تکنولوژی Hyper Threading آشنا سازیم، در ادامه با ما همراه باشید.

 

تکنولوژی HyperThreading چیست؟

تکنولوژی HyperThreading در واقع اصطلاحی است که اینتل استفاده می‌کند و همان تکنولوژی ای است که AMD آن را Simultaneous MultiThreading یا SMT می ‌نامد. در این تکنولوژی، CPU هسته فیزیکی خود را به دو هسته مجازی که Thread نامیده می‌شود، تقسیم می‌کند. لازم به ذکر است این تکنولوژی در پردازنده های قدیمی موجود نیست.

تکنولوژی Hyper Threading

 

با استفاده از HyperThreading CPU، سرور و یا هر دستگاه دیگری که CPU سرور در آن قرار می گیرد، می تواند اطلاعات بیشتری را در مدت زمان کمتری پردازش کرده و کارهای بیشتری را بدون اختلال انجام دهد. در شرایط مناسب، این فناوری به هسته های پردازنده اجازه می دهد تا دو کار را همزمان انجام دهند.

CPU های مدرن امروزی، هم چند هسته دارند و هم از تکنولوژی HyperThreading استفاده می‌کنند. مثلا در CPU دو هسته‌ای با کمک HyperThreading به صورت 4 هسته برای سیستم عامل ارائه می‌شود و به همین صورت 4 هسته ای را به صورت 8 هسته ارائه می دهد. HyperThreading جایگزینی برای هسته‌های اضافی نیست اما کارایی پردازنده دو هسته‌ای با وجود HyperThreading بیشتر از کارایی پردازنده دو هسته‌ای بدون وجود HyperThreading است.

برای مثال تکنولوژي Hyper Threading به پردازنده اين امکان را مي‌دهد که در هر لحظه، دو بسته اطلاعاتي را پردازش کند. اين بدان معناست که اگر پردازنده شما اين قابليت را داشته باشد، هر هسته پردازشي قرار گرفته روي آن مي‌تواند در يک لحظه دو دستورالعمل (thread) را پردازش کند. در واقع با اين تکنولوژي، سيستم‌عامل به هر هسته پردازشي به چشم يک دو هسته‌اي نگاه مي‌کند که قابليت پردازش همزمان دو دستورالعمل را دارد.

نکته : در حالت کلی این تکنولوژی می تواند تا 30% در صد سرعت پردازش داده ها افزایش دهد و این مقدار می تواند در پردازنده قوی تر بیشتر از این هم باشد.

 

جهت آشنایی بیشتر با تکنولوژی HyperThreading ویدئو زیر را مشاهده نمایید:

 

 

Hyper-Threading چه مشکلی را حل می‌کند؟

فناوری Hyper-Threading در پاسخ به چالش استفاده ناکامل از منابع پردازنده طراحی شده است. در بسیاری از مواقع، هنگام اجرای یک رشته (Thread) توسط پردازنده، بخشی از منابع داخلی مانند واحدهای محاسباتی (ALU)، رجیسترها یا حافظه کش بدون استفاده باقی می‌مانند. این بلااستفاده ماندن منابع باعث کاهش بهره‌وری کلی CPU می‌شود.

Hyper-Threading با ایجاد یک هسته منطقی دوم (Logical Core) برای هر هسته فیزیکی، امکان اجرای هم‌زمان دو رشته را فراهم می‌کند. به این ترتیب، زمانی که یک thread منتظر یک عملیات I/O یا حافظه است، thread دیگر می‌تواند از منابع بلااستفاده استفاده کند. این موضوع موجب افزایش بهره‌وری پردازنده، بهبود عملکرد در پردازش‌های هم‌زمان و کاهش زمان پاسخ‌دهی سیستم می‌شود، به‌ویژه در محیط‌هایی با بار کاری بالا مانند سرورها و ایستگاه‌های کاری.

Hyper-Threading چه تفاوتی با هسته فیزیکی دارد؟

هسته فیزیکی (Physical Core) یک واحد واقعی پردازشی در ساختار CPU است که دارای اجزای مستقل مانند واحد محاسباتی (ALU)، واحد کنترل، حافظه کش، و دیگر منابع پردازشی اختصاصی است. در مقابل، هسته منطقی (Logical Core) که در Hyper-Threading ایجاد می‌شود، یک ساختار مجازی است که برخی از اجزای پردازش را با هسته فیزیکی به‌صورت مشترک استفاده می‌کند.

بنابراین، برخلاف هسته فیزیکی که می‌تواند به‌طور مستقل عملیات کامل پردازشی را انجام دهد، هسته منطقی در Hyper-Threading صرفاً یک مسیر اضافه برای استفاده مؤثرتر از منابع موجود در یک هسته فیزیکی است. به همین دلیل، عملکرد دو هسته منطقی در Hyper-Threading برابر با عملکرد دو هسته فیزیکی واقعی نیست، اما در شرایط خاص می‌تواند کارایی سیستم را به میزان قابل توجهی افزایش دهد.

 

تکنولوژی HyperThreading

 

کدام پردازنده ها از تکنولوژی HyperThreading بهره می برند:

تکنولوژی HyperThreading در سری پردازنده های Intel سری Atom، Core i7، برخی مدل‌های Core i5 و سایر سری ها و نسل های گوناگونی استفاده می شود که در ادامه به تفکیک برایتان شرح داده ایم؛

1.پردازنده‌های دسکتاپ (Desktop):

  • Intel Pentium 4: اولین سری که این فناوری را معرفی کرد.

  • Intel Core i3: تمام نسل‌ها دارای Hyper-Threading هستند.

  • Intel Core i5:

    • نسل 1 تا 9: معمولاً بدون HT، مگر در برخی مدل‌های خاص (مانند i5-8400H).

    • از نسل 10 به بعد: بیشتر مدل‌ها دارای HT هستند.

  • Intel Core i7:

    • تقریباً همه‌ی مدل‌ها از نسل 1 تا 13 دارای HT هستند.

  • Intel Core i9:

    • تمام مدل‌ها از زمان معرفی این سری دارای Hyper-Threading هستند.

2.پردازنده‌های لپ‌تاپ (Mobile):

  • Core i3، i5، i7 و i9 موبایلی بسته به نسل، اکثر مدل‌ها از HT پشتیبانی می‌کنند، مخصوصاً از نسل 8 به بعد.

3.پردازنده‌های سرور و ورک‌استیشن (Server & Workstation):

  • Intel Xeon Series:

    • اکثر مدل‌های Xeon از HT پشتیبانی می‌کنند، از جمله:

      • Xeon E3، E5، E7

      • Xeon Scalable (جهت آشنایی بیشتر با پردازنده Xeon Scalable بر روی لینک کلیک کرده و ویدئو آموزشی را مشاهده کنید.)

    • این ویژگی برای افزایش عملکرد در بارهای پردازشی بالا بسیار حیاتی است.

نکته : علاوه بر اینکه پردازنده اینتل باید دارای ویژگی هایپر تردینگ باشد سیستم عامل شما و بایوس مادربرد نیز باید دارای این ویژگی باشد. پردازنده‌های AMD از فناوری مشابهی به نام SMT (Simultaneous Multithreading) استفاده می‌کنند، که عملکردی مانند HT دارد. مثلاً:

  • Ryzen 5، Ryzen 7 و Ryzen 9 از SMT پشتیبانی می‌کنند.
  • پردازنده‌های Threadripper و EPYC نیز دارای SMT هستند.

 

مزایای تکنولوژی HyperThreading:

تکنولوژی HyperThreating توسط اینتل توسعه یافته است و مزایای زیادی دارد که برای عملکرد سیستم ها در پردازش های موازی و چند وظیفه ای مورد استفاده می گیرد از مهم ترین مزایای این تکنولوژی می توان به بهبود پشتيباني از کدهاي Multi-Thread، امکان اجراي هم زمان چندين thread و بهبود زمان پاسخگويي و عکس العمل پردازنده به دستور العمل‌هاي دريافتي اشاره کرد. علاوه بر این ویژگی ها می توان موارد زیر را نیز نام برد.

1. افزایش عملکرد در چندوظیفگی (Multitasking)

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

2. بهبود بهره‌وری منابع پردازنده

Hyper-Threading باعث می‌شود از منابع بیکار پردازنده مانند واحدهای ALU، FPU و کش‌ها بهتر استفاده شود. این یعنی کاهش زمان انتظار و افزایش کارایی.

3. سرعت بیشتر در نرم‌افزارهای چندنخی (Multi-threaded)

نرم‌افزارهایی مثل نرم‌افزارهای طراحی، رندرینگ، ماشین مجازی، کامپایلرها و برخی بازی‌ها که از چند نخ استفاده می‌کنند، با HT سریع‌تر اجرا می‌شوند.

4. کاهش زمان پاسخ‌دهی سیستم

در زمانی که چندین برنامه به‌طور همزمان در حال اجرا هستند (مثل مرورگر، پخش‌کننده، آنتی‌ویروس، Word و .. )، HT کمک می‌کند سیستم روان‌تر و پاسخ‌گوتر عمل کند.

5. کارایی بهتر در محیط‌های مجازی‌سازی و سرور

در سرورها و ماشین‌های مجازی که بار پردازشی سنگین و همزمان دارند، Hyper-Threading اجازه می‌دهد سیستم‌عامل‌ها و ماشین‌های مجازی بیشتری روی یک CPU اجرا شوند.

6. بهبود عملکرد نسبت به مصرف انرژی

بدون افزایش تعداد هسته‌های واقعی، عملکرد افزایش می‌یابد، در نتیجه راندمان انرژی نیز بهتر خواهد بود.


 

بیشتر بخوانید: پردازنده سرور چیست و انتخاب CPU مناسب

 


 

با افزایش تعداد هسته آیا باز هم به تکنولوژی HyperThreading نیاز هست؟

افزايش تعداد هسته‌هاي فیزیکی در پردازنده يکي از راه‌هاي افزايش قدرت پردازنده در اجراي هم زمان چندين دستورالعمل است ولي بايد توجه داشت که افزايش تعداد هسته‌هاي فيزيکي، اندازه پردازنده و مصرف انرژي را افزايش مي‌دهد. ولي قابلیت HyperThreading چنين عيبي را ندارد چرا که تنها راه را براي استفاده بهينه واحدهاي پردازشي پردازنده باز مي‌کند. اين تکنولوژي واحدهاي پردازشي خالي را با دستورالعمل‌ها پر کرده و در واقع به پردازنده اين امکان را مي‌دهد که از حداکثر توان پردازشي خود استفاده کند.

نکته : تکنولوژی Hyper Threading تعداد هسته ها را به صورت فیزیکی افزایش نمی دهد.

 

تکنولوژی HyperThreading

 

معایب تکنولوژی HyperThreading:

این تکنولوژی همچون سایرین دارای مزایا و معایب می باشد. در بالا برخی از مزایای این فناوری را برایتان شرح داده ایم و در این بخش میخواهیم معایب آن را برایتان توضیح دهیم.

  • HT Technology عملکرد پردازنده یا هسته های یک پردازنده خاص را افزایش نمی دهد. این یک فن آوری خاص سخت افزاری است که یک هسته واحد را قادر می سازد تا چندین جریان داده را به هم پیوند دهد.
  • Hyper-Threading می تواند باعث شود تا CPU گرمای بیشتری ایجاد کند. برای جلوگیری از تخریب عملکرد سخت افزار و گرم شدن بیش از حد، به سیستم های خنک کننده نیاز است.
  • بهبود عملکردها اساساً وابسته به برنامه هستند. علاوه بر این، اگر Hyper-Threading از طریق BIOS غیرفعال شود، در هر زمان نمی تواند توسط کاربر فعال یا غیرفعال شود. مشابه ویژگی Turbo Boost ،CPU تحت برخی شرایط این ویژگی را فعال می کند.
  • افزایش مصرف انرژی و گرما: هرچند HT یک هسته واقعی اضافه نمی‌کند، اما اجرای همزمان دو thread روی یک هسته فیزیکی می‌تواند بار کاری بیشتری روی منابع داخلی CPU وارد کند، که باعث افزایش مصرف برق و حرارت می‌شود.
  • تأثیر محدود در برخی برنامه‌ها: تمام نرم‌افزارها برای استفاده مؤثر از HT طراحی نشده‌اند. برنامه‌هایی که از چند نخی بودن (Multithreading) پشتیبانی نمی‌کنند، از این فناوری بهره‌ای نخواهند برد.
  • احتمال افزایش زمان تأخیر (Latency): در برخی موارد، وقتی دو thread همزمان روی یک هسته اجرا می‌شوند، به منابع مشترک مثل کش یا واحد ALU رقابت ایجاد می‌شود که می‌تواند باعث افزایش تأخیر در اجرای دستورها شود.
  • کاهش کارایی در پردازش‌های خاص: در پردازش‌های سنگین و پیوسته (مانند پردازش رمزنگاری، محاسبات علمی یا بازی‌های خاص)، HT ممکن است حتی کمی از عملکرد کلی CPU بکاهد، به‌خصوص اگر بار پردازشی بیش از حد روی یک هسته باشد.
  • ریسک‌های امنیتی بیشتر: HT به دلیل اشتراک منابع داخلی بین دو thread، می‌تواند آسیب‌پذیری‌هایی مانند Spectre و Meltdown یا حملات جانبی (Side-channel attacks) را تسهیل کند. برخی سرورها به‌دلایل امنیتی HT را غیرفعال می‌کنند.
  • خطای محاسباتی در برخی محیط‌های حساس: در برخی سناریوهای خاص مثل محاسبات علمی یا مالی حساس، اجرای چند thread روی یک هسته ممکن است باعث نوسان در نتایج شود، به همین دلیل HT در این موارد توصیه نمی‌شود.

 

تفاوت HyperThreading ،MultiThreading و SuperThreading:

Multi-Threading:

Multi-Threading به فناوری یا روشی در برنامه‌نویسی و پردازش اطلاق می‌شود که در آن یک فرآیند (Process) قادر است هم‌زمان چندین رشته اجرایی (Thread) را ایجاد و مدیریت کند. هر thread می‌تواند به‌صورت مستقل از سایر threadها عملیات خاصی را انجام دهد، در حالی که همه آن‌ها منابع اصلی برنامه مانند حافظه را با یکدیگر به اشتراک می‌گذارند. این فناوری به‌ویژه در سیستم‌های چند هسته‌ای بسیار مؤثر است و موجب بهبود عملکرد، افزایش پاسخ‌گویی برنامه و استفاده بهینه‌تر از منابع سخت‌افزاری می‌شود.

Multi-Threading یکی از پایه‌های اصلی پردازش موازی (Parallel Processing) در سیستم‌های مدرن است. زمانیکه صحبت از Multi-Threading می شود باید سیستم های چند پردازشی یا Multiprocessing ها را تصور کنیم که همچون سیستم های چند هسته ای یک CPU دارای چندین هسته هستند.

 

Super-threading:

Super-Threading نوعی فناوری بهینه‌سازی عملکرد در پردازنده‌ها است که به CPU اجازه می‌دهد چندین thread را به‌صورت زمان‌بندی‌شده و متوالی روی یک هسته فیزیکی اجرا کند. برخلاف Hyper-Threading که به‌صورت هم‌زمان دو thread را پردازش می‌کند، در Super-Threading تنها یک thread در هر چرخه زمانی فعال است، و سایر threadها در صف انتظار باقی می‌مانند تا منابع پردازنده آزاد شوند. این فناوری بیشتر برای پر کردن چرخه‌های بیکار پردازنده طراحی شده و در مقایسه با Hyper-Threading، توان کمتری در افزایش بهره‌وری سیستم دارد، اما همچنان نسبت به پردازنده‌های تک‌ریسمانی عملکرد بهتری ارائه می‌دهد.

در واقع می توان چیزی شبیه به Multi-threading است که امکان اجرای چندین Thread مختلف بر روی یک CPU را فراهم می سازد بدون آنکه واقعا آنها را در یک بازه زمانی و بصورت همزمان اجرا کند. در واقع Super-Threading شبیه Multi-threading است با این تفاوت که Multi-threading جریان داده را به صورت همزمان منتقل می کند. Super-Threading در یک سیستم به دنبال چرخه یا Cycle های بلااستفاده CPU می گردد و به محض مشاهده آنها Thread دیگری که در صف اجرا بوده است را وارد می کند تا اجرا شود.

 

Hyper-Threading:

Hyper-Threading فناوری اختصاصی شرکت Intel است که نوعی توسعه‌یافته از مفهوم Multi-Threading محسوب می‌شود. در این فناوری، هر هسته فیزیکی پردازنده می‌تواند به‌صورت هم‌زمان دو thread را اجرا کند، به‌طوری‌که سیستم‌عامل آن را به‌عنوان دو هسته منطقی (Logical Core) تشخیص می‌دهد. این موضوع باعث می‌شود که منابع داخلی CPU مانند واحدهای محاسباتی و کش‌ها به‌صورت اشتراکی میان دو thread مورد استفاده قرار گیرند و بهره‌وری کلی پردازنده افزایش یابد.

Hyper-Threading برای محیط‌هایی با بار کاری بالا و نرم‌افزارهای چندنخی، مانند پردازش‌های مهندسی، شبیه‌سازی و مجازی‌سازی، بسیار مناسب است و نقش مهمی در افزایش کارایی سیستم ایفا می‌کند. در تکنولوژی Hyper-Threading، پردازنده های اینتل، هر هسته واقعی و فیزیکی را به دو هسته مجازی تبدیل می کنند. به عنوان مثال پردازنده ای که دارای دو هسته فیزیکی است با استفاده از این تکنولوژی شامل چهار هسته مجازی خواهد شد.

در این مقاله سعی کردیم شما را با تکنولوژی HyperThreading آشنا سازیم و ویژگی ها، مزایا، معایب آن، به طور کلی همه جوانب این تکنولوژی را بررسی کردیم. در صورتی که این مقاله برایتان مفید واقع شده است، می توانید سایر مقالات ما را در زمینه سرور، تجهیزات جانبی سرور و سایر تجهیزات شبکه را در مجله مسترشبکه بررسی و مطالعه کنید.

همچنین شما می توانید انواع تجهیزات شبکه را از فروشگاه اینترنتی مسترشبکه با بهترین قیمت و کیفیت همراه با برترین گارانتی خریداری نمایید.

دیدگاهتان را بنویسید

محبوب ترین محصولات