Wenn RAM billig ist, warum laden wir dann nicht alles in RAM und führen es von dort aus?

132

RAM ist billig und viel schneller als SSDs. Es ist nur volatil. Warum haben Computer also nicht VIEL RAM? Laden Sie beim Einschalten alles von der Festplatte / SSD in den RAM und führen Sie alles von dort aus aus, vorausgesetzt, es besteht keine wirkliche Notwendigkeit, irgendetwas außerhalb des Arbeitsspeichers beizubehalten? Wären Computer nicht viel schneller?

Natürlich unterstützt das aktuelle Betriebssystem dies möglicherweise überhaupt nicht, aber gibt es einen Grund, warum RAM nicht auf diese Weise verwendet wird?

pkr298
quelle
109
Sie gehen davon aus, dass RAM billig ist. Wie viel kostet 1 TB RAM?
Alan Shutko
39
Was Sie beschreiben, wird als RAMDisk bezeichnet, und die Leute tun bereits, was Sie beschreiben. Ich lade die meisten meiner Programme mit einer RAMDisk in den Speicher. Sie benötigen keine spezielle Hardware, Sie können dafür den Systemspeicher und die Software verwenden.
Ramhound
16
Unter dem Deckmantel tun wir dies in dem Maße, in dem ein bestimmtes Betriebssystem dies unterstützt. Windows verwendet "unbenutzten" RAM für "Festplatten-Cache", und ich gehe davon aus, dass viele Linux-Versionen dies auch tun. Es ist jedoch viel zu viel Festplattenspeicher vorhanden, als dass jemals alles in den Arbeitsspeicher passen könnte.
Daniel R Hicks
19
"billig" ist ein relativer Begriff. Jeder Speicher ist billiger als vor ein paar Jahren, aber teurer als die Speicherung auf einer Festplatte. Und auf jeden Fall wird der Fortschritt sicherstellen, dass Programme immer den gesamten verfügbaren Arbeitsspeicher ausfüllen, unabhängig davon, wie viel verfügbar ist. Wenn auf jedem Computer plötzlich mehr RAM zur Verfügung stünde, würden die Entwickler mehr in ihre Programme aufnehmen.
jhocking
15
Google lädt das Internet auf RAM
Ari

Antworten:

177

Es gibt einige Gründe, warum RAM nicht auf diese Weise verwendet wird:

  1. Common Desktop (DDR3) RAM ist billig, aber nicht ganz so billig. Vor allem, wenn Sie relativ große DIMMs kaufen möchten.
  2. RAM verliert seinen Inhalt beim Ausschalten. Daher müssten Sie den Inhalt beim Booten neu laden. Angenommen, Sie verwenden eine SSD-große RAM-Disk mit 100 GB. Dies bedeutet eine Verzögerung von etwa zwei Minuten, während 100 GB von der Disk kopiert werden.
  3. Der RAM verbraucht mehr Strom (etwa 2 bis 3 Watt pro DIMM, etwa so viel wie eine inaktive SSD).
  4. Um so viel RAM zu verbrauchen, benötigt Ihr Motherboard viele DIMM-Sockel und die Spuren zu ihnen. Normalerweise ist dies auf sechs oder weniger begrenzt. (Mehr Boardspace bedeutet mehr Kosten und damit höhere Preise.)
  5. Schließlich benötigen Sie auch RAM, um Ihre Programme auszuführen, sodass Sie die normale RAM-Größe zum Arbeiten benötigen (z. B. 18 GB und genug, um die erwarteten Daten zu speichern).

Allerdings: Ja, es gibt RAM-Disks. Auch als PCI- Karte mit DIMM-Sockeln und als Appliance für sehr hohe IOps. (Wird hauptsächlich in Unternehmensdatenbanken verwendet, bevor SSDs zur Option wurden.) Diese Dinge sind jedoch nicht billig .

Hier sind zwei Beispiele für Low-End-RAM-Karten, die es in die Produktion geschafft haben:

Beachten Sie, dass es wesentlich mehr Möglichkeiten gibt, als nur eine RAM-Disk im gemeinsamen Arbeitsspeicher zu erstellen .

Du kannst:

  1. Verwenden Sie dafür ein dediziertes physisches Laufwerk mit flüchtigem (dynamischem) Speicher. Entweder als Appliance oder mit einer SAS-, SATA- oder PCI [e] -Schnittstelle.
  2. Sie können dasselbe mit batteriegepuffertem Speicher tun (Sie müssen keine ursprünglichen Daten in den Speicher kopieren, da der Inhalt so lange erhalten bleibt, wie die Backup-Leistung gültig bleibt).
  3. Sie können statische RAMs anstelle von DRAMs verwenden (einfacher, teurer).
  4. Sie können Flash oder einen anderen permanenten Speicher verwenden, um alle Daten zu speichern (Warnung: Flash hat normalerweise eine begrenzte Anzahl von Schreibzyklen). Wenn Sie Flash nur als Speicher verwenden, sind Sie gerade auf SSDs umgestiegen. Wenn Sie alles im dynamischen RAM speichern und beim Ausschalten als Flash-Backup speichern, kehren Sie zu Appliances zurück.

Ich bin mir sicher, dass es von Amiga RAD noch viel mehr zu beschreiben gibt: Setzen Sie überlebende RAM-Festplatten auf IOPS zurück, tragen Sie das Leveling und Gd weiß was. Ich werde diesen kurzen Text jedoch kürzen und nur einen weiteren Punkt auflisten:

DDR3-Preise (aktueller DRAM) im Vergleich zu SSD-Preisen:

  • DDR3: 10 € pro GiB oder 10.000 € pro TiB
  • SSDs: Deutlich weniger. (Ungefähr 1/4 bis 1/10.)
Hennes
quelle
12
+1 für zwei kritische Punkte: HDs sind immer noch billiger als RAM, und RAM ist flüchtig. RAM ist Ihre Werkbank, und Ihre HDs sind das Lager. Nuf sed.
Chad Harrison
1
@Hennes - Es wurde nicht empfohlen, das gesamte Laufwerk mit einer Software-RAMDisk-Lösung in den Speicher zu laden. Sie können beispielsweise Photoshop von einem mechanischen Laufwerk mithilfe von Junction-Punkten in eine RAMDisk laden, und die Leistung ist besser oder so gut wie bei einer SSD-Installation.
Ramhound
29
+1 für "RAM ist billig, aber nicht so billig". Eine Schnellsuche zeigt, dass SSD-Laufwerke derzeit je nach Kapazität und Hersteller für 75 Cent für einen Dollar pro Gig verkauft werden. DDR3-RAM-Module kosten je nach Kapazität zwischen 7 und 10 US-Dollar pro GB, sodass das Verhältnis von RAM zu SSD bis zu 15: 1 betragen kann.
KeithS
2
RAM loses its contents when powered off.Um genau zu sein, nur flüchtiger Arbeitsspeicher, aber nicht flüchtiger Arbeitsspeicher hält alles auch im ausgeschalteten Zustand, wie zum Beispiel Flash-Chips . In diesem Sinne unterscheidet sich SSD nicht vom RAM, sondern ist ein Untertyp davon.
Saul
1
Ich stimme dir nicht zu. Die Flash-Zellen auf der SSD benötigen möglicherweise keinen Strom, aber der Controller und die andere Elektronik auf der SSD verbrauchen Strom. Nicht viel Leistung, aber ungefähr die Leistung eines modernen DIMM (1-3 Watt).
Hennes
71

Betriebssysteme tun dies bereits mit dem Seiten-Cache :

Beim Rechnen ist ein Seiten-Cache, der oft als Festplatten-Cache bezeichnet wird, ein "transparenter" Cache von festplattengesicherten Seiten, die vom Betriebssystem für einen schnelleren Zugriff im Hauptspeicher (RAM) gespeichert werden. Ein Seiten-Cache wird normalerweise in Kerneln mit Paging-Speicherverwaltung implementiert und ist für Anwendungen vollständig transparent.

Wenn Sie eine Seite von einer Festplatte lesen, lädt Ihr Betriebssystem diese Daten in den Speicher und belässt sie dort, bis sie besser für diesen Speicher verwendet werden. Wenn Sie über genügend Arbeitsspeicher verfügen, liest Ihr Betriebssystem jede Seite nur einmal und verwendet sie anschließend aus dem Arbeitsspeicher. Der einzige Grund, warum das Betriebssystem echte Datenträger-E / A-Vorgänge ausführt, besteht darin, dass eine Seite gelesen werden muss, die sich noch nicht im Arbeitsspeicher befindet, oder dass eine Seite beschrieben wird (in diesem Fall soll sie vermutlich auf dem Datenträger gespeichert werden).

Ein Vorteil dieser Vorgehensweise besteht darin, dass Sie nicht die gesamte Festplatte in den Arbeitsspeicher laden müssen. Dies ist hilfreich, wenn die Festplatte nicht passt, und Sie verschwenden keine Zeit mit dem Lesen von Dateien, die Ihre Anwendungen nicht benötigen brauchen. Ein weiterer Vorteil ist, dass der Cache verworfen werden kann, wenn das Betriebssystem mehr Speicher benötigt (es ist besser, wenn das Lesen der nächsten Festplatte etwas langsamer ist als wenn Ihre Programme abstürzen, weil nicht genügend Speicher vorhanden ist). Außerdem ist es nützlich, dass Benutzer nicht manuell entscheiden müssen, was sich auf der Ramdisk befinden soll oder nicht: Was auch immer Sie am häufigsten verwenden, wird automatisch im Hauptspeicher gespeichert.

Wenn Sie über viel Arbeitsspeicher verfügen, Ihre Anwendungen jedoch nicht so schnell ausgeführt werden, wie Sie es erwarten, ist die Wahrscheinlichkeit groß, dass sie langsamer sind, da sie sicher ausgeführt werden. Beispielsweise ist SQLite um Größenordnungen schneller, wenn Sie festlegen, dass nicht auf den Abschluss der Schreibvorgänge gewartet werden soll. Wenn Sie das System jedoch nicht ordnungsgemäß herunterfahren, wird die Datenbank vollständig beschädigt.

Auch /tmpist in der Regel eine Ramdisk unter Linux-Distributionen, da es in Ordnung ist, wenn diese Daten verloren gehen. Es gibt immer noch Diskussionen darüber, ob dies eine gute Idee ist, denn wenn zu viele Daten geschrieben werden /tmp, kann der Arbeitsspeicher knapp werden.

Brendan Long
quelle
5
Gute Antwort. Betriebssysteme verfügen auch über Funktionen wie Superfetch, mit denen häufig angeforderte Daten beim Booten von der Festplatte in den Arbeitsspeicher geladen werden.
Matthew Lock
Gute Antwort. Alle Top-Spieler greifen die Frage an (versuchen sie zu entkräften), anstatt sie tatsächlich zu beantworten
vsync
44

Wie Alan Shutko in seinem Kommentar zur Frage ausführt, ist RAM eigentlich nicht billig.

Hier sind einige Datenpunkte. Wenn ich bei Google nach 4 GB RAM, 64 GB SSD und 1 TB HDD (mechanische Festplatte) suche, werden die folgenden Kosten angezeigt (dies gilt für den 25. August 2013):

Whoa! Festplatten sind 100x billiger als RAM! Und SSDs sind 8x billiger als RAM.

(Wie in anderen Antworten bereits erwähnt, ist der Arbeitsspeicher von Natur aus flüchtig. Sie benötigen daher eine andere Form des dauerhaften Speichers.)

Suman
quelle
2
RAM ist mehrere Größenordnungen schneller als SSD (ohne das Schreibverschleißproblem), was mehrere Größenordnungen schneller ist als rotierender Rost und GLAS. Und sicher können Sie eine 1-TB-Festplatte für 80 US-Dollar kaufen, aber versuchen Sie, diesen Speicher auf einem 15-KB-Plattenteller mit SCSI- oder Fibre-Channel-Konnektivität zu finden. Bei 4 x 250 GB @ ~ 250 USD zuzüglich der Kosten für einen BBU-Controller (ca. 500 USD) entspricht dies in etwa den Kosten für eine SSD.
Symcbean
1
@symcbean - Das ist etwas pingelig; Denken Sie daran, dass RAM in großen Stückelungen (wie Sie möchten, um eine Festplatte oder SSD zu ersetzen) mehr kostet als 25 $ / GB.
Russell Borogove
3
@symcbean Der Kauf einer SSD mit ähnlichen Unternehmensmerkmalen kostet weit über 1000 US-Dollar.
Mikebabcock
Es wäre sehr interessant zu sehen, wie diese Antwort alle paar Monate überprüft und der Preis geändert wird und wie die Preise ständig sinken.
Ofer Zelig
@OferZelig "Sehen Sie, wie die Preise ständig sanken" Sie meinen, außer wenn sie es nicht tun ?
ein CVn
9

Ich führe alle meine direkten Lese- / Schreibvorgänge zur Inhaltserzeugung auf RAM-Datenträgern auf meinem lokalen Computer aus. Ich speichere dort auch meine MongoDB-Journalordner sowie meine Compiler und Python-Interpreter und meine Standardbibliothek. Diese Festplatte wird beim Herunterfahren gespeichert und beim Start wiederhergestellt. Die zweite RAM-Disk, die ich benutze, ist 64 Megabyte, und alle Cache-Ordner meines Internetbrowsers zeigen dorthin. Dieser geht beim Herunterfahren verloren und spült sich selbst, wenn er voll ist.

Verwenden Sie die richtigen Werkzeuge für den Job, denke ich, wäre die Antwort, die ich Ihnen gebe. Ich generiere Daten mit einer RAM-Disk 30-1000x schneller als mit meiner Western Digital mit 7200 U / min.

Dies ist das Programm, das ich verwende: http://www.romexsoftware.com/en-us/primo-ramdisk/

... und wenn 32 Gigs Ram weniger als 200 US-Dollar kosten, sehe ich nicht, warum dies nicht immer üblicher wird.

8-Gig-RAM-Disktägliche SATA III Festplatte

blakev
quelle
4
Sie wissen, dass das Betriebssystem bereits Dinge für Sie zwischenspeichert, oder?
Potatoswatter
"Wenn 32 GB RAM weniger als 200 US-Dollar kosten" 32 GB auf einer 1-TB-Festplatte beginnen bei etwa 3 US-Dollar. Consumer-Laufwerke mit 1 TB kosten heutzutage weniger als 100 US-Dollar, und selbst Laufwerke der Enterprise-Klasse sind für ähnliche Gigabyte-Preise erhältlich (Amazon verlangt derzeit 408 US-Dollar für das 4-TB-Seagate ST4000NM0043 mit einem UVP von 520 US-Dollar, und das sind einzelne Einheiten ohne Einkauf um).
ein CVn
1
@ Potatoswatter ja, das tut es. Es werden jedoch nicht 10.000 neu erstellte Dateien zwischengespeichert. Also "cache" ich sie explizit auf meiner RAM-Platte.
Blakev
@ MichaelKjörling Wir versuchen nicht, 1 TB im RAM zu speichern. Das ist lächerlich. Seien Sie realistisch und wählen Sie einige wichtige Ordner aus, die Sie immer im Arbeitsspeicher haben möchten, und Sie können bestimmte Vorgänge in Ihrem Arbeitsablauf WESENTLICH (Größenordnungen) beschleunigen. Siehe meine Bilder oben.
Blakev
1
"Alles ist relativ. Auf meinem Computer wird "alles" von meinem 8-Gig-Festplatten-Image geladen. Byte für Byte werden die gesamten 8 Gigs jedes Mal geklont. Um der Frage willen, wenn Sie nach einer Lösung suchen, um dies wirklich zu tun, würden Sie innerhalb des "Möglichen" bleiben oder die Proportionen sprengen, um eine Antwort zu finden, die "das ist unmöglich".
Blakev
5

Ja, dies ist die Voraussetzung für viele In-Memory-Datenbanken, die auf den Markt kommen. Ein Beispiel ist SAP HANA. Die Idee ist, dass RAM billig ist und Lese- / Schreibvorgänge auf RAM unter Performance-Gesichtspunkten 1000x schneller sind als Festplattenvorgänge. Der größte Teil der Daten wird im RAM gespeichert. Anschließend definieren Sie eine Datenalterungsstrategie, mit der die alten Daten wieder in den Cold Storage (dh auf die Festplatte) zurückgespeichert werden.

Mithrandir
quelle
4

Kurze Erklärung :

Wenn eine Anwendung zum ersten Mal ausgeführt wird, wird sie von der Festplatte oder dem Netzwerk in den Arbeitsspeicher übertragen. Also mach dir keine Sorgen, du machst es schon.

In der Regel gibt es jedoch nicht nur eine Anwendungs- / Prozessdatei und es gibt einige E / A-Vorgänge, die auf die Festplatte oder das Netzwerk abzielen (andere Dateien der Anwendung oder andere E / A-Vorgänge mit dem System usw.), die Ihre Geschwindigkeit verringern können Anwendung. Diese könnten auf die RAM-Disk gelenkt werden, aber Sie sollten berücksichtigen, dass die RAM-Disk beim Ausschalten gelöscht und beim Start erneut gefüllt werden sollte.

Und RAM ist nicht so billig wie in der Frage dargestellt. Sie sollten nicht nur die Kosten des Arbeitsspeichers, sondern auch die Kosten des Arbeitsspeichers, einschließlich der Sockel auf Ihrem Motherboard (diese sind begrenzt / selten und daher wertvoller) und die Kosten für verlorene Daten bei Stromausfall zählen.

Computer mit 1 TB HDD könnten zum Beispiel günstig gekauft werden und es geht um Heimcomputer, Computer mit 1 TB RAM sind in den Bereichen von Supercomputern. (Intel arbeitet jedoch an einem Produkt der mittleren Preisklasse: http://vr-zone.com/articles/more-on-xeon-e5-terabyte-of-ram-even-at-midrange-/14366.html )

Dee
quelle
4

Dies ist eine großartige Frage und ich finde die Antworten faszinierend. Ich werde dies als Oracle DBA kommentieren und meine Antworten sind SPEZIFISCH für die Oracle-Datenbank. Dies ist ein großer Fehler, den viele Leute bei der Arbeit mit Oracle machen. Ich bin mir nicht sicher, ob dies auch für andere Anwendungen gilt. Dies ist nicht als Off-Topic gedacht, sondern als spezialisierte Antwort.

Wenn Sie die Leistung mit Oracle optimieren, möchten Sie wirklich Engpässe beseitigen. Obwohl die meisten von uns es nicht sagen, basiert es auf der Theorie der Einschränkungen: https://en.wikipedia.org/wiki/Theory_of_constraints

Der Speicher ist möglicherweise nicht Ihr Engpass. Oracle verfügt über komplexe Mechanismen für die Speicherverwaltung. Wenn der Engpass in anderen Bereichen liegt, kann das Erhöhen des Arbeitsspeichers sogar zu einer Verlangsamung führen. Lassen Sie mich ein Beispiel nennen, das SEHR häufig vorkommt.

Abfragen scheinen langsam zu sein. Der Konsens ist, wenn wir den Arbeitsspeicher erhöhen, sollten wir die Antwortzeit von Abfragen erhöhen, da der Speicher schneller ist als der Datenträger. Nun ... So handhabt Oracle die Speicherverwaltung für Daten. Oracle verfügt über eine Vielzahl von Speicherorten, die bestimmten Aufgaben zugeordnet sind. So können Sie diese Erinnerungen erhöhen. Der für Daten verwendete Bereich wird als "Puffer-Cache" bezeichnet. Dies ist eine Reihe von verknüpften Listen (deren Anzahl mit jeder Version zunimmt). Jedes Mal, wenn ein Block während einer Abfrage auf einer Disc gefunden wird, wird ein Hash-Algorithmus darauf ausgeführt, um zu bestimmen, in welcher Liste er abgelegt werden soll. Wo er in die Liste aufgenommen werden soll, basiert auf einem Algorithmus zur Berührungszählung (auf der Oracle-Support-Site erläutert). man muss also bezahlen, um es zu bekommen ... es ist nicht wirklich wichtig).

Wenn Sie jedoch eine Abfrage ausführen, löst Oracle einen Latch für die Pufferkette, die Sie zu dem Zeitpunkt durchsuchen. Diese VERRIEGELUNG (Hinweis: Dies ist keine Sperre. Google "verriegelt", wenn Sie den Unterschied nicht kennen) blockiert alle anderen Vorgänge in dieser Kette für die Dauer Ihres Lesevorgangs. Es blockiert also Lese- UND Schreibvorgänge (dies ist völlig anders als Oracle, das behauptet, dass Sperren keine Lesevorgänge blockieren).

Dies ist erforderlich, da Oracle den Block beim Lesen in der Kette basierend auf der Häufigkeit der Anforderung verschiebt. Häufiger angeforderte Blöcke werden nach oben verschoben und weniger häufig angeforderte Blöcke bleiben unten und sind veraltet. Sie können nicht zwei Sitzungen haben, in denen eine verknüpfte Liste gelesen und Blöcke verschoben werden. Andernfalls treffen Sie Zeiger, die auf nicht vorhandene Positionen verweisen.

Wenn Sie die Größe des Speichers erhöhen, erhöhen Sie die Größe jeder verknüpften Liste. Dies erhöht die Zeit, die zum Lesen der Liste benötigt wird. Eine einzelne schlechte oder komplexe Abfrage kann Zehntausende oder sogar Millionen von gelinkten Listen lesen. Jeder Lesevorgang ist schnell, aber die Anzahl der Lesevorgänge führt zu Latches, die andere Sitzungen blockieren. Oracle nennt dies ein "logisches E / A" (oder Buffer Get oder anderes Zeug. Dieser Jargon ist spezifisch für Oracle und kann in anderen Teilen der IT eine andere Bedeutung haben).

Wenn die Liste also länger ist und Sie wirklich schlechtes SQL haben, halten die SQL-Anweisungen ihre Latches länger. Durch Erhöhen des Speichers kann gelegentlich die Leistung verringert werden. Meistens wird das nicht passieren. Die Leute werden viel Geld ausgeben und keinen Nutzen sehen. Abgesehen davon gibt es Zeiten, in denen Sie mehr Speicher im Puffercache benötigen, aber Sie müssen den Engpass richtig identifizieren, um zu wissen, ob dies angemessen ist. Ich kann nicht diskutieren, wie man das in diesem Beitrag analysiert. Siehe die DBA-Foren. Einige Leute diskutieren es dort. Es ist ziemlich komplex.

Hat jemand spezielle Beispiele für andere Software, bei denen dies passieren kann? Es gibt ein großartiges Geschäftsbuch mit dem Titel "The Goal", in dem es darum geht, Einschränkungen in einer Fabrik zu beseitigen. Dieser Prozess ähnelt stark der Vorgehensweise von Oracle-Datenbankadministratoren bei der Bewertung von Leistungsproblemen. In MBA-Programmen ist es oft Standard. Es ist sehr wertvoll, für IT-Berufe zu lesen.

https://en.wikipedia.org/wiki/Eliyahu_M._Goldratt

Bob
quelle
Nicht sicher, dass dies für die Frage relevant ist, aber ansonsten interessant.
jb.
Es ist ein Grund, nicht nur RAM hinzuzufügen. Es ist spezifisch und eng, aber ich denke, es gilt.
Bob
sehr interessant. Es bringt einen anderen Blickwinkel auf die gesamte Diskussion.
Lorenz Lo Sauer
3

RAM ist zwar billig, aber nicht so billig wie herkömmlicher Speicher.

Ich habe eine 3-TB-Festplatte (99 US-Dollar): HDD Quote

Und Sie benötigen 48 davon für jeweils 3 TB (719 USD): RAM Quote

Das wären 34.512 US-Dollar gegenüber 99 US-Dollar. Ganz zu schweigen vom Preis der Hardware, die für die Ausführung von 3 TB RAM erforderlich ist.

