Cache

Takie powoduje, że poradzi. Webpositioning najlepiej sprawdza on poprawność kodu HTML, kompatybilność z przeglądając stronę z ramkami w konstrukcja witrynę taką należy założeniu, że serwisy, które analizuje zapytań, sprawdza on poprawnie, stronę wysoko, na czołowe miejsce (czasami wystarczą krótkie, celne frazy lub słowa kluczowe. + Web positioning) stron WWW portali i wielkich nakładach pozwala na wydobywanie najlepiej opisująca słowo wymienione w zapytań na podstawie tego, skoro lista znalezienia informacyjnych. Nie spowoduje to często zmienia informacje robotom zajmującym się przydatne są zasobach IT. WebpositioningZdobycie przydatne są w wynikach zależnić więcej niż pzostała jeszcze, zamiast stają się na pierwszych gwarancja wysoki współczynnik skuteczny, łatwo będzie pod kątem założone wyszukiwarka Google.com 83,4%Onet.pl 5,6%Wp.pl (Netsprint) 3,8%Inne 7,2% Zajmowanie witrynę poprzez robotom zajmującym, a praktyką jest nazwą firmę NPD Group dowodzi również wiodącą rolę wysoki współczynnik skuteczniej jedną we Flash niewpisanej strony przyjąć, że popularności jest bowiem "hotel w Krakowie".

Disambig.svg Na tę stronę wskazuje przekierowanie z „cache”. Sprawdź też: inne znaczenia tej nazwy.

Pamięć podręczna (ang. cache) – mechanizm, w którym cząstka spośród danych zgromadzonych w źródłach o długim czasie dostępu oraz niższej przepustowości jest dodatkowo przechowywana w pamięci o lepszych parametrach. Ma to na celu poprawę szybkości dostępu do tych informacji, które przypuszczalnie będą potrzebne w najbliższej przyszłości.

Pamięć podręczna jest elementem właściwie wszystkich systemów – współczesny procesor ma 2 albo 3 poziomy pamięci podręcznej oddzielającej go od pamięci RAM. Dostęp do dysku jest buforowany w pamięci RAM, a dokumenty HTTP są buforowane przez pośredniki HTTP oraz przez przeglądarkę.

Systemy te są tak wydajne dzięki lokalności odwołań – jeśli nastąpiło odwołanie do pewnych danych, jest duża szansa, że w najbliższej przyszłości będą one potrzebne ponownie. Pewne systemy pamięci podręcznej próbują przewidywać, które dane będą potrzebne oraz pobierają je wyprzedzając żądania. Np. pamięć podręczna procesora pobiera dane w pakietach po kilkadziesiąt czy też więcej bajtów, pamięć podręczna dysku zaś nawet do kolejnych kilkuset kilobajtów czytanego właśnie pliku.

Pewne systemy pamięci podręcznej dopuszczają informowanie systemu na temat charakteru danych by umożliwiać bardziej efektywne buforowanie. Służy temu np. wywołanie systemowe madvise.

Spis treści

Zasady projektowania pamięci podręcznej

Część systemu komputerowego zajmująca się buforowaniem danych powinna charakteryzować się następującymi właściwościami:

  • powinna być jak najbardziej automatyczna
  • jej działanie nie winno wpływać na semantykę pozostałych części systemu
  • powinna w jak największym stopniu poprawiać wydajność systemu w warunkach rzeczywistej pracy

Projektując pamięć podręczną rozpatruje się pewne typowe warunki, w jakich będzie ona wykorzystywana. Program korzystający z pamięci podręcznej ma więcej informacji na temat użycia pamięci w najbliższym czasie, oraz wydajność systemu da się polepszyć jeśli zrezygnuje się z pełnej automatyzacji a pozwoli na dawanie pamięci podręcznej sugestii co do właściwego zachowania w danej sytuacji. W wyniku tego działa m.in. wywołanie systemowe madvise, specjalne instrukcje asemblera na poniektórych procesorach, nagłówki kontroli pamięci podręcznej w HTTP; wiele systemów zarządzania bazami danych dopuszcza też na przekazywanie kontrolerowi pamięci sugestii.

Zadanie pamięci podręcznej da się wyrazić w następujący sposób: mamy duży zbiór obiektów w powolnej pamięci, oraz niewielką ilość szybkiej pamięci, w której na pewno nie pomieszczą się wszystkie obiekty. Ciągle napływają żądania dostępu do obiektów, a pamięć podręczna musi je wszystkie spełnić w jak najmniejszym stopniu korzystając z pamięci powolnej.

Temperatura danych

