콜드 캐시 및 웜 캐시 개념은 무엇을 의미합니까?


10

나는 논문을 읽었으며“콜드 캐시”와“웜 캐시”라는 용어를 사용했습니다. 콜드 캐시 및 웜 캐시 개념은 무엇을 의미합니까? 나는 방문 있지만, 뭔가 더 필요합니다.


1
무엇을 유용하다고 생각하십니까? 정보를 어떻게 사용 하시겠습니까? 당신이 알고 있기 때문에 난 단지 질문 : google.com/search?q=wikipedia+cold+cache
mikeserv

나는이 개념을 내 논문에 사용하고 싶다.
Amir

"유용성"이 연속체에 존재하기 때문에 특정 캐시가 얼마나 유용한 지 이해하기 위해 온도를 은유로 사용합니다. 웜 캐시는 적중률이 높지만 콜드 캐시는 조만간 다시 요청하지 않을 데이터로 채워져 공간을 차지합니다.
Bratchley

@JoelDavis-캐시가 오류를 처리 할 필요가없는 경우, 위의 사항이 적용되며 개발이 필요했던 캐시 된 데이터를 대체 하는 유일한 방법은 LFU이지만 여러 가지 이유로 인해 데이터가 오류가 발생하기 때문에 처리 콜드 캐시는 사용률이 가장 낮은 데이터를 교체하는 것보다 조금 더 복잡합니다.
mikeserv

답변:


13

간단히 말해, 웜 캐시는 유용하지만 콜드 캐시는 유용하지 않습니다. 실제로 콜드 캐시는 사용하기에 위험 할 수 있습니다.

캐시의 요점은 자주 액세스하는 데이터에 액세스 할 수있게하는 것입니다. 예를 들어 DNS 캐시는 최근에 요청한 이름 확인 결과를 로컬에 저장하며, 동일한 확인이 다시 요청되면 결과는 이미 사용 가능하며 더 큰 외부 사이트 이름 데이터베이스를 쿼리하지 않고 즉시 제공됩니다. . 즉, 컴퓨터가 이미 알고 있기 때문에 컴퓨터가 인터넷 서비스 제공 업체의 도메인 이름 서버에 google.com 에 대한 IP 주소를 요청할 필요가 없습니다 . DNS 캐시따뜻합니다.

그러나 Google의 IP를 요청하지 않으면 캐시에 없습니다. 차가운 캐시 가능성이 포함 된 데이터로 - 유용 할 하나 너무 부실 너무 오래된 것으로 정확한 - 또는 그것은 전적으로 비우, 그리고의 비어 충분히의 감기.

그러나 종종 비어있는 것이 오래된 것보다 낫습니다. 물론 캐시되는 데이터에 크게 의존합니다. 비어 있음은 채울 필요가 있기 때문에 처리하기 쉬우 며, 이는 쉬운 일이 아니지만 오래된 캐시에는 오류 수정이 필요합니다. 이것은 캐시 시스템 개발 및 유지 관리의 주요 물류 문제입니다. 캐싱 한 데이터가 최신 상태인지 어떻게 알 수 있습니까?

나는 그 질문 중 하나에 대답하지 않습니다 - 그들은 의존하고 아마 멀리 멀리 내 능력을 넘어, 어쨌든 모두 구현이야 -하지만 모든 캐싱 시스템은 일부 내재와 함께 있음을 이해하여야한다 위험부정확성. 그것은 영토와 함께 간다. 위험은 크지 않을 수 있습니다. 종종 처리 시간이 몇 초 밖에 걸리지 않을 위험이 있습니다. 캐시 시스템은 캐시 디자이너가 구현 한 페일 세이프에 대해 요청 된 데이터를 검사하며, 원하는 경우 캐시 시스템은 예를 들어 ISP의 DNS에 대해 Google의 IP를 쿼리하여 모든 것이 잘됩니다.

캐시 따뜻한, 그래도 거기 걸고. 따뜻한 캐시의 혜택 소중한 데이터를 유지 근처 보다 중요한 위험차가운 캐시의 아마 당신이 캐싱 안 ... 단점을하거나.


7
유명한 인용에 따르면 "컴퓨터 과학에는 두 가지 어려운 문제가 있습니다. 이름 지정 문제, 캐시 무효화 및 일대일 오류"입니다. 캐시 된 값이 오래되었다는 것은 캐시 무효화가 의미하는
바입니다.

캐시 부정확성에 대한 귀하의 의견에 반드시 해당되는 것은 아닙니다. 시스템 / 애플리케이션이 데이터 소스에 독점적으로 액세스 할 수있는 경우 캐시 항목을 적절하게 업데이트하거나 제거 할 수 있습니다. 이 문제가 발생하는 동시 액세스 소스 (예 : DNS, NFS 또는 CIFS)를 처리하는 경우에만 해당됩니다 (DNS와 같은 하나의 쓰기 액세스 권한이있는 경우에도).
Bratchley

"다른 이유는 무엇이든 캐싱 하는가"다른 무엇이든 캐싱해야하는 것과 같은 이유 : 높은 대기 시간 방지. 예를 들어 파일 시스템 캐시는 OS가 일반적인 요청을 위해 디스크로 나갈 필요가 없습니다. 그러나 로컬 파일 시스템에 대한 수정은 커널을 거쳐야하므로 캐시는 여전히 일관성있는 상태입니다. 이러한 종류의 손상은 캐싱 캐싱으로 인한 것이 아니라 하드웨어 오류로 인해 설계 방식에 관계없이 모든 시스템에 동일하게 영향을 미치기 때문에 ECC 부분은 실제로 관련이 없습니다.
Bratchley

디스크는 RAM의 캐시입니까?
Bratchley

나는 당신이 관계를 반대로 생각합니다. 최근에 액세스 한 디스크 내용은 RAM에 캐시되므로 메모리는 디스크에 대한 캐시입니다 (또는 캐싱 시스템의 일부로 사용됨). 디스크 액세스는 물건을 메모리에 저장하는 것이 느리게 작동하는 것입니다.
Bratchley

6

일반적으로 콜드 캐시는 아직 채워지지 않은 캐시입니다. 따라서 캐시가 차가 우면 아마도 느린 방법을 사용하여 정보를 검색해야합니다. 일반적으로 응용 프로그램이 시작되거나 쿼리 유형이 크게 변경된 직후에 발생합니다.

반대로 웜 캐시는 최근에 또는 자주 검색 한 정보로 채워집니다.

ext 파일 시스템 및 디렉토리 구조와 관련하여 Linux의 가상 파일 시스템 (VFS)에서 캐싱이 일반적으로 작동하는 방법에 대한 정보가 있습니다. http://www.tldp.org/LDP/tlk/fs/filesystem.html


"최근 또는 자주"? 최근에 그렇습니다. 그러나 자주?
Faheem Mitha


1
@FaheemMitha 사실입니다-LFU는이 부서에서 흔히 볼 수있는 매우 일반적인 약어입니다. 캐시에 최신 정보 만 포함되어있는 것이 합리적이고 가득 찬 경우 새 데이터를 읽을 때 대체 할 정보를 결정하는 다른 방법이 있어야합니다. LFU는 아마도 당신이 갈 길입니다.
mikeserv

@cpugeniusmv 링크 주셔서 감사합니다. 그것은 당신의 대답에 합리적으로 포함될 수 있습니다.
Faheem Mitha
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.