co to znaczy koncepcja zimnej pamięci podręcznej i ciepła pamięć podręczna?

10

Przeczytałem artykuł i użyłem terminów „zimna pamięć podręczna” i „ciepła pamięć podręczna”. Co to znaczy koncepcja zimnej pamięci podręcznej i ciepła pamięć podręczna? Odwiedzam to, ale potrzebuję czegoś więcej.

Amir
źródło
1
Co uważasz za przydatne? Jak zamierzasz korzystać z informacji? Pytam tylko dlatego, że wiesz: google.com/search?q=wikipedia+cold+cache
mikeserv
Chcę użyć tej koncepcji w moim artykule, więc potrzebuję więcej szczegółów na ich temat.
Amir
Po prostu używa temperatury jako metafory do zrozumienia, jak użyteczna jest konkretna pamięć podręczna, ponieważ „użyteczność” istnieje na kontinuum. Cieplejsze pamięci podręczne mają wysokie wskaźniki trafień, podczas gdy zimne pamięci podręczne są wypełnione danymi, o których prawdopodobnie nie będziesz pytać w najbliższym czasie, więc po prostu zajmują miejsce.
Bratchley,
@Jelelavis - Gdyby pamięci podręczne nie musiały obsługiwać błędów, powyższe byłoby prawdą, a jedyną metodą zastępowania danych w pamięci podręcznej, która kiedykolwiek wymagałaby opracowania, byłaby LFU, ale ponieważ dane są podatne na błędy z różnych powodów, obsługa Zimna pamięć podręczna jest nieco bardziej skomplikowana niż tylko zastępowanie najmniej używanych danych.
mikeserv

Odpowiedzi:

13

Krótko mówiąc: ciepła pamięć podręczna jest przydatna, a zimna pamięć podręczna nie. W rzeczywistości zimna pamięć podręczna może być niebezpieczna w użyciu.

Widzisz, cały sens pamięci podręcznej polega na utrzymywaniu dostępu do często używanych danych. Na przykład pamięć podręczna DNS przechowuje lokalnie wyniki nazw, które ostatnio zażądałeś, a gdy te same postanowienia są ponownie żądane, ich wyniki są już dostępne i podawane natychmiast, bez zapytania o większą, prawdopodobnie inną bazę danych nazw poza witryną . Innymi słowy, twój komputer nie musi pytać serwera nazw domen dostawcy usług internetowych o adres IP na google.com, ponieważ komputer już go zna - pamięć podręczna DNS jest ciepła.

Ale jeśli nigdy nie zażądasz adresu IP Google'a, nie będzie on w twojej pamięci podręcznej. Cache zimno jest zbyt przestarzały być użyteczne - jak w niej danych jest prawdopodobnie zbyt stary , aby być dokładne - czy jest on całkowicie pusty, i opróżnić znajduje się mnóstwo zimno.

Ale często puste jest lepsze niż stare - choć jest to w dużej mierze zależne od danych, które są buforowane. Opróżnianie jest łatwe w obsłudze, ponieważ wymaga tylko wypełnienia - to oczywiste - ale stare pamięci podręczne wymagają korekcji błędów. Jest to główny problem logistyczny związany z tworzeniem i utrzymywaniem systemów pamięci podręcznej - skąd możesz wiedzieć, że dane, które są buforowane, są aktualne i co się dzieje, jeśli nie są?

I nie będzie odbierać zarówno z tych pytań - są zależne zarówno wdrażania i prawdopodobnie daleko i poza moje możliwości, w każdym razie - ale należy rozumieć, że wszystkie systemy buforowania pochodzić z jakiejś wrodzonej ryzyka z niedokładności. To idzie z terytorium. Ryzyko może nie być duże - często jest to tylko ryzyko kilku dodatkowych nanosekund w czasie przetwarzania. System pamięci podręcznej sprawdzi żądane dane pod kątem tego, czy projektant pamięci podręcznej zaimplementował zabezpieczenie przed awarią, a jeśli okaże się, że jest to potrzebne, to system pamięci podręcznej, na przykład, zapyta DNS ISP o adres IP Google'a i wszystko jest w porządku.

Cieplej cache, chociaż, mniej tam jest ryzykował. Na korzyści ciepły cache za trzymania drodzy dane pobliżu przewyższają te zagrożenia Spośród zimno cache za wady lub ... prawdopodobnie nie powinno być buforowanie.

mikeserv
źródło
7
Jak głosi słynny cytat: „Istnieją dwa trudne problemy w informatyce: nadawanie nazw, unieważnianie pamięci podręcznej i błędy indywidualne”. Świadomość, że twoje wartości w pamięci podręcznej są stare, właśnie oznacza unieważnienie pamięci podręcznej :)
Riking
Twój komentarz na temat niedokładności pamięci podręcznej niekoniecznie musi być prawdziwy. Jeśli system / aplikacja ma wyłączny dostęp do źródła danych, wpisy pamięci podręcznej można odpowiednio aktualizować lub eksmitować. Problem występuje tylko wtedy, gdy masz do czynienia ze źródłami dostępnymi jednocześnie (np. DNS, NFS lub CIFS) (nawet jeśli tylko jedno ma dostęp do zapisu, na przykład DNS).
Bratchley,
„inaczej dlaczego w ogóle buforujesz” Ten sam powód, dla którego miałbyś buforować cokolwiek innego: ochronę przed dużymi opóźnieniami. Na przykład pamięć podręczna systemu plików jest po to, aby system operacyjny nie musiał wychodzić na dysk w celu uzyskania typowych żądań. Pamięć podręczna jest jednak nadal spójna, ponieważ modyfikacje lokalnych systemów plików i tak musiałyby przechodzić przez jądro. Część ECC nie jest tak naprawdę istotna, ponieważ tego rodzaju uszkodzenie nie wynika z buforowania będącego buforowaniem, lecz z powodu błędu sprzętowego, który uderzyłby we wszystkie systemy jednakowo, bez względu na to, jak zostały zaprojektowane.
Bratchley,
Dysk to pamięć podręczna pamięci RAM?
Bratchley,
Myślę, że odwróciłeś związek. Ostatnio dostępna zawartość dysku jest buforowana w pamięci RAM, więc pamięć jest pamięcią podręczną dysku (lub przynajmniej jest używana jako część systemu buforowania). Dostęp do dysku to powolna operacja polegająca na tym, że przechowywanie rzeczy w pamięci jest przeznaczone do poruszania się.
Bratchley,
6

Ogólnie rzecz biorąc, zimna pamięć podręczna to taka, która nie jest jeszcze dobrze zapełniona (jeszcze). Jeśli więc pamięć podręczna jest zimna, informacje należy odzyskać przy użyciu, prawdopodobnie, wolniejszej metody. Zwykle dzieje się tak wkrótce po uruchomieniu aplikacji lub zmianie rodzaju zapytań.

Natomiast ciepła pamięć podręczna jest dobrze wypełniona informacjami, które ostatnio lub często pobierałeś.

W odniesieniu do systemów plików ext i struktur katalogów, niektóre informacje o tym, jak ogólnie buforowanie działa w wirtualnym systemie plików (VFS) w systemie Linux tutaj: http://www.tldp.org/LDP/tlk/fs/filesystem.html

cpugeniusmv
źródło
„ostatnio czy często”? Ostatnio tak. ale często?
Faheem Mitha
1
@FaheemMitha To prawda - LFU jest zdecydowanie bardzo popularnym akronimem, z którym spotkasz się w tym dziale. Jeśli masz pewność, że pamięć podręczna zawiera tylko najnowsze informacje i jest pełna, musisz mieć inne sposoby na określenie, które informacje zostaną zastąpione podczas czytania nowych danych. LFU to prawdopodobnie taka droga.
mikeserv
@cpugeniusmv Dzięki za link. Można to rozsądnie uwzględnić w twojej odpowiedzi.
Faheem Mitha