Mikro-Faden (mehradrig)

Da Mikroprozessoren schneller werden, hauptsächlich weil die Kerne alle paar Monate hinzugefügt werden, wird die Speicherlatenzlücke immer größer. Die Speicherlatenz betrug 1980 nur wenige Zyklen und erreicht heute fast 1000 Zyklen. Wenn der Mikroprozessor über genügend Kerne verfügt und hoffentlich nicht gleichzeitig Anforderungen an den Hauptspeicher sendet, wird die Speicherlatenz teilweise ausgeblendet. Einige Kerne werden möglicherweise ausgeführt, während andere auf eine Speicherantwort warten. Dies ist nicht die beste Situation für Multi-Core-Prozessoren. High Performance Computing-Experten sind bestrebt, alle Kerne beschäftigt die ganze Zeit zu halten. Wenn also jeder Kern ständig ausgelastet ist, ist eine vollständige Auslastung des gesamten Mikroprozessors möglich. Das Erstellen von softwarebasierten Threads löst das Problem aus einem offensichtlichen Grund nicht. Kontextwechsel-Threads in den Hauptspeicher sind im Vergleich zur Speicherlatenz eine viel kostspielige Operation. Beispielsweise dauert das Umschalten eines beliebigen Threads des Kerns im Kontext der Cell Broadband Engine im besten Fall 2000 Mikrosekunden. Einige Softwaretechniken wie Doppel- oder Mehrfachpufferung können das Speicherlatenzproblem lösen. Sie können jedoch in regulären Algorithmen verwendet werden, bei denen das Programm weiß, wo sich der nächste Datenblock befindet, der aus dem Speicher abgerufen werden soll. Diese Technik funktioniert jedoch nicht, wenn das Programm den nächsten Datenblock, der aus dem Speicher abgerufen werden soll, nicht kennt. Mit anderen Worten, es funktioniert nicht in kombinatorischen Algorithmen wie Tree Spanning oder Random List Ranking. Darüber hinaus geht die Mehrfachpufferung davon aus, dass die Speicherlatenz konstant ist und statisch ausgeblendet werden kann. Die Realität zeigt jedoch, dass sich die Speicherlatenz von Anwendung zu Anwendung ändert. Dies hängt von der Gesamtlast der gemeinsam genutzten Ressourcen des Mikroprozessors ab, z. B. von der Rate der gemeinsam genutzten Speicheranforderungen Kerne Verbindungen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

More: