Moduły RAM są tańsze niż kiedykolwiek wcześniej, więc dlaczego nie uruchamiamy całego systemu operacyjnego z superszybkich banków RAM?
Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - podgrupy Stack Exchange, grupy stron z pytaniami i odpowiedziami kierowanych przez społeczność.
Pytanie
Czytnik SuperUser pkr298 chce wiedzieć, dlaczego nie uruchamiamy maszyn opartych na pamięci RAM zamiast dysków. On pisze:
Pamięć RAM jest tania i znacznie szybsza niż dyski SSD. To jest po prostu niestabilne. Dlaczego więc komputery nie mają dużo pamięci RAM, a po włączeniu zasilania ładują wszystko do pamięci RAM z dysku twardego / SSD i po prostu uruchamiają wszystko stamtąd, zakładając, że nie ma potrzeby utrzymywania niczego poza pamięcią? Czy komputery nie byłyby znacznie szybsze?
Oczywiście obecny system operacyjny może w ogóle tego nie obsługiwać, ale czy jest jakiś powód, dla którego pamięć RAM nie jest używana w ten sposób?
Na pierwszy rzut oka jego zapytanie ma sens, ale najwyraźniej nie jesteśmy zalani kompilacjami komputerów opartych na pamięci RAM; jaka jest historia?
Odpowiedź
Współtwórca SuperUser, Hennes, oferuje pewien wgląd w to, dlaczego wciąż używamy systemów dyskowych:
Istnieje kilka powodów, dla których pamięć RAM nie jest używana w ten sposób:
- Pamięć RAM dla komputerów stacjonarnych (DDR3) jest tania, ale niezbyt tania. Zwłaszcza jeśli chcesz kupić stosunkowo duże moduły DIMM.
- Pamięć RAM traci zawartość po wyłączeniu. W związku z tym konieczne będzie ponowne załadowanie zawartości podczas rozruchu. Załóżmy, że używasz RAMDISK o rozmiarze SSD 100 GB, co oznacza około dwóch minut opóźnienia przy kopiowaniu 100 GB z dysku.
- Pamięć RAM zużywa więcej energii (powiedzmy 2–3 W na moduł DIMM, mniej więcej tyle samo, co bezczynny dysk SSD).
- Aby użyć tak dużej ilości pamięci RAM, Twoja płyta główna będzie potrzebowała wielu gniazd DIMM i śladów. Zwykle jest to ograniczone do sześciu lub mniej. (Więcej miejsca na płycie oznacza więcej kosztów, a tym samym wyższe ceny).
- Na koniec będziesz potrzebować pamięci RAM do uruchamiania programów, więc będziesz potrzebować normalnego rozmiaru pamięci RAM do pracy (np. 18GiB i wystarczającej do przechowywania danych, których spodziewasz się użyć).
Powiedziawszy to: Tak, dyski RAM istnieją. Nawet jako karta PCI z gniazdami DIMM i jako urządzenie do bardzo wysokich IOps. (Najczęściej używany w korporacyjnych bazach danych, zanim dyski SSD stały się opcją). Te rzeczy nie są tanie.
Oto dwa przykłady niskiej klasy kart pamięci RAM, które zostały wprowadzone do produkcji:
Zauważ, że jest na to znacznie więcej sposobów niż tworzenie dysku RAM we wspólnej pamięci roboczej.
Możesz:
- Użyj do tego dedykowanego dysku fizycznego ze zmienną (dynamiczną) pamięcią. Albo jako urządzenie, albo z interfejsem SAS, SATA lub PCI [e].
- Możesz zrobić to samo z pamięcią podtrzymaną bateryjnie (nie musisz kopiować do niej początkowych danych, ponieważ zachowa ona swoją zawartość tak długo, jak długo będzie podtrzymywane zasilanie zapasowe).
- Możesz używać statycznych pamięci RAM zamiast DRAMS (prostsze, droższe).
- Możesz użyć pamięci flash lub innej pamięci trwałej dozachowaj wszystkie dane (Uwaga: flash zwykle ma ograniczoną liczbę cykli zapisu). Jeśli używasz pamięci flash jako jedynej pamięci, to właśnie przeniosłeś się na dyski SSD. Jeśli przechowasz wszystko w dynamicznej pamięci RAM i zapiszesz do tworzenia kopii zapasowych flash po wyłączeniu zasilania, wrócisz do urządzeń.
Jestem pewien, że jest coś więcej do opisania, od Amiga RAD: zresetuj ocalałe dyski RAM do IOPS, wyrównywanie zużycia i G-d wie co, jednak skrócę to i wymienię tylko jeszcze jeden element:
Ceny DDR3 (bieżąca pamięć DRAM) a ceny dysków SSD:
- DDR3: 10 EUR za GiB lub 10 000 EUR za TiB
- Dyski SSD: znacznie mniej. (Około 1 / 4–1 / 10.)
Jeśli chcesz dowiedzieć się więcej o dyskach RAM, zapoznaj się z wyjaśnieniem Dyski RAM: czym są i dlaczego prawdopodobnie nie powinieneś ich używać.
Masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych zaawansowanych użytkowników Stack Exchange? Sprawdź pełny wątek dyskusji tutaj.