Warum Synchronisation trotzdem wichtig ist

Das sind nur einige der möglichen Szenarien. Tatsächlich gibt es zahlreiche Varianten des obigen Designs - und keine zwei Implementierungen sind gleich. Zum Beispiel haben einige Designs einen O/F State. Einige verwenden Write-Back-Caches, andere Write-Through-Caches. Manche nutzen Snoop-Broadcasts, andere wiederum Snoop-Filter. Einige haben inklusive, andere exklusive Caches. Es gibt endlos viele Variationen - und Puffer haben wir noch nicht einmal erwähnt.

Stellenmarkt
  1. Teamleiter (m/w/d) Netzwerktechnik / Nachrichtentechnik
    ED Netze GmbH, Rheinfelden (Baden)
  2. C++ Softwareentwickler für geometrische Algorithmen / Robotik (m/w/d)
    GOM GmbH, Braunschweig
Detailsuche

Das obige Beispiel nutzt zudem einen einfachen Prozessor mit nur zwei Cache-Ebenen. Das gleiche Protokoll kann aber auch rekursiv angewendet werden. Sie könnten leicht einen L3-Cache hinzufügen, der wiederum mehrere L2s koordiniert, wobei das gleiche Protokoll wie oben verwendet wird. Möglich wäre auch ein Multiprozessorsystem mit "Home Agents", die die Koordination über mehrere L3-Caches auf unterschiedlichen Chips übernehmen.

In jedem Szenario muss jeder Cache nur mit seinem Eltern-Cache (zum Abrufen von Daten/Berechtigungen) und seinen Kind-Caches (zum Gewähren/Widerrufen von Daten/Berechtigungen) kommunizieren. All das sollte so passieren, dass es für den Software-Thread unsichtbar ist. Aus Sicht der Software-Anwendung erscheint das Speicher-Subsystem als ein einziger, kohärenter Monolith ... mit sehr variablen Latenzen.

Warum dann überhaupt volatile Variablen?

Nachdem wir nun die unglaubliche Leistung und Kohärenz des Speichersystems Ihres Computers erörtert haben, fragen Sie sich vielleicht: Wenn Caches ohnehin synchronisiert werden - warum brauchen wir dann überhaupt volatile Variablen in Sprachen wie Java?

Golem Akademie
  1. Unreal Engine 4 Grundlagen: virtueller Drei-Tage-Workshop
    28. Februar–2. März 2022, Virtuell
  2. Jira für Anwender: virtueller Ein-Tages-Workshop
    4. Februar 2022, virtuell
Weitere IT-Trainings

Das ist eine komplizierte Frage, die an anderer Stelle ausführlich beantwortet wird. Aber lassen Sie mich eine Sache dazu sagen: Werden Daten in CPU-Register eingelesen und gehalten, sind diese auch nicht synchron mit dem Cache oder Arbeitsspeicher.

Der Software-Compiler nimmt viele Optimierungen vor, wenn es darum geht, Daten in die Register zu laden, sie in den Cache zurückzuschreiben und sogar die Reihenfolge der Anweisungen zu ändern - und zwar alles unter der Annahme, dass der Code single threaded (also nicht nebenläufig) ausgeführt wird. Daher müssen alle Daten, die Race Conditions ausgesetzt sind, manuell durch nebenläufige Algorithmen und Sprachkonstrukte wie atomare und volatile Variablen geschützt werden.

Eine große Auswahl an Prozessoren bei Alternate

Im Fall der volatilen Variablen in Java besteht ein Teil der Lösung darin, alle Lese-/Schreibvorgänge zu zwingen, die lokalen Register zu umgehen und stattdessen sofort Lese-/Schreibvorgänge im Cache auszulösen. Sobald die Daten in den L1-Cache gelesen/geschrieben werden, übernimmt das Hardware-Kohärenzprotokoll und bietet garantierte Kohärenz über alle globalen Threads hinweg.

So wird sichergestellt, dass, wenn mehrere Threads dieselbe Variable lesen oder in dieselbe Variable schreiben, alle synchron gehalten werden. So erreichen Sie eine Inter-Thread-Koordination in nur 1 Nanosekunde.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Mögliche Abläufe für Schreib- und Lesevorgänge bei einer CPU mit vier Kernen
  1.  
  2. 1
  3. 2
  4. 3
Anzeige - Ein Vergleichsservice der Golem Media GmbH

