Was ist Shared Memory?

Moderne Computer haben viel Speicher. Jede CPU hat ihren eigenen Cache, und jedem laufenden Programm wird sein Teil des System-RAM zugewiesen. Es gibt viele verschiedene Möglichkeiten, wie dieser Speicher verwendet und zugewiesen werden kann. Shared Memory ist ein Konzept, das sich auf unterschiedliche Weise sowohl auf CPU-Caches als auch auf die Verwendung von System-RAM auswirkt.

Shared Memory in der Hardware

Die meisten modernen CPUs haben drei Cache-Ebenen, die als L1, L2 und L3 bezeichnet werden. L1 ist der kleinste und schnellste Cache, während L3 der größte und langsamste ist. Alle sind jedoch schneller als der Zugriff auf den Hauptspeicher, wodurch die Trefferquote entscheidend für die Leistung ist. Viele Faktoren machen den L1-Cache schneller als L3. Zunächst einmal sind L1-Speicherzellen physisch größer. Es gibt auch weniger von ihnen und sie befinden sich viel näher am CPU-Kern, oft sogar darin.

Das Platzieren eines Cache-Blocks im Die-Bereich eines Kerns ist bei Mehrkern-CPUs mit zusätzlicher Komplexität verbunden. An diesem Punkt können Sie wählen, ob Sie einen Cache in jedem Kern oder außerhalb der Kerne haben möchten, insbesondere zwischen ihnen. Jedes hat seine Vor- und Nachteile.

Das Platzieren eines Caches in einem Kern minimiert die Zugriffslatenz, bedeutet aber auch, dass jeder Kern seinen Cache benötigt. Dies bedeutet, dass Sie möglicherweise mit duplizierten Cache-Zeilen in den L1-Caches verschiedener Kerne enden, wodurch die Cache-Speicherplatzeffizienz verringert wird. Dies wird als lokaler Cache bezeichnet, und obwohl er sich hervorragend für die Zugriffszeit eignet, ist er weniger effizient bei der Nutzung des Cache-Speicherplatzes und erfordert zusätzlichen Overhead in Bezug auf die Cache-Kohärenz.

Ein gemeinsam genutzter Cache ist ein Cache, der mehreren oder allen Kernen in einer Mehrkern-CPU zur Verfügung steht. Ein gemeinsam genutzter Cache bedeutet, dass mehrere Kerne auf eine Instanz bestimmter Daten zugreifen können, wodurch die Verschwendung von Speicherplatz aufgrund von Duplizierung begrenzt wird. Dies bedeutet auch, dass ein Kern vorübergehend mehr als seinen fairen Anteil am Cache-Speicherplatz beanspruchen kann, wenn er ihn benötigt, während die anderen Kerne dies nicht tun. Dies geht auf Kosten einer erhöhten Zugriffszeit.

Shared Caches in der Praxis

Moderne CPUs verwenden beide Konzepte, wobei jeder Kern über einen lokalen L1-Cache verfügt. Der L3-Cache wird in der Regel von vielen Kernen gemeinsam genutzt, manchmal jedoch nicht von allen. L2 variiert, kann aber abhängig von der spezifischen Architektur der CPU-Generation lokal oder gemeinsam genutzt werden.

Tipp: Bei Chiplet-CPUs wie High-End-AMD-Ryzen-Modellen können Caches von allen Kernen auf einem Chiplet geteilt werden, anstatt von allen Kernen in der gesamten CPU. Es spielt keine Rolle, zwischen wie vielen Kernen ein Cache geteilt wird; Selbst wenn es nur zwei sind, ist es immer noch ein gemeinsam genutzter Cache, obwohl es sich lohnen kann, hervorzuheben, dass er nur teilweise gemeinsam genutzt wird.

Hinweis: System-RAM kann auch von mehreren physischen CPUs auf einem einzelnen Motherboard oder von Knoten in einem Multi-CPU-System gemeinsam genutzt werden.

Shared Memory in der Software

In modernen Computern kann die Software den physischen Speicher nicht direkt ansprechen. Stattdessen wird ihm ein virtuelles Adresssegment zugewiesen, und der Computer übersetzt diese virtuellen Adressen nach Bedarf in die physischen Adressen. Dies hilft, Speicher für einzelne Prozesse zu isolieren, was für die Sicherheit hilfreich ist.

In einigen Fällen kann es wünschenswert sein, Daten im Speicher von einem Prozess zu einem anderen zu übertragen. Der effizienteste Weg, dies zu tun, besteht darin, den beiden Prozessen zu erlauben, Speicherplatz gemeinsam zu nutzen. Auf diese Weise können beide Prozesse dieselben Daten lesen und miteinander kommunizieren. Dies trägt auch dazu bei, den System-RAM effizient zu nutzen, da die Daten nicht dupliziert werden.

