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

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.

So finden Sie die IP-Adresse eines Druckers

So finden Sie die IP-Adresse eines Druckers

Erfahren Sie, wie Sie die IP-Adresse Ihres Druckers einfach und schnell herausfinden können.

Hinzufügen von Blink-Kameras von zwei Standorten aus

Hinzufügen von Blink-Kameras von zwei Standorten aus

Erfahren Sie, wie Sie Blink-Kameras zur Heimsicherheit von zwei Standorten aus hinzufügen können. Flexibles System mit einfacher Installation und Integration mit Alexa.

Grundlagen des 3D-Drucks: Wie man Filament neu spoolt

Grundlagen des 3D-Drucks: Wie man Filament neu spoolt

Erfahren Sie, wie Sie Filament neu spoolen können, um Probleme wie Unterextrusion und Verwicklungen zu vermeiden. Hier sind einige nützliche Tipps und Techniken.

So ändern Sie das Zifferblatt einer Fitbit Versa 4

So ändern Sie das Zifferblatt einer Fitbit Versa 4

Ändern Sie das Zifferblatt Ihrer Fitbit Versa 4 einfach und kostenlos. Entdecken Sie neue Designs und gestalten Sie Ihre Uhr ganz nach Ihrem Geschmack.

Chromebook: Feststelltaste aktivieren/deaktivieren – 3 einfache Schritte

Chromebook: Feststelltaste aktivieren/deaktivieren – 3 einfache Schritte

Erfahren Sie, wie Sie die Feststelltaste auf Ihrem Chromebook aktivieren und deaktivieren können. Mit 3 einfachen Schritten und nützlichen Tipps zur Tastaturkonfiguration.

PETG-Drucke glätten: 5 bewährte Methoden für perfekte Oberflächen

PETG-Drucke glätten: 5 bewährte Methoden für perfekte Oberflächen

Erfahren Sie, wie Sie PETG-3D-Drucke in 5 Schritten professionell glätten – von Schleifen bis Chemische Behandlung. Praxistipps mit Sicherheitshinweisen und Werkzeugempfehlungen.

5 Anzeichen: So erkennen Sie, ob Ihr Arbeitgeber Ihren Computer überwacht [2025]

5 Anzeichen: So erkennen Sie, ob Ihr Arbeitgeber Ihren Computer überwacht [2025]

Erfahren Sie, wie Sie Überwachungssoftware auf Arbeitsgeräten identifizieren + Tipps zum Schutz Ihrer Privatsphäre. Inklusive aktuellem Rechtsrahmen gemäß BDSG & DSGVO.

Grundlagen des 3D-Drucks: Was ist eine Krempe? | 5 Vorteile & Tipps

Grundlagen des 3D-Drucks: Was ist eine Krempe? | 5 Vorteile & Tipps

Erfahren Sie, was eine Krempe beim 3D-Druck ist, warum sie nützlich ist und wie sie Ihnen hilft, das Verziehen von Filamenten zu vermeiden. Jetzt mit 5 praktischen Tipps zur optimalen Nutzung.