-
다중 처리기 스케줄링운영체제/CPU 스케줄링 2018. 2. 3. 18:20
여러 개의 CPU가 있는 다중 처리기에서 스케줄링은 더욱 복잡해지지만 부하 공유가 가능해진다.
다중 처리기 스케줄링에 대한 접근 방법
하나의 처리기가 모든 스케줄링 결정과 입출력 처리 그리고 다른 시스템의 활동을 취급하게 하는 것을 비대칭 다중 처리라고 한다.
비대칭 다중 처리는 자료 공유의 필요성을 배제하기 때문에 간단하다.
대칭 다중처리 에서는 각 처리기가 독자적으로 스케줄링 하며 스케줄링은 각 처리기의 스케줄러가 준비 완료 큐를 검사하여 실행할 프로세스를 선택한다.
처리기 친화성
대칭 다중처리 시스템은 한 처리기에서 다른 처리기로의 이주를 피하고 같은 처리기에서 프로세스를 실행시키려고 한다.
이 현상을 처리기 친화성이라고 한다.
약한 친화성 : 운영체제가 동일한 처리기에서 프로세스를 실행하려고 노력하는 정책을 가지고 있지만 보장하지는 않음
강한 친화성 : 시스템 호출을 통하여 프로세스가 다른 처리기로 이주 되지 않도록 지정
부하 균등화
대칭 다중처리 시스템 에서 처리기가 하나 이상이라는 것을 최대한 활용하려면 부하를 모든 처리기에 균등하게 배분하는 것이 매우 중요하다.
Push 이주 : 특정 태스크가 주기적으로 각 처리기의 부하를 검사하고 만일 불균형 상태이면
과부하인 처리기에서 쉬고 있거나 덜 바쁜 처리기로 프로세스를 이동시킴으로써 부하를 분배한다.
Pull 이주 : 쉬고 있는 처리기가 다른 처리기의 프로세스를 자기 쪽으로 가져온다.
다중 코어 프로세서
하나의 물리적인 칩 안에 여러 개의 처리기 코어를 장착하는 것을 다중 코어 프로세서라고 한다.
프로세서가 메모리에 접근할 때 데이터가 사용 가능해지기를 기다리며 시간을 허비하는 것을 메모리 멈춤 이라고 한다.
댓글