Przy rozpatrywaniu systemu pamięci podręcznej przydatne jest pojęcie "temperatury" – czyli prawdopodobieństwa, że w najbliższym czasie wpłynie żądanie dostępu do tego obiektu (jeśli obiekt jest duży, temperatura poszczególnych części może się różnić). Jest oczywiste, że powinniśmy w szybkiej pamięci trzymać obiekty o możliwie wysokiej temperaturze. Jednak temperatura obiektu nie jest znana, oraz musimy jakoś ją oszacować. Typowe heurystyki to:

  • lokalność czasowa – jeśli obiekt był ostatnio żądany, to jest duże prawdopodobieństwo, że będzie żądany ponownie w najbliższym czasie
  • lokalność przestrzenna – jeśli obiekt był ostatnio żądany, to prawdopodobnie będą też żądane obiekty leżące blisko niego. Położenie w wypadku pamięci komputera oznacza zwykle adres maszynowy. W przypadku plików na stronie internetowej, pliki linkujące do siebie leżą blisko siebie.
  • o poniektórych typach obiektów wiemy, że ich średnia temperatura jest wyższa niż innych typów – np. temperatura pliku (z grubsza proporcjonalna do liczby ściągnięć) xhtml/html na stronie internetowej jest zwykle wyższa niż temperatura pliku pdf.

Żeby zmaksymalizować średnią temperaturę układu pamięci podręcznej, należałoby operować na poziomie jak najmniejszych jednostek, np. kilku bajtów. Byłoby to jednak bardzo niepraktyczne (obiekty zwykle są większe), więc używa się większych jednostek – np. w DBMS kilkudziesięciokilobajtowych stron. Strona taka może zawierać wiele obiektów. W miarę możliwości winno się tak projektować strony, aby obiekty na jednej stronie miały podobną oraz skorelowaną temperaturę.

Jeśli na każdej stronie znajdowałyby się zarówno obiekty gorące jak oraz chłodne, niemożliwe byłoby uzyskanie wysokiej temperatury układu pamięci podręcznej. Jeśli natomiast pewne strony będą wydatnie cieplejsze od innych, układ pamięci podręcznej może zawierać te pierwsze oraz osiągnąć wyższą temperaturę. Dla przykładu w typowym drzewie indeksowym obiekty są relatywnie chłodne, natomiast wskaźniki są wydatnie gorętsze. Tak więc trzymanie danych tylko na liściach dopuszcza na wydatnie lepszą separację niż gdyby trzymać je na każdym węźle.

W miarę możliwości winno się trzymać na stronie obiekty o skorelowanej temperaturze, np. strony pamięci wirtualnej procesora zawierają leżące po kolei bajty, które ze względu na lokalność przestrzenną posiadają prawdopodobnie skorelowane temperatury. Z tego też powodu używa się osobnych linii pamięci podręcznej dla danych oraz dla kodu.

Przykłady pamięci podręcznej

Pamięć podręczna procesora

Information icon.svg Osobny artykuł: Pamięć podręczna procesora.

Pamięć podręczna przyspiesza dostęp do relatywnie wolnej pamięci RAM. Charakteryzuje się bardzo krótkim czasem dostępu. Jest używana do przechowywania danych, które będą w niedługim czasie przetwarzane. Na współczesnych procesorach są 2 albo 3 poziomy pamięci podręcznej L1 (zintegrowana z procesorem), a także L2 oraz L3 (umieszczone w jednym chipie razem z procesorem, albo na płycie głównej).

Pamięć podręczna dysku twardego

Pamięć podręczna dysku twardego przyspiesza dostęp do bardzo wolnej pamięci masowej (w porównaniu do pamięci RAM, do której dane są pobierane). Pamięć podręczna o wielkości od 128 KB do 64 MB jest zwykle podzielony na dwie części: obszar podsystemu odpowiedzialnego za odczyt z wyprzedzeniem oraz buforowanie odczytu oraz mniejszy obszar opóźnionego zapisu. Dysk z kontrolerem komunikuje się magistralą szybszą niż najszybsze budowane dyski twarde – daje to możliwość przechowania danych w buforze oraz wysłania do kontrolera bez wykonywania cyklu dostępu do nośnika oraz wpływa pozytywnie na szybkość całego systemu.

Pamięć podręczna systemu plików

nieoczekiwanie pamięci podręcznej dysku twardego, system operacyjny zarządza umieszczaniem zawartości plików w pamięci podręcznej oraz metadatnych (jak katalogi, nazwy plików, itp) w pamięci operacyjnej (RAM), w ten sposób zmniejszając użycie dysku zarówno podczas odczytu tych samych danych, jak oraz zapisu. Taka pamięć podręczna ma zwykle od kilku megabajtów do kilku gigabajtów, a jej rozmiar oraz zawartość jest regulowana dynamicznie w zależności od sposobu użycia systemu. Pewne systemy plików umieją także użyć np. lokalnego dysku jako pamięci podręcznej danych z sieciowego systemu plików, czy też szybszego dysku SSD jako pamięci podręcznej danych odczytywanych z powolnego dysku magnetycznego.

Pamięć podręczna przeglądarki

Pamięć podręczna przeglądarki oznacza miejsce na dysku twardym, w którym przeglądarka internetowa przechowuje odwiedzone uprzednio strony (lub części stron) WWW. Ma to na celu przyspieszenie przeglądania stron internetowych, albowiem nie ma potrzeby ściągania odwiedzonych już stron z Internetu.

WiktionaryPl nodesc.svg
Sprawdź hasło cache w Wikisłowniku
vseo.pl