멀티 프로세싱(multiprocessing)

윈도우는 다수의 프로세서가 하나의 메모리 영역과 하드웨어 자원들을 공유해서 사용하는 대칭형 다중처리(Symmetric multiprocessing, 앞으로 SMP라고 표현함)를 지원한다. 현재 대부분의 시스템들이 지원하는 시스템 구조 역시 SMP라 할 수 있다. SMP는 데이터가 어느 위치에 있든 각 프로세서가 동일한 위치를 바라볼 수 있으므로, 작업 스케줄링을 통해서 효율적으로 여러 프로세서를 이용할 수 있게 된다. 윈도우 7과 2008에서는 256개의 논리 프로세서를 지원한다. 이는 프로세서는 하나의 스레드를 처리할 수 있는데, 여러개의 프로세서가 있다면 한번에 더 많은 스레드를 처리함으로써 많은 작업을 처리할 수 있다.

멀티 프로세싱(multiprocessing)

[그림] 멀티 프로세서는 하드웨어 자원은 공유하여 사용한다

위 그림을 보면, 2개의 물리 프로세서에 각각 4개의 논리 프로세서가 존재하는 것을 알 수 있다. 물리적으로는 2개이지만, 실제 작업을 처리하는 논리적 프로세서인 코어마다 작업 스레드를 처리할 수 있으므로 8개의 작업을 동시에 처리가 가능하게 된다.

주의할 점은 윈도우는 제품별로 지원하는 프로세서 개수를 제한하고 있으므로 윈도우버전을 선택할 때에도 지원하는 프로세서 개수를 함께 고려해야 한다.

윈도우 7과 2008의 버전별 제한하는 프로세서 개수는 다음과 같다.

제품

물리적 프로세서 제한 개수

서버

Windows 2008 Web Edtion 32/64Bit 4
Windows 2008 Standard Edtion 32/64Bit 4
Windows 2008 Enterprise Edtion 32/64Bit 8
Windows 2008 Datacenter Edtion 32/64Bit 32/64
Windows 2008 R2 Windows 2008 64Bit와 동일
Windows 2012 Standard Edition 320
Windows 2012 Datacenter Edition 320

클라이언트

Windows 7 Starter Edition 1
Windows 7 Home Edition 1
Windows 7 Home Premium Edition 1
Windows 7 Professional Edition 2
Windows 7 Enterprise Edition 2
Windows 8 Standard Edition
Windows 8 Professional Edition 

[표] 제품별 지원 CPU 개수

이 개수의 제한은 물리 프로세서 즉, CPU를 장착할 수 있는 소켓의 개수만을 계산하므로, 논리적 프로세서인 코어는 제한이 없다. 따라서 클라이언트 버전의 경우 많은 논리적 프로세서를 가진 CPU가 더욱 효과적이며, 서버 모델인 윈도우 2012는 클라우드용 서버로 이용하기 적합한 제품이다. 그럼 현재 가상 머신에서 프로세서를 확인해보자.

먼저 가상 머신의 프로세서를 확인하기 위하여 작업 관리자를 실행해 보자.

작업 관리자는 작업 표시줄에서 마우스 오른쪽 버튼을 클릭해서 메뉴를 선택하거나, 시작 실행(Win+R키)을 누룬후 Taskmgr 을 입력하자.

그럼 아래 그림과 같이 성능 탭을 통해서 현재 CPU 동작 현황을 확인할 수 있다.


[그림] 작업 관리자는 논리적 프로세서를 기준으로 표시된다

윈도우 기본 작업 관리자의 경우 논리적 프로세서를 기준으로 화면에 보여주며, 실제 물리적 프로세서 개수가 몇 개인지는 확인하기가 어렵다. 따라서 다른 도구를 이용하는 것이 좋은데 프로세스 익스플로러를 이용하면 이를 확인할 수 있다(윈도우 8의 경우 기본 작업 관리자에서 확인이 가능하다).

프로세스 익스플로러를 실행한 후 View System Information(Ctrl+I키) 메뉴를 선택하자.


[그림] 물리적 프로세서와 함께 확인이 가능하다

실행하면 CPU 탭을 통해서 현재 물리적 소캣수와 코어 개수를 확인 할 수 있다. 기본적으로 프로세스 익스플로러는 물리 프로세서 기준으로 나누어지기 때문에 가상머신의 그래프가 하나로 보일것이다.


[그림] 실제 소켓수와 코어수를 확인할 수 있다

만약 논리적 코어 단위로 프로세서 사용량을 확인하고자 한다면, 아래 Show one graph per CPU를 체크하면 된다.

만약 여러분이 2개의 코어를 가진 물리적 프로세서를 구입한다면, 윈도우의 작업 관리자에서는 4개의 논리적 프로세서가 확인될 것이다. 이는 인텔의 하이퍼 스레딩이라는 기술로 인해 2배로 논리적 프로세서 개수가 증가하는 것인데, 실제는 1개의 코어에 2개의 스레드를 실행 시키는 기술로써, 성능 향상이 있는 작업 영역(인코딩, 디코딩 같은 멀티미디어작업)이 한정되어 있으므로 논리적 프로세서가 많아 보인기는 하지만 이 기능으로 인한 성능향상은 기대는 하지 말자.

그리고 논리 프로세서와 코어를 구분해야 한다. 이유는 이 하이퍼 스레딩과 관계이 있는데 일상적으로는 코어와 논리 프로세서는 같은 의미로 사용되어 오해가 발생할 수 있기 때문이다.

Facebook Comments

Leave A Reply

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.