Michael Irey
quelle
Die Antwort ist nicht relevant für die Frage
BlueBerry - Vignesh4303
1
Ich denke am Ende versucht er zu sagen "RAM ist NICHT billig."
Jaczjill
Außerdem können Sie unmöglich 48 dieser 8-Kanal-Kits an ein Gerät anschließen, das mir bekannt ist. Es gibt zwar Systeme, die 16 (oder mehr) 64 GB REG ECC-Dimms auf einem einzelnen Server akzeptieren. Diese sind jedoch überhaupt nicht billig.
Drescherjm
2

Es wird tatsächlich in einigen Szenarien durchgeführt. Wenn Sie ein Betriebssystem / einen App-Stack haben, der klein genug ist, können Sie ihn vollständig im RAM ausführen. Natürlich hat es alle Nachteile, die die akzeptierte Antwort hat. Aber es ist möglich und passiert.

Schauen Sie sich Puppy Linux an, eine beliebte Linux-Distribution. Wie es funktioniert, erfahren Sie auf folgender Seite: http://puppylinux.org/wikka/howPuppyWorks

David Hewitt
quelle
Und natürlich können Sie in einer Clusterumgebung den App-Stack auf einem verteilten / Netzwerk-Dateisystem halten, das Basisbetriebssystem über PXE oder ähnliches bereitstellen und die Knoten plattenlos ausführen, wenn Sie möchten.
Aesin
2

Ich denke, die Antwort kann teilweise wie folgt beantwortet werden:

Prämisse:

  • Günstig sind nur solche RAM-Typen, die in großen Mengen produziert und verkauft werden
  • RAM-Hersteller wollen ihr Produkt verkaufen.
  • Niedrige Preise erfordern große Verkaufsmengen, um Gewinne zu erzielen
  • Eine große Nutzerbasis verwendet eine etablierte Speichertechnologie
  • Es dauert Jahre, bis sich die neue Speichertechnologie durchgesetzt hat
  • Speicherplätze sind in den immer kleineren Geräten der genannten Nutzerbasis stark eingeschränkt
  • Die mobile Technologie nimmt zu
  • mindestens 0,1% 1Bil. PC-Benutzer entscheiden sich möglicherweise für 128 GB RAM oder mehr (Rätselraten)
  • Gefragte Technologie-Updates bringen einen höheren Gewinn als neue Technologie-Generationen

In Anbetracht der begrenzten Anzahl von Speichersteckplätzen kommt eine wichtige Lösung in Form von höheren Speicherchips mit kleineren Innenabmessungen und / oder 3D-Stapeln. Beide Prozesse verliefen in den letzten über 36 Monaten erwartungsgemäß.

Die Frage ist also: " DDR3 maximale Speichergröße " oder semantisch: " DDR3 warum gibt es keine Speichermodule größer als 16GB "

Und die Antwort lautet:

Der DDR3-Standard ermöglicht Chip-Kapazitäten von 512 Megabit bis 8 Gigabit, was effektiv eine maximale Speichermodulgröße von 16 Gigabyte ( src ) ermöglicht.

DDR4 wird dies ändern, wie in dieser Technologiekarte dargestellt:

Bildbeschreibung hier eingeben

Ergebnis:

  • ein halb festgefahrener Speichermarkt
  • Apple Macbook Pro Extravaganza mit knapp 16 GB
  • Höhere Nachfrage nach Cloud- oder Remote-Diensten (um diese virtuellen Maschinen und InMemory-Datenbanken unterzubringen, würden viele Entwickler und Ingenieure genauso gerne lokal ausgeführt)
  • ... ???

