Multi-Processor (MP) Scheduling
1) Loosely coupled | Distributed multiprocessor -> 물리적으로 다른 컴퓨터의 프로세서
2) Tightly coupled multiprocessor -> 한 컴퓨터 내의 여러 프로세스가 메모리 공유
approach MP scheduling
1) Asymmetric multiprocessing (master / slave)
-> 다른 역할을 부여
--> bottleneck 발생 가능
2) Symmetric multiprocessing (SMP, peer)
-> 대등한 역할
Design Issue
- UP scheduling
하나의 프로세서 -> 큐에서 선택
--> 수행 중에 결정
- MP scheduling
1) scheduling 알고리즘은 영향이 거의 없음
2) 몇 개의 ready queue를 사용할지 결정
3) 어떻게 운영 / 관리할지 결정
Single-Queue MP Scheduling
장점: 단순함, load sharing
단점: race condition, affinity
affinity
한 번 메모리에 올라간 일은 관련 데이터가 캐시에 저장
-> 매번 다른 프로세스에 올라갈 수 있으나, 캐시에 존재하지 않을 수 있음
Soft affinity: 고려는 하나 보장은 하지 않음. 프로세서간의 이동이 가능
Hard affinity: 해당 CPU에서만 수행
Multi-Queue MP Scheduling
장점
1) 별도의 queue가 존재 -> race condition 문제 해결
2) own private queue 존재 -> affinity 해결
단점
1) load imbalance: runtime 도중 service time 예측이 어려우므로 load가 편향될 수 있음.
Load Balancing
affinity 희생
1. Pull migration
-> idle한 processor가 process를 가져옴.
2. push migration
-> 커널이 주기적으로 각 프로세스의 load를 확인
--> 주기가 중요
'Study > OS' 카테고리의 다른 글
[OS] Processor Scheduling (0) | 2024.04.19 |
---|---|
[OS] Process Description and Control II (0) | 2024.04.19 |
[OS] Process Description and Control I (0) | 2024.04.19 |