Gotówkę oszczędza się w pamięciach podręcznych

Równolegle do powodzi informacji wzrastają koszty podsystemów pamięci podręcznych. W przeciętnym przedsiębiorstwie mającym instalacje komputerowe o większym zasięgu odpowiednie nakłady na nie wzrastają o 25% rocznie i wcale nie przynoszą zadowalających rozwiązań.

Równolegle do powodzi informacji wzrastają koszty podsystemów pamięci podręcznych. W przeciętnym przedsiębiorstwie mającym instalacje komputerowe o większym zasięgu odpowiednie nakłady na nie wzrastają o 25% rocznie i wcale nie przynoszą zadowalających rozwiązań.

Korzenie problemu

To że dzisiaj czas reakcji systemu jest ograniczony raczej przez podsystem pamięci podręcznej niż przez wydajność obliczeniową jednostki centralnej (CPU), wypływa z dwóch przyczyn. Pierwszą można określić jako przepaść techniczną: sprawność przetwarzania najszybszej CPU wzrosła piętnastokrotnie: z 7 milionów instrukcji na sekundę do ponad 100 milionów. W tym samym okresie czas reakcji najszybszej pamięci bezpośredniego do-stępu (DASD, twardego dysku) poprawiono zaledwie z 30 na 20 milisekund. W ciągu następnych 10 lat można oczekiwać dalszych przyśpieszeń, ale tylko w skromnym zakresie. W przeciwieństwie do tego wydajność CPU znowu wzrośnie dziesięciokrotnie. A więc owa przepaść będzie się jeszcze dalej powiększać, użytkownicy i programy użytkowe będą jeszcze bardziej walczyć z wąskim gardłem czasu działania pamięci.

Wielkie i kompleksowe relacyjne banki danych mają wysokie wymagania. Dawniej normą było 10 do 20 operacji I/O na transakcję. Obecnie przy generacji baz danych wartość ta wzrosła do 100 operacji na transakcję.

Przejście od przetwarzania tekstu do przetwarzania obrazu wydatnie podniesie w bliskiejprzysz-łości wymagania co do wydajności pracy pamięci komputerów. Strona tekstu formatu A4 wymagała 4 KB, tymczasem obrazek pokrywający tę samą powierzchnię zajmuje 5001000 KB. Przetwarzanie dokumentów wymaga przy tym wysokiego poziomu transferu danych z i do komputera. W związku z tym sprawą bardzo ważną jest już nie tyle zwiększenie szybkości procesora, co rozwiązanie wąskiego gardła, jakim jest czas pracy pamięci.

Drogie zwalczanie objawów

Problem pamięci podręcznych znajduje także odzwierciedlenie w budowie systemów operacyjnych, z których korzystają użytkownicy. Wszystkie strategie kręcą się wokół tego, aby wyeliminować długi czas reakcji pamięci, którego nikt nie chce zaakceptować. Najważniejszych jest tu pięć strategii eliminacyjnych:

- Unika się odwoływania do DASD o dużej pojemności; zamiast niego zostają zastosowane pamięci

o zróżnicowanej wielkości.

- Instaluje się sieci komputerów krótsze od maksymalnie dopuszczalnych.

- DASD zostają zastąpione przez szybsze jednostki pamięci, zanim ich wydajność nie osiągnie kresu z punktu widzenia gospodarczego.

- Zastosuje się dodatkowy personel i dodatkowe oprogramowanie, aby poprawić wydajność przez optymalne zestrojenie systemu.

- Moduły pamięci podręcznych

i układów sterujących powinny

być wbudowane w instalacje komputerowe, aby maksymalnie skracać przewody połączeniowe.

Kosztowne dodatkowe pamięci dyskowe, którymi uzupełniane są systemy przetwarzania danych, są rzeczywiście wykorzystane w większych urządzeniach komputerowych tylko w 55%. Ten słaby wskaźnik tłumaczy się częściowo podziałem pamięci na małe, często nie wykorzystywane zakresy, jak również okresowymi wahaniami w zapotrzebowaniu na użycie pamięci podręcznej. Istotna część dostępnej pojemności nie zostaje wykorzystana, ponieważ gdyby była faktycznie wykorzystywana, czasy przesyłania danych byłyby zbyt duże.

Typowe wielkie przedsiębiorstwa osiągają krótkie czasy pracy pamięci wielkimi nakładami nawet milionów dolarów. W wyniku tej „strategii" połowa nakładów na pamięci podręczne idzie nie na rozbudowanie pojemności, lecz na wydajność. Wprawdzie budżety na wielkie urządzenia komputerowe wzrastają z roku na rok, lecz wydatki na wielkość pamięci nie pochłaniają większej ich części. Coraz większa część budżetów musi być wydawana na podnoszenie sprawności DSAD i układów przesyłania i zarządzania pamięcią.

Dotychczas pamięci - niezależnie od niewielkiej, ale rosnącej mniejszości - nie były tematem dla decydentów. Siedmiocyfrowe budżety na jednostki obliczeniowe były sprawdzane aż do najdrobniejszego szczegółu, a liczne mniejsze pozycje na pamięci podręczne były aprobowane bez dyskusji, chociaż one się także składały na globalną kwotę systemu komputerowego.

Tymczasem wydajność pamięci operacyjnych stała się problemem, którego rozwiązanie w ciągu najbliższych pięciu lat musi pociągnąć za sobą gruntowne przemiany. Nowe techniki oprogramowania dla zarządzania pamięciami podręcznymi przyniosą pewną poprawę wydajności, • ale to nie wystarczy.

Prawdopodobieństwo trafienia

