Bereiche
News
Rewind
Tipps & Berichte
Forum
Galerie
Journals
Events
Umfragen
Themenwoche
Kleinanzeigen
Interaktiv
Anmelden
Registrierung
Zu allen empfangenen Nachrichten
Suche...
Zur erweiterten Suche
Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum
>
Entwickler
>
Wie wichtig ist NUMA-Konzept?
Wie wichtig ist NUMA-Konzept?
ex_apple_user_neu
14.09.09
14:04
Wie wichtig ist NUMA-Konzept z.B. für Simulation?
Hilfreich?
0
Kommentare
Navier-Stokes
16.09.09
12:09
Der Artikel von heise ist deutlich zu kurz und ungenau. Habe mal gegoogelt und ein wenig mehr darüber gefunden
.
Die Auswirkungen verschiedener Speichersysteme hängen stark von den Anwendungen ab. Natürlich gilt: Je Speicherintensiver die Applikation, desto größer der Effekt. Über Ketegorieen wie z.B. Office, Simulation lässt sich keine verallgemeinernde Aussage machen. Zu jeder Architektur (UMA, NUMA, cc-NUMA, distributed Memory, ...) gibt es Algorithmen/Implementierungen die gut oder weniger gut geeignet sind.
Ich verstehe nur nicht ganz, warum heise die Schuld auf das OS schiebt.
„Computer Science is no more about computers than astronomy is about telescopes. (Edsger W. Dijkstra)“
Hilfreich?
0
ex_apple_user_neu
16.09.09
13:42
heise hatte geschrieben, das 10.6 NUMA nicht unterstützt, die aktuelle Hardware dies aber zulassen würde.
Hilfreich?
0
Navier-Stokes
16.09.09
13:44
ex_apple_user_neu
heise hatte geschrieben, das 10.6 NUMA nicht unterstützt, ...
Genau da fehlt mir das Verständnis. In wiefern kann das OS NUMA unterstützen?
„Computer Science is no more about computers than astronomy is about telescopes. (Edsger W. Dijkstra)“
Hilfreich?
0
ex_apple_user_neu
16.09.09
15:59
Navier-Stokes
ex_apple_user_neu
heise hatte geschrieben, das 10.6 NUMA nicht unterstützt, ...
Genau da fehlt mir das Verständnis. In wiefern kann das OS NUMA unterstützen?
Die Hardware muss anscheinend entsprechend direkt angesprochen werden.
Ich hoffe, dass sich hier in diesem Thread Spezialisten einschalten.
Hilfreich?
0
Marcel Bresink
16.09.09
16:56
NUMA heißt vereinfacht ausgedrückt, dass Programme von dem Wissen sinnvoll Gebrauch machen können, dass die einzelnen Prozessorkerne in bestimmten Situationen mit verschiedenen Geschwindigkeiten auf den RAM-Speicher zugreifen. Ein "lokal" dem Speicherbus des aktuellen Prozessors zugeordneter Speicher reagiert schneller als ein "ferner" Speicher, den ein anderer Prozessor gerade in Benutzung hat.
Voraussetzung dafür ist, dass (a) ein Programm irgendwie herauskriegen kann, auf welchem Prozessor sein Thread gerade läuft und (b), dass ein Programm einen Thread auf einem bestimmten Prozessor festhalten darf, also verhindert, dass der Thread in der nächsten Prozessvergabezeitscheibe vom System auf einen anderen Prozessor platziert wird (Das nennt man Prozessoraffinität.)
Beide Funktionen stehen in Mac OS X nicht zur Verfügung, bzw. werden vom Betriebssystemkern sogar absichtlich gesperrt.
Apple steht auf dem Standpunkt, dass ein Programm nicht wissen soll, wie es auf die Prozessoren platziert wird, "da das Betriebssystem das selbst am besten kann". Aufgrund der besonderen Speichertechnik der Nehalem-Prozessoren stimmt das nur leider für den aktuellen Mac Pro und den Xserve nicht.
Wichtig sind solche Techniken allerdings nur für das parallele Programmieren im technisch-wissenschaftlichen Bereich.
Hilfreich?
0
Navier-Stokes
16.09.09
17:13
Dass Apple das absichtlich (und in meinen Augen unintuitiv) so handhabt, wusste ich nicht.
„Computer Science is no more about computers than astronomy is about telescopes. (Edsger W. Dijkstra)“
Hilfreich?
0
Simoon
16.09.09
18:28
Marcel Bresink
NUMA heißt vereinfacht ausgedrückt, dass Programme von dem Wissen sinnvoll Gebrauch machen können, dass die einzelnen Prozessorkerne in bestimmten Situationen mit verschiedenen Geschwindigkeiten auf den RAM-Speicher zugreifen. Ein "lokal" dem Speicherbus des aktuellen Prozessors zugeordneter Speicher reagiert schneller als ein "ferner" Speicher, den ein anderer Prozessor gerade in Benutzung hat.
Voraussetzung dafür ist, dass (a) ein Programm irgendwie herauskriegen kann, auf welchem Prozessor sein Thread gerade läuft und (b), dass ein Programm einen Thread auf einem bestimmten Prozessor festhalten darf, also verhindert, dass der Thread in der nächsten Prozessvergabezeitscheibe vom System auf einen anderen Prozessor platziert wird (Das nennt man Prozessoraffinität.)
Beide Funktionen stehen in Mac OS X nicht zur Verfügung, bzw. werden vom Betriebssystemkern sogar absichtlich gesperrt.
Apple steht auf dem Standpunkt, dass ein Programm nicht wissen soll, wie es auf die Prozessoren platziert wird, "da das Betriebssystem das selbst am besten kann". Aufgrund der besonderen Speichertechnik der Nehalem-Prozessoren stimmt das nur leider für den aktuellen Mac Pro und den Xserve nicht.
Das ist doch totaler Unsinn. Einzelne Programme haben damit überhaupt nichts zu tun
NUMA zu berücksichtigen ist Aufgabe des Betriebssystems. Moderne Scheduler berücksichtigen z.B. auch Hyper-Threading. Ohne expliziten Support dafür ist das System halt u.U. etwas langsamer.
Hilfreich?
0
Navier-Stokes
16.09.09
19:56
Was müsste das OS noch machen? Speicher, den ein thread anfordert, in ein und demselben Speicherbereich reservieren?
„Computer Science is no more about computers than astronomy is about telescopes. (Edsger W. Dijkstra)“
Hilfreich?
0
Simoon
16.09.09
20:23
Bei NUMA-fähigen Systemen spielen Policies bei der Allokierung von Speicher eine große Rolle. Man kann oft auch für verschiedene Prozesse verschiedene Policies auswählen.
Natürlich gibt es oft auch APIs, mit denen man Applikationen auf NUMA "zuschneiden" kann. Ich habe den Beitrag von Marcel vermutlich anders aufgefasst, als er es meinte. Um NUMA zu berücksichtigen muss das Betriebssystem zwingend darauf vorbereitet sein, das ist keine Sache, die sich ausschließlich in den Programmen abspielt. Vermutlich wollte er das aber gar nicht andeuten, von daher ziehe ich meine Kritik zurück.
Hilfreich?
0
Simoon
16.09.09
20:25
Hier noch eine Beschreibung zum Stand des Linux-Kernel bzgl. NUMA, sowie der entsprechenden Tools um z.B. Policies zu setzen: http://www.ice.gelato.org/apr07/pres_pdf/gelato_ICE07apr_numapolicy_schermerhorn_hp.pdf (ist von 2007, aber größtenteils noch aktuell, schätze ich).
Hilfreich?
0
ex_apple_user_neu
17.09.09
14:49
Simoon
Das ist doch totaler Unsinn. Einzelne Programme haben damit überhaupt nichts zu tun
Wahrscheinlich sollte es allgemeiner Anweisung oder Prozess heißen statt Programm.
Hilfreich?
0
Kommentieren
Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.
Mac OS X: 25 Jahre Aqua, 25 Jahre Dock
Bald viel mehr HomeKit-kompatible Geräte? Apple...
Update-Abend: macOS 15.1.1, iOS 18.1.1, iPadOS ...
Bilder geben Hinweis: Mac mini M4 mit austausch...
Test Marantz Model 60n
Apple Intelligence: Weiterhin Nonsens-Zusammenf...
PIN-Code erraten: Dauer
Apple aktualisiert Zubehör: Magic Mouse, Magic ...