본문 바로가기
Back-End

스레드, 프로세스, 코어 수 증가에 따른 성능

by 코젼 2025. 3. 25.
728x90
반응형

스레드, 프로세스, 코어의 수가 많을수록 시스템 성능이 향상된다고 생각할 수 있지만, 실제로는 그렇지 않을 확률이 크다.

스레드가 많으면?

스레드가 지나치게 많아지면 운영체제스레드 간 컨텍스트 스위칭을 자주 수행해야 하여 CPU 자원스레드 관리에 소모된다. 이로 인해 실제 작업 수행 효율이 떨어질 수 있으며, 많은 스레드가 동시에 실행될 경우 메모리나 캐시, 락 등의 자원경쟁하게 되어 성능 저하데드 락이 발생할 가능성이 높아진다. 또한, 스레드가 많아지면 동기화상태 관리복잡해져 버그 발생 가능성도 커진다.

프로세스가 많으면?

각 프로세스는 독립된 메모리 공간을 가진다. 그래서 많은 프로세스가 동시에 실행되면 메모리 사용량이 급격히 증가할 수 있다. 또한, 프로세스를 생성하고 관리하는 데는 상당한 시스템 자원소모되며, 프로세스 간 통신(IPC) 이 필요할 경우 성능 저하가 발생할 수 있다. 프로세스 간 컨텍스트 스위칭은 스레드 간 컨텍스트 스위칭보다 더 많은 오버헤드를 수반하기 때문에, 프로세스 수가 많아지면 시스템 성능이 저하될 수 있다. 운영체제동시에 실행할 수 있는 프로세스 수제한이 있으며, 이를 초과하면 새로운 프로세스 생성이 불가능하거나 시스템이 불안정해질 수 있다.

코어가 많으면?

많은 코어를 가진 CPU병렬 처리 성능을 향상시킬 수 있지만, 이를 최대한 활용하기 위해서는 소프트웨어멀티코어 환경최적화되어 있어야 한다. 단일 스레드 작업이 주를 이루는 경우, 추가 코어의 이점을 제대로 활용하지 못할 수 있다. 또한, 코어 수가 많아질수록 CPU비용전력 소비가 증가할 수 있으며, 발열 관리도 더 복잡해진다.

728x90
반응형

댓글