DavidXanatos schrieb:Was qualcom braucht ist apples Mogel-Packung,
was ich damit meine, die apple chips schalten auf ein x86 memory model um wenn code in rosetta 2 ausgeführt wird, das spart massiv an memory barier instruktionen.
Nur weil der Apple-Prozessor dann nicht so schlecht arbeitet wie ARM das erlaubt, ist das noch lange keine Mogelpackung. Auch ARM erlaubt, dass ARM-Implementierungen besser funktionieren (das liegt bei den memory models in der Natur der Sache). Dass auf der anderen Seite Rosetta nur auf Prozessoren richtig funktioniert, die ein mindestens so starkes memory model implementieren wie Apple, AMD und Intel, kann man Apple vielleicht vorwerfen, aber da Rosetta ohnehin nur auf MacOS auf Apple-Hardware arbeitet, waere so ein Vorwurf schwachsinnig.
Allgemein wird jeder Hardware-Hersteller, der Intel und AMD abloesen moechte, mindestens so ein starkes Memory Model implementieren muessen, weil nur dann koennen Hersteller von multi-threaded Software die Software mit einfachem Neucompilieren portieren. Das betrifft sowohl die Server als auch Desktops und Laptops. Auch wenn man schon in der Cloud Server mit ARM-Prozessoren sieht, dann haben die entweder ein mindestens so starkes Memory Model implementiert wie AMD und Intel, oder es laeuft eben nur ein Teil der Software drauf (wohl vorwiegend single-threaded-Programme, eben viele davon parallel).
Ergänzung ()
Sebbi schrieb:Kommt diese hohe Leistung eventuell durch Verfahren, die Intel etc durch Spectre und Meltdown ggf einschränken musste und darum starke Leistungseinbußen hatten?
Ich weiss nicht viel ueber Geekbench, aber ich vermute, dass das nicht besonders viele System calls macht und daher viele Mitigations, die beim User->Kernel-Uebergang den branch predictor loeschen u.ae., Geekbench nicht besonders betreffen. Und Geekbench selbst wird die Mitigations ziehmlich sicher nicht verwenden (man kann also die Daten von Geekbench mittels Spectre-Exploits auslesen), weder hier noch dort. Das waere einmal ein Spass, einen Geekbench mit allen von Intel, AMD etc. empfohlenen Software-Mitigations mit der Version ohne Mitigations zu vergleichen.
Ist der M3 eventuell auch dagegeben anfällig dadurch und muss Apple dann diese Leistungseinschnitte auch vornehmen und liegt dann wieder weit zurück?
Ich gehe davon aus, dass Apples Mikroarchitekturen und der Oryon anfaellig fuer Spectre sind, denn sonst haetten sie das sicher laut herausposaunt, dass sie einen richtigen Fix eingebaut haben. Und klar kosten die diversen Mitigations auch auf Apple und Qualcomm-Hardware Leistung; wieviel, haengt von der Mitigation und der Anwendung ab.
Denn eine Spectre Lücke ist ja erst kürzlich bekannt geworden, die nach fast einen Jahr immer noch nicht offizell gefixt war
Spectre v1 und v2, das Intel und AMD im Juni 2017 bekannt gemacht wurde (und im Jaenner 2018 oeffentlich), ist auch noch nirgendwo gefixt. Es schaut so aus, als waeren die Hardwarehersteller damit zufrieden, dass sie eine Software-Mitigation-Empfehlung bekanntgeben, und dann kaum eine Software der Empfehlung folgt, weil es entweder extrem aufwendig in der Software-Entwicklung ist oder sehr viel Performance kostet (z.B. Ultimate Speculative Load Hardening gegen Spectre v1 kostet einen Faktor 2.5, wenn man es allgemein anwendet; und die selektive Anwendung ist sehr aufwendig, und wenn man zu selektiv ist, bleiben Luecken zum Ausnutzen durch Spectre-Exploits offen). Offenbar sind die Hardware der Meinung, dass es ihnen im Markt mehr Nachteile (ein bisschen mehr Hardware-Flaeche und vielleicht ein paar % weniger Performance fuer Software ohne Mitigations) bringt als Vorteile ("Kaufen sie eine CPU, die gegen Spectre sicher ist!"), wenn sie Spectre in der Hardware fixen.
Ergänzung ()
mae schrieb:Ich gehe davon aus, dass Apples Mikroarchitekturen und der Oryon anfaellig fuer Spectre sind, denn sonst haetten sie das sicher laut herausposaunt, dass sie einen richtigen Fix eingebaut haben.
Und kaum habe ich das geschrieben, lese ich ueber iLeakage, ein auf Spectre basierender Exploit von Safari (auf Apple Silicon).
Zuletzt bearbeitet: