OS-OE Knowledge/Windows KB

Windows 2012/about Logical Processor Count of HOST

스쳐가는인연 2017. 9. 1. 21:04

최신 하드웨어(매우 많은 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

반응형