Software-Shared Memory wird normalerweise erreicht, indem eine physische Kopie der Daten aufbewahrt und der Zugriff darauf über virtuellen Speicher für jeden Prozess abgebildet wird, der darauf zugreifen muss.

Abschluss

Shared Memory ist das Konzept, einen Speicherbereich für mehrere Dinge zugänglich zu machen. Dies kann sowohl in Hardware als auch in Software implementiert werden. Der CPU-Cache kann von mehreren Prozessorkernen gemeinsam genutzt werden. Dies gilt insbesondere für höhere Ebenen des CPU-Cache. Der Systemspeicher kann auch von verschiedenen physischen CPUs in einem einzigen größeren System gemeinsam genutzt werden.

In der Software kann gemeinsam genutzter Speicher IPC-Kommunikation zwischen Prozessen ermöglichen. Ein Prozess weist Speicher als gemeinsam mit einem oder mehreren spezifischen Prozessen zu. Diese anderen Prozesse können dann über die Zuordnung des virtuellen Speichers auf diesen Speicherort zugreifen. Shared Memory trägt dazu bei, eine effiziente Nutzung des Speicherplatzes sicherzustellen, indem Datenduplizierung in einem begrenzten Bereich vermieden wird.



Leave a Comment

Was tun, wenn Powerbeats Pro nicht im Ladecase aufgeladen werden?

Was tun, wenn Powerbeats Pro nicht im Ladecase aufgeladen werden?

Wenn Ihre Powerbeats Pro nicht aufgeladen werden, verwenden Sie eine andere Stromquelle und reinigen Sie Ihre Ohrhörer. Lassen Sie das Ladecase geöffnet, während Sie Ihre Ohrhörer aufladen.

3D-Druck Grundlagen: Eine unverzichtbare Wartungscheckliste

3D-Druck Grundlagen: Eine unverzichtbare Wartungscheckliste

Die Wartung Ihrer Geräte ist ein Muss. Hier finden Sie nützliche Tipps, um Ihren 3D-Drucker in Top-Zustand zu halten.

Canon Pixma MG5220: Scannen ohne Tinte

Canon Pixma MG5220: Scannen ohne Tinte

Wie man das Scannen mit dem Canon Pixma MG5220 aktiviert, wenn die Tinte ausgeht.

5 Gründe, warum Ihr Laptop überhitzt

5 Gründe, warum Ihr Laptop überhitzt

Erfahren Sie mehr über einige mögliche Ursachen, warum Ihr Laptop überhitzt, sowie Tipps und Tricks zur Vermeidung dieses Problems und zur Kühlung Ihres Geräts.

So beheben Sie den GeForce Now Fehlercode 0xC272008F

So beheben Sie den GeForce Now Fehlercode 0xC272008F

Sie machen sich bereit für eine große Gaming-Nacht – Sie haben gerade “Star Wars Outlaws” auf dem GeForce Now Streaming-Dienst erworben. Entdecken Sie die einzige bekannte Lösung, die Ihnen zeigt, wie Sie den GeForce Now Fehlercode 0xC272008F beheben können, damit Sie wieder Ubisoft-Spiele spielen können.

3D-Druck Grundlagen: Wartungstipps für Ihren 3D-Drucker

3D-Druck Grundlagen: Wartungstipps für Ihren 3D-Drucker

Die Wartung Ihrer 3D-Drucker ist sehr wichtig, um die besten Ergebnisse zu erzielen. Hier sind einige wichtige Tipps, die Sie beachten sollten.

So finden Sie die IP-Adresse eines Druckers

So finden Sie die IP-Adresse eines Druckers

Haben Sie Schwierigkeiten herauszufinden, welche IP-Adresse Ihr Drucker verwendet? Wir zeigen Ihnen, wie Sie sie finden.

So verwenden Sie AirPods mit Samsung-Handys

So verwenden Sie AirPods mit Samsung-Handys

Wenn Sie sich unsicher sind, ob Sie AirPods für Ihr Samsung-Handy kaufen sollen, kann dieser Leitfaden Ihnen auf jeden Fall helfen. Die offensichtlichste Frage ist, ob die beiden kompatibel sind, und die Antwort lautet: Ja, das sind sie!

Fix: Chromebook „Fehler beim Konfigurieren des Netzwerks“

Fix: Chromebook „Fehler beim Konfigurieren des Netzwerks“

Wenn auf Ihrem Chromebook beim Konfigurieren des Netzwerks ein Fehler aufgetreten ist, aktivieren Sie die Netzwerkfreigabe, starten Sie Ihren Laptop neu und trennen Sie Ihren Router.

Grundlagen des 3D-Drucks: Was ist MSLA 3D-Druck?

Grundlagen des 3D-Drucks: Was ist MSLA 3D-Druck?

Maskiertes Stereolithographiegerät (MSLA) ist eine modifizierte Form des SLA-Drucks und bietet zahlreiche Vorteile, einschließlich schnelleren Druckzeiten.