IT 기술/CA & OS

프로세스 스레싱

gooooooood 2025. 1. 7. 23:08
반응형

Ⅰ. 실행 시간보다 페이지 교체 시간이 많아지는 스레싱 개요

가. 스레싱의 정의

- Page Fault가 연속적으로 발생하여 프로세스 수행시간보다 페이지 교체 시간이 더 큰 상태

 

나. 스레싱의 결과

개념도 설명
- 멀티 프로세스 시스템에서 자주 발생
- 시스템 처리율이 낮아지고 페이지 부재가 높아짐
- 메모리 접근 시간 증가, 프로세스 가용성 감소
- 스레싱 방지를 위해 다중 프로그래밍 낮춰야 함

- 다중 프로그래밍 정도가 높아짐에 따라 프로세서 이용률이 향상되지만 임계치 도달후 낮아짐

 

Ⅱ. 스레싱의 발생 원인

가. 스레싱의 발생 과정

 

나. 스레싱 주요 원인

구분 주요 원인 설명
부적절한
페이지
교체 정책
- Belady's Anomaly
- Page Miss 증가
- 페이지 교체 정책 실패
- page 추가 hit rate 감소
- Small Page Size
- 다수 PAge 사용
- paging overhead 증가
- paging 시간 > 처리 시간
시스템
리소스
부족
- 작은 L2 캐시
- 낮은 메모리 용량
- page miss ratio 증가
- 빈번한 page rault 발생
- Memory Clock
- Single Core
- single channel memory
- 저성능 CPU/Core 사용
프로그램
메모리
관리 실패
- 과도한 thread()
- 무분별한 fork()
- 과도한 프로세스 발생
- Instance, Method Load
- exit(0) 미사용
- G/C 미수행
- 메모리 누수/관리 실패
- Zombie, 메모리 점유

- 스레싱의 완벽 예방은 어려우므로 Working Set Model, Page Fault Frequency 통해 발생 최소화

 

Ⅲ. 스레싱 예방 방법

가. 지역성 활용, Working Set Model

구분 설명
개념 프로세스가 많이 참조하는 페이지 집합을 메모리 공간에 계속 상주시켜 빈번한 페이지 교체현상을 줄이는 방법
특징 - 과도기, 안정기가 주기적 반복
장점 - 멀티 프로그래밍 정보 높임
- CPU 활용률 최적화
단점 - Working Set 추적 관리 복잡
- Window 사이즈 설정 모호함
- 참조 페이지 Queue 유지관리 복잡

 

나. 직접 엑세스 방식, Page Fault Frequency

구분 설명
개념 현재 페이지 부재와 이전 페이지 부재 사이 시간 관찰하여 최소 시간보다 크면 그 사이 호출되지 않았던 페이지 모두 제거
특징 - 페이지 부재 비율 높음
장점 - 페이지 부재 발생 시에만 실행
- 직접 페이지 부재율 조절 가능
단점 - 프로세스 중지 과정 발생
- 페이지 참조 신규 지역성 이동

 

 

Ⅳ. 효과적인 스레싱 발생 최소화를 위한 예방 기법

구분 예방 기법 세부 기법
운영체제
설정 측면
- Page Size 결정
- 2^n byte Page
- 페이지 교체 오버헤드 방지
- 페이지 단위, TLB 범위 고려
- 역 페이지 테이블
(Inverted Page Table)
- 페이지 테이블 위한 메모리 공간 축소 기법
프로그램
설계 측면
- Locality 고려
- Loop, Array
- 개발 언어 특성 고려
-  method 호출 프로그램 구조
- 페이지 Lock
- 입출력 방지
- 페이지 Locking 교체 방지
- 사용자 공간으로 I/O 차단
반응형

'IT 기술 > CA & OS' 카테고리의 다른 글

차세대 컴퓨팅  (0) 2024.12.17
가상메모리  (0) 2024.12.17
SSD FTL(Flash Translation Layer)  (0) 2024.12.17
캐시 메모리  (0) 2024.12.17
메모리 인터리빙  (0) 2024.12.17