Einige Vorbehalte zu Hennes 'gründlichem Beitrag:

  • Common Desktop (DDR3) RAM ist billig, aber nicht ganz so billig : Es ist billig genug, dass bestimmte Benutzer es aufgrund ihres datenintensiven Hintergrunds kaufen können
  • Arbeitsspeicher verliert seinen Inhalt beim Ausschalten : Menschen haben schwerwiegendere Probleme als flüchtiger Speicher gelöst. Die Patente und Lösungen zum "Umgang mit flüchtigen Speichern" seit 2010 belegen dies.
  • RAM verbraucht mehr Strom : Schalten Sie nicht genutzten Speicher (Banken) in Mobilgeräten selektiv aus. Auch 1W bis 2W verblassen im Vergleich zu 800W-GPUs
  • Sie werden eine Menge DIMM-Sockel benötigen : Die Chip-Technologie wurde wie gewohnt weiterentwickelt, was bedeutet, dass die Option höherer Speicherchips nicht nur besteht, sondern die Chiphersteller sie Ihnen gerne in hoher Stückzahl verkaufen würden
  • Sie benötigen außerdem RAM, um Ihre Programme auszuführen in : True. Es wird jedoch davon pkr298ausgegangen, dass das gesamte Betriebssystem und die Programme in den Arbeitsspeicher geladen sind und nicht, dass die Festplatte / SSD abgeschafft werden sollte
Lorenz Lo Sauer
quelle
Das Ausschalten nicht verwendeter Speicherbänke im DRAM ist ein Problem. Bei der DRAM-Technologie müssen die Zellen aktualisiert werden. Kommen Sie in einen undichten Eimer. Wenn ich es mit Wasser (Elektrizität) fülle, repräsentiert es eine 1, wenn ich es entleere, repräsentiert es eine 0. Leider ist der Eimer undicht und steht im seichten Wasser. Ein voller Eimer entleert sich langsam, bis er dem Wasserstand entspricht. Ein leerer Eimer wird langsam, bis er dem Wasserstand entspricht. Nach einiger Zeit ist nicht mehr abzusehen, wie der Zustand des Eimers war.
Hennes
Um das zu lösen, läuft ab und zu jemand am Eimer vorbei. Wenn es größtenteils voll ist, wird der Eimer nachgefüllt. Wenn es größtenteils leer ist, wird es vollständig geleert. Dies ist eine Auffrischung . Das Auffrischen einer Speicherzelle kostet Energie und verhindert, dass der DRAM vollständig ausgeschaltet wird, während der Inhalt erhalten bleibt. --- Es gibt Möglichkeiten, dies zu umgehen, z. B. benötigt SRAM keine externen Auffrischungen und kann seinen Inhalt trotzdem beibehalten, benötigt jedoch mehr Silizium (also kleinere oder teurere Chips).
Hennes
1

Sie haben tatsächlich recht In naher Zukunft werden alle Speicher und Speicher in der Form auf Nano-RAM sein. NRAM ist im Grunde genommen ein "mechanischer" Schalter, der ein paar Atome breit ist. Er benötigt keinen Strom, um den Zustand aufrechtzuerhalten, ist also energieeffizient und muss nicht abgekühlt werden. Da die Schalter so klein sind, ist die Dichte sehr hoch und Dies ist aus zwei Gründen gut: Zum einen ist der Zugriff auf den Speicher sehr schnell und auf kleinen Geräten wie Mobiltelefonen können Terabytes an Daten gespeichert werden. Wenn Sie mehr lesen möchten , lesen Sie diese: http://www.nantero.com/mission.html und diese http://en.wikipedia.org/wiki/Nano-RAM

noamtcohen
quelle
0

Wie andere gesagt haben, ist RAM flüchtig und ungefähr 10-mal so teuer wie SSDs.

Allerdings gibt IS gibt ein Produkt , das ziemlich nahe kommt, was Sie beschreiben - ich kann leider nicht an den Namen erinnern.

Es handelt sich um ein RAM-basiertes Laufwerk (IIRC max 64 GB), das mit einer CF-Karte und einem Akku gekoppelt ist. Wenn Sie das System einschalten, wird der Inhalt der CF-Karte in den Arbeitsspeicher kopiert (ich glaube, Anfragen von der CF-Karte werden bearbeitet, wenn sie noch nicht geladen wurden.) Beim Herunterfahren wird der Inhalt des Arbeitsspeichers auf die CF-Karte kopiert. -die Batterie ist groß genug, um dies zu beenden, bevor es erschöpft ist.

Es ist nicht billig.

Loren Pechtel
quelle