Istnieją rozliczne możliwości, aby rozszerzyć wąskie gardło magazynowania informacji, m.in. aby w pamięci głównej i rozszerzonej zmieścić więcej informacji. Ten rozwój przewidzieli dla systemów operacyjnych wielkich komputerów pracownicy koncepcyjni IBM. Pewne ułatwienie przyniosą również nowe kości pamięci, dzięki którym główna pamięć w niektórych typach dużych komputerów może być podwojona. Oba te rozwiązania należą do najkosztowniejszych.

W korzystniejszej sytuacji są ci, którzy stawiają na dostępną dzisiaj technikę pamięci podręcznej (cache). Pamięci podręczne działają jak bufor między pamięcią główną a dyskową i wyróżniają się szybkim dostępem. Jeśli rekord danych jest przechowywany na dysku, to inne rekordy danych na tej samej ścieżce są automatycznie wczytane do tego samego bufora, gdzie przez pewien czas będą przechowywane w nadziei, że któraś z następnych operacji wymagać będzie któregoś spośród tych rekordów. Jeśli tak się stanie, zostanie to zaksięgowane jako sukces, a przesłanie informacji przyspiesza się do akceptowalnych 34 milisekund. Jeżeli rekordy danych zostaną załadowane na próżno do bufora, powstaje sytuacja gorsza niż ta, która tyłaby w urządzeniu pozbawionym pamięci podręcznej. Skutkiem tego jest opóźnienie, które powstaje w wyniku ponownego wczytania zawartości bufora. Tym niemniej pamięć pośrednia jest jednym z najlepszych rozwiązań, przede wszystkim dlatego, że pozwala na obniżkę kosztów.

Eksplozja cache'u

Jeszcze przed półtora rokiem niewielu użytkowników komputerów stosowało pamięć podręczną na skalę godną uwagi. Ta sytuacja zmieniła się radykalnie w ostatnim czasie, przede wszystkim w Europie. Udział podsystemów DASD w wielkich instalacjach, które miały w użyciu pamięci podręczne, wzrósł w pierwszym półroczu roku 1990 z ok. 20% do ponad 50%. Szacuje się, że do końca roku 1991 wzrośnie on do 80%. Nowi użytkownicy pamięci podręcznych żądają większego prawdopodobieństwa trafienia, aby móc stosować nowe aplikacje z zadowalającym czasem odpowiedzi. W tym celu trzeba pokonać wiele przeszkód technicznych.

Do powszechnych praktyk należy branie do przechowania pośredniego w pamięci podręcznej wszelkich informacji z dysków twardych. Jest to marnotrawstwo najwyższego stopnia. Bardziej ekonomiczne jest określenie, które dane powinny być przechowywane w pamięci podręcznej. Istnieje przy tym niebezpieczeństwo, że niektóre z nich zostaną wybrane niewłaściwie, przez co wzrośnie opóźnienie, a sprawność spadnie. Wraz z narzędziem symulacyjnym, które analizuje fragmenty zapisanej odczytane do poszczególnych rekordów danych, problem ten w dalszej kolejności jeszcze bardziej się redukuje. Prawdopodobieństwo trafienia osiąga rząd 80-95% .Przeciwnie, jeśli załaduje się do pamięci podręcznej zawartość całego twardego dysku, spada ono do ok. 70%.

Druga trudność tkwi w tym, że do dzisiaj wszystkie wskaźniki trafności operacji zapisu wynoszą zero. Z bardzo prostej przyczyny: cache jest pamięcią płynną. Żaden użytkownik nie chce ponosić ryzyka, że straci dane wyjściowe i pośrednie w wyniku zaniku zasilania. Najnowsze jednostki kontrolne zapobiegają temu niebezpieczeństwu poprzez awaryjne zasilanie bateryjne. Trwałe pamięci gwarantują nie tylko integralność danych, lecz zezwalają na magazynowanie cache przed operacjami zapisu.

Dalszy problem wyłania się z tzw. „global caching". Ze względu na zastosowanie, moment i długość pracy obłożenie pamięci podręcznej w ciągu dnia wyraźnie spada. Pamięć podręczna bywa dobrze wykorzystana tylko przy najwyższym obciążeniu jednostki centralnej, a nie w momentach przestoju. Nowoczesne kontrolery pamięci mają na to gotowe rozwiązania. Funkcjonują jako cache dla całości podsystemu, tak że szczyty i depresje w ramach całkowitego odciążenia CPU wyrównują się. W następstwie tego większa liczba rekordów danych zostaje odłożona do pamięci podręcznej i większa liczba użytkowników może uzyskiwać lepsze czasy dostępu do danych.

Poszukiwane rozwiązania

Jeszcze nie rozwiązane są trudności, które efektywności wykorzystania cache może przysporzyć nowo opracowane oprogramowanie. Z odsieczą mogą przyjść symulatory pamięci, które śledzą proces magazynowania pośredniego, a sukcesy i porażki rozmaitych typów cachingu wykazują szczegółowo. Podobnie działają systemy eksperckie, które wymagają reguł obłożenia rozmaitych systemów cache'u, które mogą się zmieniać w zależności od użytkownika, pory dania i pory roku. Do poprawienia sprawności działania będzie prowadzić wreszcie stosowanie światłowodów, przyśpieszające przenoszenie danych między pamięcią podręczną i główną. Dla przykładu, w Japonii można było podnieść wskaźnik przenoszenia z 4,5 do 9 MB na sekundę. Ta szybkość przenoszenia ma wyraźny wpływ na podniesienie się wskaźnika trafień: Jeśli w cache'u znajdą się „fałszywe" jednostki danych, odpada zysk" szybkości przynoszony przez światłowody. Produkty z włókna szklanego dla systemów pamięci, które wprowadziła już na rynek japońska firma Fujitsu, powinny już w tym roku znaleźć się i w Europie.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200