스레싱
스레싱은 가상 메모리 시스템에서 나타나는 대표적인 성능 붕괴 현상이다. 페이지 부재가 연속으로 일어나 페이지 교체 시간이 실제 연산 시간을 압도한다. 이 상태에서는 CPU 이용률이 오히려 급락한다. 워킹 셋은 일정 시간 창 안에서 집중적으로 참조한 페이지들의 집합이다…
주요 장면
대본
정의
스레싱은 가상 메모리 시스템에서 나타나는 대표적인 성능 붕괴 현상이다.
페이지 부재가 연속으로 일어나 페이지 교체 시간이 실제 연산 시간을 압도한다.
이 상태에서는 CPU 이용률이 오히려 급락한다.
핵심 개념
워킹 셋은 일정 시간 창 안에서 집중적으로 참조한 페이지들의 집합이다.
지역성은 프로세스가 좁은 범위의 페이지만 집중해서 참조하는 성질이다.
워킹 셋이 메모리에 있어야 프로세스가 원활히 진행된다.
지역성이 유지되면 페이지 부재는 지역이 바뀔 때만 발생한다.
발생 원리
프레임이 부족하면 페이지 부재가 급증하고 CPU 이용률이 떨어진다.
OS는 이용률을 올리려고 다중 프로그래밍 정도를 높인다.
프로세스가 늘면 프레임은 더 부족해져 부재가 다시 늘어난다.
그래서 이용률만 보고 프로세스를 추가하면 스레싱이 악화된다.
계산 예제
가상의 예로 프로세스 세 개의 워킹 셋이 각각 40, 30, 50 프레임이다.
가용 프레임 수는 100이다. 워킹 셋 합계 D는 120이 된다.
D가 m보다 20 크므로 스레싱 상태다.
세 번째 프로세스를 중단하면 D는 70이 되어 판정 조건을 만족한다.
예방책
스레싱 예방에는 워킹 셋 모델, PFF, MPD 조절이 함께 쓰인다.
워킹 셋 모델은 활성 페이지를 보호하지만 추적 오버헤드가 크다.
PFF는 상한과 하한으로 프레임을 조절하지만 임계치 설정이 까다롭다.
지역 교체는 확산을 막지만 프레임이 부족하면 해결되지 않는다.
정리
스레싱은 페이지 교체가 CPU 시간을 잠식해 성능이 무너지는 현상이다.
답안에는 정의, 원인, 예방책을 워킹 셋과 PFF 중심으로 쓴다.