코어가 많은 경우
- 많은 코어는 CPU의 병렬 처리 성능을 향상
- 이를 최대한 활용하기 위해서는 소프트웨어가 멀티코어 환경에 최적화되어야 함
- 단일 스레드 작업이 주를 이룰 경우, 추가 코어의 이점을 잘 활용 못함
- 또한 코어 수가 많아질수록 CPU의 비용과 전력 소비가 증가해 발열 관리 복잡
프로세스가 많은 경우
- 각 프로세스는 독립된 메모리 공간을 가지는데, 프로세스가 동시에 실행되면 메모리 사용량 급격히 증가
- 프로세스 생성 및 관리에도 많은 시스템 자원이 소모
- IPC (프로세스 간 통신)이 필요한 경우 성능 저하 발생
- 많은 프로세스는 프로세스 간 Context Switching에 발생하는 오버헤드 수반
스레드가 많은 경우
- 스레드가 많아지면, 스레드 간 Context Switching이 자주 일어나 CPU 자원이 스레드 관리에 소모
- 많은 스레드가 동시에 실행될 경우 메모리나 캐시, 락 등의 자원이 경쟁되어 성능 저하 및 데드락 발생
- 또한 스레드가 많아지면 동기화와 상태 관리가 복잡해짐
내 답변
- 코어가 많으면 많을 수록 처리 할 수 있는 작업이 많이지므로 긍정적인 효과 가져올 것 같다.
- 프로세스는 너무 많아지면 여러개의 PCB를 커널에 저장해야하고, 계속 context switching이 발생하면 오버헤드가 발생해서 좋은 영향을 가져오지는 않을 것 같음
- 한 프로세스 내에 여러개의 스레드가 있으면 동시성이 보장되어 좋지만, 이 또한 context switching이 자주 일어나면 오버헤드가 발생할 것 같음
'😀 Jerry > 면접 질문' 카테고리의 다른 글
[1분 면접] DB 시스템에서 동시성 제어하는 방법 (0) | 2025.02.21 |
---|---|
[1분 면접] HTTP 매서드에서 멱등성이란 무엇인가 ? (0) | 2025.02.21 |
[1분 면접] 사용자가 웹사이트에 처음 접근했을 때 발생하는 일련의 과정 (0) | 2025.02.20 |
[1분 면접] DB에서 커넥션 풀을 사용하지 않을 때 발생하는 문제는 ? (0) | 2025.02.18 |
[1분 면접] 단위 테스트와 통합 테스트의 차이점 (0) | 2025.02.15 |