본문 바로가기
OS/OE Knowledge/Windows KB

Windows 2012/about Logical Processor Count of HOST

by 스쳐가는인연 2017. 9. 1.

최신 하드웨어(매우 많은 Core를 갖는 CPU를 여러개 사용하는 시스템)에 Windows Server 2012 R2를 설치하는 경우,

OS에 인식되는 CPU(Logical Processor)의 그룹과 수량이 상황에 따라, 다르게 나타날 수 있다.

 

특히 이 부분은 사용하는 응용프로그램에 영향을 준다.
- DB등 소켓 단위로 라이센싱하는 프로그램 또는 코어 단위로 라이센싱하는 프로그램등 비용에 영향을 줄 수 있다.
- 분산 처리하는 프로그램에 활용가능한 CPU 수량이 달라질 수 있다.

 

Windows 특성 상, Processor Group(k-group) 한 개에 속할 수 있는 Logical Processor 64.

Physical Processor(Socket)는 동일한 Processor Group에 속해야 한다.

 

Windows 2012에서 Hyper-V 기능을 활성화 하면, Host VM에 64개의 LP가 할당된다.

---------------------------------------------------

Logical Processor count changes after enabling Hyper-V role on Windows Server 2012

https://blogs.technet.microsoft.com/askcore/2013/03/28/logical-processor-count-changes-after-enabling-hyper-v-role-on-windows-server-2012/

 

After enabling the Hyper-V role on the server you will see something like below. A new entry gets added called "Host Logical Processors" and will have a value of 64. This is the number of logical processors that are assigned to the Host Operating System. Also notice that the value of Logical processors did not change.

---------------------------------------------------

 

Test System:
DL560 Gen9 (Intel E5-4640 v3 CPU (12C) x 4ea) + WS2012 R2 STD
24 Core per Socket (Core x 12, HT x 12)

 

Default Configuration (OS 배포 직 후)
 
- pCore 12 x 4 / Total 96 LP로 확인된다.

 

 
K-group 수는 Socket으로 구분되어 4개로 확인된다. (NUMA aware)

 

Install Hyper-V Mgr Role

Host VM에 할당된 LP 64 개로 지정되고, 당연히 한 개 K-group만 보이며, 각 Socket에서 16개 Core가 할당된다.
- HPE 서버의 BIOS 구성을 Clustered 에서 Flat으로 변경해도 동일하다. (영향을 받지 않는다)
- Hyper-V Manager Service를 비활성화해도 동일하다.

- 64개를 제외한 나머지는 VM들에서 사용 가능하다.

 

Remove Hyper-V role
 
Hyper-V 기능을 제거하면, Flat에 기반하여, K-group이 2개로 변경된다.

Flat 기능은 NUMA를 정상 지원하지 않는 프로그램들을 위해 CPU를 Socket 단위로 그룹짖지 않고 64개까지 나열하는 것을 의미한다. 다만 Socket이 64개에 포함될 수 없는 경우 다른 그룹으로 나누어 진다.

(96개 LP로, 64개를 초과하기 때문에, 2개로 나뉜 모습)

 

 

일부 Core를 비활성화 (Core 수를 12개에서, 8개로 변경)

활성화된 Core가 32개로, HT를 활성화 한 상태에서도, 한 개 k-group에 모두 포함되어 있는 것을 확인할 수 있다.

 

 

참고자료,

---------------------------------------------------------------------------

The concept of a processor group (also known as a k-group) was introduced in Windows Server 2008 R2 when the operating system increased its scalability to support more than 64 logical processors.

A processor group is a static set of up of 64 logical processors. Processor groups are numbered starting with zero. If you have less than 64 logical processors, then there will be a single processor group: Group 0.

Legacy applications (that is, non-processor group-aware applications) would be assigned (or affinitized) to a single processor group. This gives them access to a maximum of 64 logical processors for scheduling threads.

 

Processor Groups

https://msdn.microsoft.com/en-us/library/windows/desktop/dd405503(v=vs.85).aspx

---------------------------------------------------------------------------

 

Title: HP ProLiant Gen9 Servers - BIOS Setting "NUMA Group Size Optimization" Setting Varies Operation Regarding Windows Server Processor Groups which Impacts the Performance Monitor Processor Object

http://h41302.www4.hp.com/km/saw/view.do?docId=mmr_kc-0127449

 

제목: Windows Server 2012 - DL360 Gen9 시스템성능 항목에서 Processors count 가 모두 안보이는 문제

http://h20564.www2.hpe.com/hpsc/doc/public/display?docId=mmr_kc-0127458

 

Advisory: ProLiant Gen9 Servers - Systems Configured with Intel Xeon E5 2600v3 Processors May Utilize Only One-Half (or Fewer) Logical Processors When Running Windows Server Operating Systems

http://h20565.www2.hpe.com/hpsc/doc/public/display?docId=emr_na-c04650594

반응형

댓글2

  • 익명 2021.03.11 18:08

    비밀댓글입니다
    답글

    • Linux에서는 control group을 참조하실 수 있고, 제 짧은 지식으로는 processor group의 core 수량으로 제한되지 않습니다.
      오히려, 특정 cpu core에서 수행되도록 affinity 조정을 할 수 있죠. (numactl 등을 통해, 구성하는 경우)