내용 출처
지금까지 반효경 교수님의 <운영체제> 강의 내용을 중심으로 하고, 교수님의 저서 <운영체제와 정보기술의 원리>에서 추가할 만한 내용을 보충하는 방식으로 내용을 정리했다. 책의 마지막 장에서는 강의에서는 다루지 않는 웹 캐싱 기법을 다루고 있어서, 이 내용 중 일부를 정리해보았다.
Web Caching
교체 알고리즘의 성능 척도
캐시 적중률 (Hit Rate : HR)
사용자의 총 요청 중 캐시에서 적중되어 서비스된 요청의 비율
바이트 적중률
사용자에 의해 요청된 총 바이트 중에서 캐시에 이미 존재해 근원지 서버에서 받아올 필요가 없는 바이트 수의 비율
지연 감소율
캐시가 없을 경우의 총 사용자 지연시간 중 캐시가 있어서 줄어드는 지연시간의 비율
비용 절감률 (Cost-Savings Ratio : CSR)
객체들의 참조 가능성과 이질성을 함께 고려해서 평가한 객체들의 가치
전통적인 캐싱 환경과 달리, 웹캐싱에서는 캐싱 대상이 되는 객체들의 크기와 인출 비용(객체를 캐시로 읽어오는 비용)이 균일하지 않다.
그래서 전통적인 캐싱 환경에서는 캐시적중률을 높이는 것으로 충분했지만, 웹캐싱의 캐시 교체 알고리즘은 객체의 이질성을 고려할 수 있는 비용 절감률을 높이는 것을 목표로 한다.
시간 지역성 (temporal locality)
최근에 참조된 객체가 다시 참조될 가능성이 높다
인기도 (popularity)
참조 횟수가 많은 객체일수록 또다시 참조될 가능성이 높다
1) 시간지역성의 측면
2) 참조 인기도의 측면
LRV 알고리즘, MIX 알고리즘, LUV 알고리즘은 시간지역성과 참조 인기도를 모두 고려하여 객체의 참조 가능성을 예측한다.
강한 일관성 유지 기법
약한 일관성 유지 기법
강한 일관성 유지 기법은 득보다는 실이 많다. 따라서 대부분의 상용 프락시 서버들은 약한 일관성 유지 기법인 adaptive TTL 방법을 사용한다.
ICP (인터넷 캐시 프로토콜)
CARP (캐시 배열 간 경로지정 프로토콜)
예측 사전인출 기법
웹페이지들 간의 관계 그래프 등을 구성해 하나의 웹 페이지가 참조되었을 때 새로운 웹페이지가 참조될 확률을 과거의 참조 기록을 통해 예측하고 이 확률을 기반으로 사전인출을 수행하는 방법
대화식 사전인출 기법
사용자가 HTML 문서에 대한 요청을 했을 때, 웹캐시는 캐싱하고 있던 HTML 문서를 미리 파싱(parsing)해 그 문서에 포함되거나 연결된 웹 객체를 미리 받아와서 사용자의 후속 요청에 곧바로 전달하는 기법