vCPU에 대해 알아보기 전에 먼저 CPU에 대한 기본 지식부터 되짚어보자.
CPU (Central Processing Unit)는 한마디로 컴퓨터의 뇌라고 할 수 있는데, 프로그램의 명령어를 해석하고 연산 처리하여 외부에 출력해주는 역할을 한다.
위의 그림을 보면 2개의 Socket과 각 Socket 당 4개의 CPU Core가 존재하고, 1개의 Core에 2개의 Threads가 존재한다.
Socket은 CPU 칩이 있는 마더보드의 커넥터이며 CPU와 회로 보드를 물리적으로 연결해준다.
각 CPU칩에는 하나 이상의 코어가 있다. Core는 CPU 시스템의 모든 연산 처리를 담당한다. 최근에는 2개 이상의 코어를 품어 성능을 높인 멀티코어 CPU가 일반화 되었다.
Core가 관리자라면 Thread or Multi-Thread는 노동자라고 비유할 수 있다. 이전에는 관리자 1명에 노동자 1명의 시스템, 즉 Core 1개 Thread 1개의 형태로 작업했다면, 지금은 Core 1개에 Thread 2로 관리자가 2명의 노동자에게 지시하고 일을 동시 다발적으로 진행할 수 있다. 이를 Hyper-Threading이라고 한다.
Thread는 Core처럼 실제 물리적으로 존재하는 것이 아니라 Core 안에서 논리적으로 존재한다. 만약 Core가 2개, 각 Core 당 Thread가 2개라고 한다면 Operating System에서는 Core를 총 4개로 인식한다.
GCP의 Compute engine에서 가상 머신(VM)을 만들 때는 VM에 대해 머신 시리즈와 머신 유형을 지정한다.
각 머신 유형에 사용 가능한 CPU 플랫폼이 여러 개 있고, 이 플랫폼은 다양한 물리적 프로세서 (core)를 제공한다. 위에서 언급한 것처럼 GCP에서도 마찬가지로 단일 CPU코어에 Intel의 Hyper-Threading 기술을 적용하여 멀티스레드로 실행시킬 수 있다. Compute Engine에서 각 하드웨어 멀티스레드를 가상 CPU, vCPU 라고 한다.
VM의 머신 유형에 따라 vCPU 수가 지정되고, 해당 머신 시리즈의 코어당 기본 vCPU 비율에 따라 물리적 CPU Core 수를 추론할 수 있다. 대부분의 머신 시리즈의 경우 VM에 Core 당 2개의 vCPU가 기본적으로 포함된다.
다음은 vCPU(논리 CPU)의 수를 계산하는 수식이다.
vCPU = Thread의 개수 per Core X Core의 개수 per Socket X Socket의 개수
참고 자료) https://cloud.google.com/architecture/resource-mappings-from-on-premises-hardware-to-gcp?hl=ko
온프레미스 하드웨어에서 Google Cloud로 리소스 매핑 | 클라우드 아키텍처 센터
의견 보내기 온프레미스 하드웨어에서 Google Cloud로 리소스 매핑 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 이 문서에서는 온프레미스 하드웨어에서 Goog
cloud.google.com
https://cloud.google.com/compute/docs/cpu-platforms?hl=ko
CPU 플랫폼 | Compute Engine 문서 | Google Cloud
의견 보내기 CPU 플랫폼 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Compute Engine에서 가상 머신(VM)을 만들 때는 VM에 대해 머신 시리즈와 머신 유형을 지정
cloud.google.com
참고 영상) https://www.youtube.com/watch?v=tnh_UO9aZ94&t=396s
https://www.youtube.com/watch?v=lrT9Bl0MCXQ&t=60s
'DevOps > Google Cloud Platform' 카테고리의 다른 글
Cloud VPN에 대해 알아보자 (0) | 2022.11.28 |
---|---|
File Storage와 Block Storage에 대해 알아보자 (0) | 2022.10.10 |
Google Cloud Load Balancing (GCLB) 에 대해 알아보자 (0) | 2022.10.03 |
IaC (Infrastructure as Code)란? 그리고 Terraform (0) | 2022.09.22 |
IaaS vs PaaS vs SaaS vs FaaS (0) | 2022.09.22 |