Multicore und Synchronisation
Welche Idee steckt hinter Hardware Transactional Memory?
- ADer kritische Abschnitt wird spekulativ ausgeführt, bei fehlender Kollision mit anderen Threads gesammelt bestätigt und bei Kollision verworfen und wiederholt
- BAlle Speicherlese- und -schreibvorgänge werden wie Bankgeschäfte auf Festplatte protokolliert
- CDas Schreiben in den Speicher wird verboten und nur Lesen erlaubt
Antwort und Erläuterung anzeigen
Antwort: A. Der kritische Abschnitt wird spekulativ ausgeführt, bei fehlender Kollision mit anderen Threads gesammelt bestätigt und bei Kollision verworfen und wiederholt
Beim Transactional Memory wird der kritische Abschnitt als Transaktion ausgeführt, und die Schreibvorgänge währenddessen sind vorläufig und für andere nicht sichtbar. Haben andere Threads dieselben Daten nicht berührt, werden am Ende alle Schreibvorgänge auf einmal bestätigt; bei einer Kollision wird alles verworfen und wiederholt oder auf eine gewöhnliche Sperre umgeschaltet. Bei wenigen Kollisionen erreicht man auch mit grober Sperre eine Parallelität nahe an feinkörnigem Sperren.