cpu bound, io bound

이다혜·2024년 1월 18일
0

영상후기

목록 보기
10/12

📍 CPU(central processiong unit)

프로세스의 명령어를 해석하고 실행하는 장치

📍 IO(input/output)

  • 파일을 읽고 쓰는 것
  • 네트워크의 어딘가와 데이터를 주고 받는 것
  • 입출력 장치와 데이터를 주고 받는 것

📍 버스트(Burst)

어떤 현상이 짧은 시간 안에 집중적으로 일어나는 일

  • CPU 버스트
    프로세스가 CPU에서 한 번에 연속적으로 실행되는 시간

  • IO 버스트
    프로세스가 IO 작업을 요청하고 결과를 기다리는 시간

📌 CPU bound 프로세스

CPU 버스트가 io 버스트보다 많은 프로세스

즉, CPU 연산에 많은 시간을 소비하는 프로세스

ex) 동영상 편집 프로그램, 머신러닝 프로그램

📍 CPU bound 프로그램과 스레드 수

적절한 스레드 수 = number of CPUs + 1

💡 스레드가 많으면 더 빠른거 아니야?


스레드 수가 너무 많으면 컨텍스트 스위칭 비용이 증가하고, 이로 인해 성능이 오히려 감소할 수 있다.

📌 IO bound 프로세스

IO 버스트가 많은 프로세스

ex) 백엔드 API 서버

📍 I/O bound 프로그램과 스레드 수

컴퓨터 스팩, 프로그램의 특성 등 여러 상황에 맞춰서 적절한 스레드 수를 찾아야 한다.

0개의 댓글