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

So klonen Sie eine Festplatte

So klonen Sie eine Festplatte

Im modernen digitalen Zeitalter, in dem Daten ein wertvolles Gut sind, kann das Klonen einer Festplatte unter Windows für viele ein entscheidender Prozess sein. Dieser umfassende Leitfaden

Wie behebt man, dass der Treiber WUDFRd unter Windows 10 nicht geladen werden konnte?

Wie behebt man, dass der Treiber WUDFRd unter Windows 10 nicht geladen werden konnte?

Wird beim Booten Ihres Computers die Fehlermeldung angezeigt, dass der Treiber WUDFRd nicht auf Ihren Computer geladen werden konnte?

So beheben Sie den NVIDIA GeForce Experience-Fehlercode 0x0003

So beheben Sie den NVIDIA GeForce Experience-Fehlercode 0x0003

Tritt auf Ihrem Desktop der NVIDIA GeForce-Fehlercode 0x0003 auf? Wenn ja, lesen Sie den Blog, um herauszufinden, wie Sie diesen Fehler schnell und einfach beheben können.

Warum lässt sich mein Chromebook nicht einschalten?

Warum lässt sich mein Chromebook nicht einschalten?

Erhalten Sie Antworten auf die Frage: Warum lässt sich mein Chromebook nicht einschalten? In diesem hilfreichen Leitfaden für Chromebook-Benutzer.

So ändern Sie das Zifferblatt einer Fitbit Versa 4

So ändern Sie das Zifferblatt einer Fitbit Versa 4

Ändere das Zifferblatt deiner Fitbit Versa 4, um deiner Uhr jeden Tag kostenlos ein anderes Aussehen zu verleihen. Sehen Sie, wie schnell und einfach es geht.

Roomba stoppt, bleibt hängen und dreht sich um – Reparieren

Roomba stoppt, bleibt hängen und dreht sich um – Reparieren

Beheben Sie ein Problem, bei dem Ihr Roomba-Roboterstaubsauger anhält, hängenbleibt und sich ständig umdreht.

So ändern Sie die Grafikeinstellungen auf Steam Deck

So ändern Sie die Grafikeinstellungen auf Steam Deck

Das Steam Deck bietet ein robustes und vielseitiges Spielerlebnis direkt auf Knopfdruck. Allerdings, um Ihr Spiel zu optimieren und das bestmögliche zu gewährleisten

Was ist isolationsbasierte Sicherheit?

Was ist isolationsbasierte Sicherheit?

Wir werden uns mit einem Thema befassen, das in der Welt der Cybersicherheit immer wichtiger wird: Isolationsbasierte Sicherheit. Dieser Ansatz zu

How to Use Auto Clicker for Chromebook

How to Use Auto Clicker for Chromebook

Today, were going to delve into a tool that can automate repetitive clicking tasks on your Chromebook: the Auto Clicker. This tool can save you time and

Was ist SMPS?

Was ist SMPS?

Erfahren Sie, was SMPS ist und welche Bedeutung die verschiedenen Effizienzbewertungen haben, bevor Sie sich für ein SMPS für Ihren Computer entscheiden.