본문 바로가기
Study/운영체제

5.CPU Scheduling - Multiple-processor scheduling

by 이미뇨 2023. 4. 10.

1.Multiple-processor scheduling

Multiple-processor system

  • 좋은점: Load sharing 가능
  • 나쁜점: Scheduling문제가 더 복잡하다

여기서 프로세서는 대부분 cpu를 얘기한다. 

그리고 우리가 다룰것은 Symmetric 한것이다.

Symmetric vs. Asymmetric Multiprocessing

 

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

Multi-Threaded Processor Cores

  • Hyper thread : cpu 한개의 역할을 다하는건 아니지만 부분적으로 역할을 한다.
  • Hyper thread가 있으면 없는것보다 30% 성능이 좋다.