개요
멀티 코어 프로세서
하나의 칩에 여러 CPU 코어가 내장
- CPU를 더 추가해도 단일 애플리캐이션이 더 빨리 실행되는 것은 아니다.
- threads 를 이용하여 병렬 실행되도록 작성해야 한다.
캐시
작고, 빠른 메모리
캐시에 저장된 공유 리소스 데이터의 일관성 문제
- 버스 스누핑
- 각 캐시는 자신과 메모리를 연결하는 버스의 통신 상황을 계속 모니터링
- CPU가 캐시에 보유한 데이터 항목에 대한 업데이트를 발견하면 변경 사항을 인식하고 복사본을 무효화하거나 업데이트 함
→ CPU를 통해 공유된 데이터에 접근할 때는 정확성을 보장하기 위해 상호 배제가 필요하다.
락(lock)을 사용하여 해결한다.
→ 가능한 동일한 CPU에 프로세스를 유지시킨다.
다중 프로세서 스케줄러는 캐쉬 친화성을 고려해야 한다.
단일 큐 스케줄링 SQMS
스케줄링이 필요한 모든 작업은 단일 큐에 넣는다.
장점
- 단순하다
- 워크로드 균형 맞추기 용이
단점
- 확장성 결여
- 캐쉬 친화성 문제
멀티 큐 스케줄링 MQMS
장점
- 확장성이 좋음
- 캐쉬 친화적
단점
- 워크로드 불균형
작업 이주
를 사용하여 해결
'Programming > [Operation System]' 카테고리의 다른 글
싱글 프로세서 스케줄링 (1) | 2022.11.03 |
---|