CPU Top 10 nach dem Leistungsindex 2022 - von PCGH getestet

ProduktnameCore i7-12700KCore i9-12900KCore i5-12600KCore i7-11700KCore i9-11900KRyzen 9 5900XCore i5-11600KRyzen 9 5950XCore i9-10900KRyzen 7 5800XRyzen 5 5600X
HerstellerIntelIntelIntelIntelIntelAMDIntelAMDIntelAMDAMD
Weitere Daten anzeigen ...
Leistung96,6%/75,5%100%/84,4%88,5%/62,1%81%/61,6%86,6%/66,4%86,9%/83,3%74,7%/51,1%90,6 %/100 %78,9%/65,3%82,4%/64,0%79,6%/54,4%
Leistungsaufnahme Ø288 Watt319 Watt196 Watt273 Watt398 Watt267 Watt222 Watt317 Watt270 Watt194 Watt168 Watt
Kerne12c/20t16c/24t10c/16t8c/16t8c/16t12c/24t6c/12t16c/32t10c/20t8c/16t6c/12t
GrafikeinheitJaJaJaJaJaJaJaJaJaJaJa
Basis-Takt3,6 GHz3,2 GHz3,7 GHz3,6 GHz3,5 GHz3,7 GHz3,9 GHz3,4 GHz3,7 GHz3,8 GHz3,7 GHz
Prozess10 nm10 nm10 nm14 nm14 nm7 nm14 nm7 nm14 nm7 nm7 nm
RAM2× DDR5-4800 (G2) / DDR4-3200 (G1)2× DDR5-4800 (G2) / DDR4-3200 (G1)2× DDR5-4800 (G2) / DDR4-3200 (G1)DDR4-2933 (G1) / DDR4-3200 (G2)DDR4-3200DDR4-3200DDR4-2933 (G1) / DDR4-3200 (G2)DDR4-3200DDR4-2933DDR4-3200DDR4-3200
Sockel17001700170012001200AM41200AM41200AM4AM4
Features
  • Bestes Gesamtpaket
  • Effizienter als 12900K
  • Höchste Leistung
  • Perfekt für Spieler
  • Sehr gutes Pires-Leistungs-Verhältnis
  • Gute Spieleleistung
  • Immer noch sehr schnell
  • Gute Leistung in Spielen & Anwendungen
  • Gute Leistung in Spielen
  • Leistungs-Monster
  • Allrounder
  • Sehr flott in Spielen
  • Sehr effizient
Angebote


Aktuell auf der Startseite von Golem.de
Corona-Warn-App
Hohe Kosten, halbherzige Umsetzung

Die digitalen Tools zur Pandemiebekämpfung wie die Corona-Warn-App sind nicht billig. Gerade deshalb sollten sie sinnvoll und effektiv genutzt werden.
Ein IMHO von Friedhelm Greis

Corona-Warn-App: Hohe Kosten, halbherzige Umsetzung
Artikel
  1. Pluton in Windows 11: Lenovo will Microsofts Sicherheitschip nicht aktivieren
    Pluton in Windows 11
    Lenovo will Microsofts Sicherheitschip nicht aktivieren

    Die neuen Windows-11-Laptops kommen mit dem Chip Pluton. Lenovo will diesen aber noch nicht selbst aktivieren.

  2. Kamera: Metalenz will Polarisationskameras miniaturisieren
    Kamera
    Metalenz will Polarisationskameras miniaturisieren

    Eine kleine Polarisationskamera könnte beispielsweise die Sicherheit von Gesichtsscans bei Smartphones verbessern oder Eis auf der Straße erkennen.

  3. Probefahrt mit BMW-Roller CE 04: Beam me up, BMW
    Probefahrt mit BMW-Roller CE 04
    Beam me up, BMW

    Mit futuristischem Design und elektrischem Antrieb hat BMW ein völlig neues Fahrzeug für den urbanen Bereich entwickelt.
    Ein Bericht von Peter Ilg

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • RTX 3070 989€ • The A500 Mini Retro-Konsole mit 25 Amiga-Spielen vorbestellbar 189,90€ • RX 6800 16GB 1.129€ • Intel Core i9 3.7 459,50€ Ghz • WD Black 1TB inkl. Kühlkörper PS5-kompatibel 189,99€ • Switch: 3 für 2 Aktion • RX 6700 12GB 869€ • MindStar (u.a. 1TB SSD 69€) [Werbung]
    •  /