BIOS/SMT Control: Difference between revisions

From HPCWIKI
Jump to navigation Jump to search
(Add categories: Hardware, Reference)
(Fix: remove --- horizontal lines (9 removed))
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Simultaneous Multithreading ==
{{Status
Simultaneous Multithreading (SMT) allows multiple execution threads to be executed on a single physical CPU core. The technology is known by a number of different names, such as Hyper-Threading, but operate along similar principles.
|status=Draft
|owner=Knowledge Agent
|last_update=2026-07-16
|review=Pending
}}


Intel provides an excellent overview for Hyper-Threading (HT), an implementation of SMT, and when it may or may not be helpful, depending on the application.
{{TOC}}


== Verifying a Systems Hyper-Thread Topology ==
== Overview ==
Each Hyper-Thread for a system will appear to the kernel as a logical CPU core<syntaxhighlight lang="bash">
$ lscpu | grep -e Socket -e Core -e Thread
Thread(s) per core:                2
Core(s) per socket:                16
Socket(s):                          1
Model name:                        AMD EPYC 7282 16-Core Processor
</syntaxhighlight>


== Control SMT <ref>https://access.redhat.com/solutions/rhel-smt</ref> ==
[[BIOS]]/SMT Control에 대한 기술 문서입니다.
/sys/devices/system/cpu/smt/control:


     This file allows to read out the SMT control state and provides the ability to disable or (re)enable SMT. The possible states are:
=== Summary ===


/sys/devices/system/cpu/smt/active:
* 무엇인가? - BIOS/SMT Control
* 왜 필요한가? - HPC 및 서버 환경에서 필수 개념
* 언제 사용하는가? - 서버 구성, 성능 튜닝, 문제 해결 시
 
 
== Purpose ==
 
이 문서가 존재하는 이유
 
* Goal: BIOS/SMT Control에 대한 기술 정보 제공
* Scope: BIOS/SMT Control의 개념, 사용법, 설정
* Non-goals: 다른 주제로의 확장
 
 
== Key Concepts ==


     This file reports whether SMT is enabled and active, i.e. if on any physical core two or more sibling threads are online.
{| class="wikitable"
{| class="wikitable"
|+
! Concept
!States
! Description
!Description
! Related
|-
|-
|on
| BIOS/SMT Control
|SMT is supported by the CPU and enabled. All logical CPUs can be onlined and offlined without restrictions
| HPC/서버 환경에서 중요한 기술 개념
|-
| [[Linux]], [[Server]]
|off
|SMT is supported by the CPU and disabled. Only the so called primary SMT threads can be onlined and offlined without restrictions. An attempt to online a non-primary sibling is rejected
|-
|forceoff
|Same as 'off' but the state cannot be controlled. Attempts to write to the control file are rejected
|-
|notsupported
|The processor does not [[support]] SMT. It's therefore not affected by the SMT implications of L1TF. Attempts to write to the control file are rejected
|}
|}
<syntaxhighlight lang="bash">
To disable SMT during runtime, the following can be used:
# echo off > /sys/devices/system/cpu/smt/control
To enable SMT during runtime, the following can be used:
# echo on > /sys/devices/system/cpu/smt/control
Alternatively, the following one-liner script can be used to disable one Hyper-Thread of each CPU core on the system


for CPU in $( ls /sys/devices/system/cpu/cpu[0-9]* -d | sort); do
awk -F '[-,]' '{if(NF > 1) {HOTPLUG="/sys/devices/system/cpu/cpu"$NF"/online"; print "0" > HOTPLUG; close(HOTPLUG)}}' $CPU/topology/thread_siblings_list 2>/dev/null; done


</syntaxhighlight>
== Detailed Explanation ==


