core & thread

Younghwan Cha·2022년 12월 20일
0

server monitoring

목록 보기
2/11

CPU core 와 thread 의 차이점에 대해서 알아보기 이전에,

  • CPU
  • socket
  • thread
  • core

위 기본 개념부터 알아보자.


CPU 용어 정리

  • CPU ( processor )
    central processing unit, 중앙 처리 단위로,
    컴퓨터 운영을 위한 기본적인 명령어들을 처리하고 반응하기 위한 논리 회로이다.

  • Socket
    메인보드와 CPU 사이의 커넥터

  • core
    processor 에 내장된 처리회로의 핵심 부분이다.

  • thread
    데이터의 실행 흐름이다.
    core 가 하드웨어의 물리적 구성 단위였다면, thread 는 소프트웨어의 논리적 작업 처리 단위이다.
    hyper threading 과 같은 경우 thread 가 core 수의 2배가 된다.


single core vs multi core processor

single core processor 란, 간단히 말하자면 한번에 하나의 process 를 처리 할 수 있음을 뜻한다.
그렇다면 여러개의 process 를 처리하려는 경우는 어떻게 할까?

그럴 경우, 상단과 같이 process 를 작은 시간 단위로 자른 후에 이를 번갈아가며 실행한다.
이를 통해서 여러 process 가 마치 동시에 진행되는 것 처럼 보여질 수 있지만, 실제로는 한번에 하나의 process 만을 실행하는 것이다.

반면에 multi core 의 경우, 다수의 core 가 process 들을 병렬적으로 처리한다.


CPU 성능 측정

CPU 의 성능은 Clock 을 통해서 측정하게 되는데, Clock 이란 초당 0, 1 이 얼마나 반복될 수 있는지를 보여주는
CPU 의 성능지표이다. Clock 이 1Hz 라고 한다면 초당 0,1 을 1 번 반복, 1MHz 는 초당 0,1 을 1,000,000 번 반복하는 것이다.

/proc/cpuinfo 에서 processor 의 갯수를 확인 할 수 있다.
grep -c processor /proc/cpuinfo


[ref]
https://www.temok.com/blog/cores-vs-threads/
https://89douner.tistory.com/153
https://virtual-dba.com/blog/sockets-cores-and-threads/

profile
개발 기록

0개의 댓글