1.Multiple-processor scheduling
Multiple-processor system
- 좋은점: Load sharing 가능
- 나쁜점: Scheduling문제가 더 복잡하다
여기서 프로세서는 대부분 cpu를 얘기한다.
그리고 우리가 다룰것은 Symmetric 한것이다.
Two possible strategies
- 모든 threads 는 common ready queue에 있을수 있다.
- 각 프로세서는 자체 private queue of threads를 가질수있다.
2.Processor Affinity (프로세서 선호도)
하던일을 최대한 옮기지 말자
프로세스 -> 프로세스 옮기면 캐시의 모든 내용을 무효화하고 다시 채워야 한다.
Processor affinity : Migration overhead를 방지하기 위해 동일한 프로세서에서 프로세스 실행 유지
(Migration overhead : 프로세스가 한 프로세서에서 다른 프로세서로 이동할 때 발생하는 추가적인 처리 비용)
- Soft affinity : 되도록이면 안바꾼다. 근데 경우에 따라 다름
- Hard affinity : 절때 안바꿈!
3.Load Balancing
옮기자 히히
Load balancing : 가능하면 균등하게 일이 배부 되도록
- Push migration : cpu load를 체크해서 balance무너져 있으면 덜 바쁜애한테 일을 줌 (ready queue 사이로 잰다)
- Pull migration: 할일 없으면 일 받아오는거
- 두가지 동시에 사용가능하다. 병렬 구현 가능.
4.Multi-core Processors
Multi-core processor: 동일한 물리적 칩에 있는 여러 프로세서 코어
-
- Memory stal: 메모리 access 하고 기다리는 시간
- 해결방법: multithreaded processor cores (속의 쓰레드를 실행하자)
- Scheduling issues on multi-core processor
5.Multi-Threaded Processor Cores
- Hyper thread : cpu 한개의 역할을 다하는건 아니지만 부분적으로 역할을 한다.
- Hyper thread가 있으면 없는것보다 30% 성능이 좋다.
'Study > 운영체제' 카테고리의 다른 글
1. Introduction - Computer system architecture (0) | 2023.04.10 |
---|---|
5.CPU Scheduling - Thread scheduling (0) | 2023.04.10 |
5.CPU Scheduling - Scheduling algorithms (0) | 2023.04.10 |
1. Introduction - Computer system organization and operation (0) | 2023.04.10 |
1. Introduction - Definitions of operating system (0) | 2023.04.10 |