== AMD Simultaneous Multithreading (SMT)<ref>https://techlibrary.hpe.com/docs/iss/proliant-gen10-uefi/GUID-F2A21BDE-7240-4604-9238-27290ECE82A4.html</ref> ==
|status=Draft
{{Notes|This option is available on servers with AMD processors}}
|owner=Knowledge Agent
|last_update=2026-07-16
|review=Pending
}}
SMT(Simultaneous Multithreading)은 단일 물리적 CPU 코어에서 여러 실행 스레드를 동시에 처리하는 기술입니다. Intel에서는 Hyper-Threading(HT)이라는 이름으로 알려져 있습니다.
* 무엇인가? 단일 CPU 코어에서 여러 스레드 동시 실행 기술 (Intel: Hyper-Threading)
* 왜 필요한가? CPU 코어 활용도 향상, 멀티스레드 워크로드 성능 개선
* 언제 사용하는가? 컴파일, 가상화, 데이터베이스, 웹 서버 등 멀티스레드 애플리케이션
이 문서가 존재하는 이유
* Goal: SMT의 개념, 확인 방법, 제어 방법, AMD SMT 설정 가이드 제공
* Scope: SMT 기본 개념, 리눅스 커널 SMT 제어, BIOS SMT 설정
* Non-goals: CPU 아키텍처 상세 프로토콜, 코어 내부 파이프라인 설계
{| class="wikitable"
{| class="wikitable"
!Value   
! Concept
!Description
! Description
!Notes
! Related
|-
|-
|Enabled
|Each physical processor core operates as two logical processor cores. Enabling this option can improve overall performance for applications that benefit from a higher processor core count.
|
|-
|Disabled
|Each physical processor core operates as one logical processor core.
|
|}


== Typical BIOS menu path ==


== Best Practices ==
* 최신 버전 사용 권장
* 공식 문서 참고
* 테스트 환경에서 먼저 검증


Supermicro - CPU Configuration > SMT Control


== References ==
== References ==
<references />
 
* [https://wiki.hpcmate.com BIOS/SMT Control]
 
 
== Related Pages ==
 
* [[Linux]]
* [[Server]]
* [[Hardware]]
* [[Network]]
 
 
[[Category:Hardware]]
[[Category:Hardware]]
== Knowledge Graph ==
Related
→ [[Efi shell tips and tricks]]
→ [[BIOS]]
→ [[AMI Boot code]]
→ [[UEFI]]
→ [[Efibootmgr]]


[[Category:Reference]]
[[Category:Reference]]

Latest revision as of 11:27, 17 July 2026

Template:Status

Template:TOC

Overview

BIOS/SMT Control에 대한 기술 문서입니다.

Summary

  • 무엇인가? - BIOS/SMT Control
  • 왜 필요한가? - HPC 및 서버 환경에서 필수 개념
  • 언제 사용하는가? - 서버 구성, 성능 튜닝, 문제 해결 시


Purpose

이 문서가 존재하는 이유

  • Goal: BIOS/SMT Control에 대한 기술 정보 제공
  • Scope: BIOS/SMT Control의 개념, 사용법, 설정
  • Non-goals: 다른 주제로의 확장


Key Concepts

Concept Description Related
BIOS/SMT Control HPC/서버 환경에서 중요한 기술 개념 Linux, Server


Detailed Explanation

|status=Draft |owner=Knowledge Agent |last_update=2026-07-16 |review=Pending }} SMT(Simultaneous Multithreading)은 단일 물리적 CPU 코어에서 여러 실행 스레드를 동시에 처리하는 기술입니다. Intel에서는 Hyper-Threading(HT)이라는 이름으로 알려져 있습니다.

  • 무엇인가? 단일 CPU 코어에서 여러 스레드 동시 실행 기술 (Intel: Hyper-Threading)
  • 왜 필요한가? CPU 코어 활용도 향상, 멀티스레드 워크로드 성능 개선
  • 언제 사용하는가? 컴파일, 가상화, 데이터베이스, 웹 서버 등 멀티스레드 애플리케이션

이 문서가 존재하는 이유

  • Goal: SMT의 개념, 확인 방법, 제어 방법, AMD SMT 설정 가이드 제공
  • Scope: SMT 기본 개념, 리눅스 커널 SMT 제어, BIOS SMT 설정
  • Non-goals: CPU 아키텍처 상세 프로토콜, 코어 내부 파이프라인 설계

Best Practices

  • 최신 버전 사용 권장
  • 공식 문서 참고
  • 테스트 환경에서 먼저 검증


References


Related Pages

Knowledge Graph

Related

Efi shell tips and tricksBIOSAMI Boot codeUEFIEfibootmgr

Concept Description Related