본문 바로가기

공부 기록/영상 후기

cpu bound, io bound 의미를 설명합니다! 이에 따른 스레드 개수를 정하는 팁도 알려드립니다!

https://youtu.be/qnVKEwjG_gM?si=1ZZhH-It9rEgZvDF 

CPU(Central Processing Unit) : 프로세스의 명령어를 해석하고 실행하는 장치

 

버스트(Burst) : 어떤 현상이 짧은 시간 안에 집중적으로 일어나는 일

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

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

 

프로세스의 인생은 CPU 버스트와 IO 버스트의 연속

 

CPU bound 프로세스 : CPU burst가 많은 프로세스(예 : 동영상 편집 프로그램, 머신러닝 프로그램)

IO bound 프로세스 : IO burst가 많은 프로세스(예 : (일반적인) 백엔드 API 서버)

 

CPU bound 프로그램에서 적절한 스레드 수는 number of CPUs + 1

- 컨텍스트 스위칭은 불필요한 오버헤드이므로

 

IO bound 프로그램은 스레드 몇 개가 적절할까? => 여러 상황에 맞춰서 적절한 스레드 수를 찾아야...