Warum können Sie Bearbeiten, eine 250-GB-Datei auf einen 16GB notebook

0
259
ani-obottleneck-5611.jpg

Ein I/O-Engpass.

Robin Harris

Hintergrundgeschichte

Seit Jahrzehnten physischen Speicher war unglaublich teuer. Als Folge viele Maschinen kamen mit Speicherkapazitäten, die heute lächerlich Aussehen. Nicht in Gigabyte oder Megabyte, sondern kilobytes. Die kleinste IBM 360 mainframe zu tun mit so wenig wie 8 Kb Hauptspeicher in den 1960er Jahren. Auch im Jahr 1980, RAM kostet über 1000 Euro pro megabyte. Heute, es ist einen halben penny.

Denn Erinnerungen waren so winzig, dass jedes Programm musste sein shoehorned in der verfügbaren Kapazität. Programme ging zu erarbeiten, in Längen zu verschieben Segmente in die und aus der physikalischen (RAM) Speicher.

Aber in den 1970er Jahren Architekten hatten eine geniale Idee: erweitern physischen Speicher durch Virtualisierung und Verwendung von hard drive-Speicher für die zusätzlichen Kapazitäten. Das Betriebssystem behandelt das problem der sich bewegenden Programm-Segmente in und aus dem physikalischen Speicher, speichern Programmierer unsägliches Leid.

Und Sie Taten es. Der IBM 370-Serie MVS (Multiple Virtual Storage) und DEC-VMS (Virtual Memory System, läuft auf der Virtual Address Extension (VAX) – hardware) wurden zwei beliebte Umschreibungen virtual-memory-Systemen. Zu der Zeit, die details — wie die beste Seite die Größen und die Begrenzung der Prügel-wurden heiß diskutiert.

Im Laufe der Zeit, das beste um designs wurden bewährte, optimierte und kopiert. Heute virtuelle Speicher-Unterstützung ist integriert x86-Prozessoren-und die meisten anderen CPUs — und die unterstützten Betriebssysteme. Als Folge die meisten Menschen haben keine Ahnung, dass es überhaupt existiert, es ist so nahtlos und effizient.

Virtueller Speicher Grundlagen

Wenn Sie das Feuer bis eine Anwendung, das Betriebssystem weist es einen virtuellen Adressraum. In Windows 8.1 mit 64-bit-apps, die ein Adressraum ist eine saftige 128TB, während macOS bietet eine riesige 18 Exabyte adressierbar Platz für 64-bit-Prozesse. 32-bit-Anwendungen sind begrenzt auf maximal 4 GB virtuellen Speicher, und manchmal weniger.

Das Betriebssystem — Windows, Linux oder macOS — dann gelingt es der virtuellen in die physische Adresse übersetzungs-und Auslagerung in und aus physischen RAM des aktiven Programm-Segmente. In der Regel werden die Segmente (oder Seiten), 4 oder 8 KB. Die CPU bietet hardware-Assistent auf die OS zu verfolgen, Millionen oder sogar Milliarden von Seiten.

Wie funktioniert das OS wissen, welche Seiten zu halten im physikalischen Speicher? Das OS merkt sich die zuletzt verwendeten Seiten, die für jeden Prozess und als Forderung für mehr physischen Speicher entwickelt, tauscht es aus den zuletzt verwendeten Seiten, die sich für einen freien RAM-Speicher für mehr aktive Seiten.

Natürlich, die Geschwindigkeit, mit der die Seiten können getauscht werden, hat einen großen Einfluss auf die system-performance. Das ist, warum fortgeschrittene PCIe/NVMe-Laufwerke-wie in der aktuellen MacBook Pros-sind von entscheidender Bedeutung.

Speicher-Latenz ist entscheidend

Mit Zugriffszeiten gemessen in Mikrosekunden, die Zeit, die es braucht, um tauschen, eine Seite reduziert sich von 6 bis 10 Millisekunden auf eine Festplatte, möglicherweise (ich habe nicht gesehen, die Zugriffszeiten für die neue MacBook-Pro-SSDs), 10 ľs — tausend mal schneller. Seit vielen PCIe/NVMe-demos haben sich die Zugriffszeiten in der 3-4 µsec-Bereich, die neue Mac-SSDs könnte 2-3 tausend mal schneller als mit einer Festplatte.

Neuere Macs SSDs. Wieder, Latenz benchmarks sind rar, aber die anderen high performance SATA SSDs haben die Wartezeiten in der 100-150 µsec Bereich, so dass der neue Mac SSDs potentiell 10-50x schneller. Die Quintessenz ist, dass sehr schnelle Speicher ist virtueller Speicher schneller und macht einem stark belasteten system viel besser und performanter.

Wie jedes system, eine virtuelle Speicher-system überlastet werden kann. Wenn Sie schnell Umschalten zwischen Speicher-intensive Anwendungen, wie ein video-editor, Photoshop, einer DAW, einem video-Effekte-Programm und ein Kompressions-tool, die Ihr system langsamer als die swap-Verkehr überwältigt das I/O-system. Pro-Tipp: Mach das nicht!

Die Speicher-Bits nehmen

Von einer cutting-edge-Funktion, die in den 70er Jahren zu allgegenwärtig und vergessen in der ’10s, wird der virtuelle Speicher ist eine Technologie, die es ermöglicht, Ihr notebook oder Ihren desktop zum ausführen von data-sets, die weit über die RAM-Größe. Ich Häufig Bearbeiten 250 GB ProRes video-Dateien auf meinem fünf Jahre alten 16GB-MacBook Pro-ohne maxing RAM-Auslastung.

In meiner Erfahrung, die meisten performance-Probleme, die pro-apps haben nicht den virtuellen Speicher verwandten-vorausgesetzt, ausreichend Speicherkapazität-aber drehen sich um die ineffizienten code, nicht genügend CPU-oder Grafikleistung, oder andere Engpässe im system im Treiber oder Netzwerke. In der Zukunft, mit dem Aufkommen von Hochleistungs-non-volatile RAM, sind möglicherweise wir in der Lage zu tun, Weg mit virtual-memory-Systemen insgesamt, ersetzen Sie es mit multi-terabyte Hauptspeicher, die kombinieren, RAM und storage in einem einzigen Adressraum.

Aber das ist mindestens fünf Jahre ab und es wird eine Geschichte für einen anderen post.

Höfliche Kommentare willkommen, natürlich.