Opteron HT-Link

Sie schicken also jede WU an zwei Computer um die Konsistenz der Rechenergebnisse zu prüfen. Wenn man das nicht kann, wird's dann natürlich gefährlich.

@bschicht86: Du kannst ja versuchen PowerCap zu aktivieren und alle 24 Kerne zu nutzen, damit würde das Linpack-Ergebnis u.U. noch um ein paar % steigen.
Insgesamt scheint mir das Ergebnis jedoch recht niedrig zu sein.
 
So, WindHund's Version funktioniert auf beiden (FX und K10)

Problem am Quad-Opteron ist das Netzteil. Nach 10s springt der Verbrauch auf kurzzeitig über 550W und dann steigt das Netzteil aus. Ist zwar ein 750er, aber die ganzen 550W werden ja vermutlich komplett aus der 12V-Leitung gesaugt und das macht das NT nicht mit.

Mit 18 Kernen klappt es, habe dann auch über 100 GFlops

Lastmessung:

6 Kerne: 340W, 46 GFlops
12 Kerne: 430W, 86 GFlops
18 Kerne: 520W, 110 GFlops
24 Kerne: Theoretisch 610W :]

Bei 21 Kernen steigt er mir auch schon aus, wird Zeit für ein neues Netzteil ;D
Ok, gut zu wissen das die Version auch mit dem K10 Opteron läuft.
Es kann aber sein, dass die Version nicht 100% Optimiert ist für den K10.
Wie viel Speicher hast du bei LinX zugeteilt für den Lauf?

Wegen neuem Netzteil, unter 10% sind selbst mit Platinum keine niedrigen Werte möglich. Bei 1,3KW hast also ein Grundrauschen von 130W.
Wenn du im idle über den 130W bist spricht nichts dagegen, wenn du drunter bist würde ich ein kleineres (900W) nehmen.

MfG
 
@bschicht86: Du kannst ja versuchen PowerCap zu aktivieren und alle 24 Kerne zu nutzen, damit würde das Linpack-Ergebnis u.U. noch um ein paar % steigen.
Insgesamt scheint mir das Ergebnis jedoch recht niedrig zu sein.

Du kannst es ja quasi mal hochrechnen. 3 CPU's kamen auf 110 GFlops, alle 4 würden demnach auf ca. 140-150 GFlops kommen. Habe auch eine Seite gefunden, wo die gleiche Config aufgelistet war und die kamen auf 143,x GFlops. Mein FX kam auf ca. 86 GFlops (?), dafür läuft der aber auch mit 4GHz.

Wie viel Speicher hast du bei LinX zugeteilt für den Lauf?

Wegen neuem Netzteil, unter 10% sind selbst mit Platinum keine niedrigen Werte möglich. Bei 1,3KW hast also ein Grundrauschen von 130W.
Wenn du im idle über den 130W bist spricht nichts dagegen, wenn du drunter bist würde ich ein kleineres (900W) nehmen.

Hatte es nur mit 1GB RAM probiert.

Übrigens, ich hatte schonmal geschrieben, dass der mit ca. 200-220W idled, daher sind die 130W erreicht ;)
Ausserdem würd ich mir primär das 850er zulegen, das 1,3KW kam nur als Gedanke, weil es nur unwesendlich teurer ist. Zusätzlich habe ich mir das ganze nicht zum "Idlen" geholt, sondern steht gleich nach dem Start zu 100% für BOINC zur Verfügung.
 
@bschicht86
86GFlops mit 4GHz? http://abload.de/img/linx4ghz_smallsnohe.jpg

Kommt wohl darauf an, was du an GPU(s) noch dazu haben willst, spätestens dann sind 1300W "leiser" als 850W ;)

Bei den 86 GFlops war ich mir nicht ganz so sicher, was ich am Wochenende gemessen hatte, daher auch das Fragezeichen dahinter. Womöglich habe ich es dann nur falsch in Erinnerung.

An GPU's ist zzt. nur eine 7750 dabei, eventuell irgendwann noch eine 2.te. Verbrauchstechnisch sollten die nicht so arg ins Gewicht fallen.
 
Da bleibt die Frage, was läuft langsamer? Reine CPU-Applikationen sollten genauso schnell bleiben. Andererseits würde eigentlich nur der HT-Link infrage kommen, wenn massive Daten zur GraKa o.ä. geschoben werden müssten. RAM-Bandbreite sollte auch eine nicht unwesendliche Rolle beim schieben vieler Daten spielen.

Wie schnell ist denn der HT-Link auf dem AM2-Board? Und wie schnell auf dem AM3?
 
Zum ersten, der HT-Link hat nichts mit der Speicherbandbreite zu tun. Der HT-Link ist ja nur die reine Kommunikation zum Chipsatz.

Bei deinem Kombi-Board ist das so der Fall, dass zwar DDR3-Bänke verlötet wurden, aber der Chipsatz ein alter ist, der auch auf AM2-Boards verlötet wurde. Laut Asrock kann der nur 1000MHz HT

Das mit den 4000"MHz" ist tatsächlich eine Irreführung. Der HT-Link ist 16 Bit breit, was bei 1000MHz eine Übertragungsrate von theoretisch 2000MBit/s entspricht. Manche machen aber da gern MHz daraus. AMD nennt es aber offiziell MT/s (Keine Ahnung, was das ausgetippt heisst)


Zu den beiden Systemen: Woran machst du fest, dass diese unterschiedlich schnell sind? Sind nebenbei die gleichen Komponenten verbaut? Gleiche Software?
Übrigens, wenn im einen Sys eine HDD und im anderen eine SSD verbaut ist, fühlt sich ein Sys auch schneller an als das andere. ;)
 
Habe gerade hier was gefunden, das ist er, aber HT=4000MHz - kann das sein? :o

Das mit den 4000MHz ist entweder Quatsch oder so ein "DDR"-Ding. 2000MHz ist richtig und möglich. Aber heißt, das mein Board entweder nicht richtig konfiguriert oder für den Einsatzzweck nur bedingt geeignet ist.
Das liegt wirklich am DDR, der HT_link kann bei 2000MHz Bidrektional (lesen und schreiben zeitgleich) 4GT/s erreichen.
Das gilt aber nur bei entsprechendem Daten Pool, und Ringbus Ansicht.

Zum ersten, der HT-Link hat nichts mit der Speicherbandbreite zu tun. Der HT-Link ist ja nur die reine Kommunikation zum Chipsatz.
Nicht bei 4P oder 2P Konfiguration, ein Opteron hat vier HT-Links bei Version 3.0 wären das 6,4GT/s oder 3.2GHz pro 32Bit Link.
Also 3 Links zur Intercore Kommunikation und jeweils 1 HT-Link für Extercore Kommunikation: http://images.tecchannel.de/images/tecchannel/bdb/392947/890.jpg
Daher wäre selbst eine R9 295x2 nicht übertrieben für dein Opteron System. *buck*
 
Bezüglich Elder Scrolls: Wie unterschiedlich sind die Grafikkarten? Sind exakt die gleichen Qualitätseinstellungen eingestellt, sprich AA und AF im Treiber und Texturqualitäten im Spielesetup?

Wieviel Speicher haben die Grafikkarten? Ich spiele gerade Skyrim auf vollen Details und es werden etwas über 2GB VRAM belegt. Hat eine Grafikkarte weniger, dann wird es genauso ruckeln, weil der VRAM überläuft.

--- Update ---

Der Unterschied zwischen SSD und HDD dürfte eigentlich nur beim Starten des Spiels und als Nachladeruckler bemerkbar werden. Ruckelt es aber permanent, sind entweder die Grafikeinstellungen zu hoch oder der VRAM läuft über.
 
zum Thema HT-Link

AMD sagt zwar offiziel dass die 6000er Optis alle nur bis 3,2GHz HT-Link können, hat aber im BKDG auch noch 3,4 und 3,6 GHz wie auch im AGESA spezifiziert!

Naja meine beiden 2400er Systeme (2x2419 und 2x2427) laufen beide mit 1GHz HT-Link zum Chipsatz (nForce Pro 3600 + 3050) sowie 2,4Ghz untereinander; mein FX8150 läuft dagegen mit 2,6GHz HT-Link zum Chipsatz (890FX)

Im Gegensatz zu den 6000er Opterons haben die beiden 2400er 2x16er HT-Link untereinander - während die 6000er nur 1x16er Link untereinander sowie 16+8 Link auf dem Träger zwischen den beiden DIE verwendet - muss man auch nicht verstehen ....

Besser wäre: 2x32 Lanes auf Träger sowie je 1x32 Sockel zu Sockel bei 3,6GHz HT-Link (max)
 
Zuletzt bearbeitet:
Wenn Skyrim gespielt wird, öffne mal wenn möglich nebenbei GPU-Z den Reiter Sensoren. Meisstens sollte dort auch die VRAM-Auslastung angezeigt werden und wieviel VRAM ausgelagert ist. (idealerweise auf einem 2.ten Monitor)

Sollte der VRAM völlig voll sein und der ausgelagerte Teil jenseits der 100MB sein, verursacht die Ruckelorgie einfach der kleine VRAM. Abhilfe schaffen sollte entweder die Auflösung runter oder Texturfilter aus.
 
--- Update ---

Hm, nein, das wird es nicht sein. Habe gerade meinen PC gecheckt und wenn CPU-Z nicht schwindelt, läuft bei mir der HT auch auf ca. 1000MHz. Na prima! Dann läuft der bei mir ja auch nicht optimal. 2000MHz sollten für den HT-Link m.E. möglich sein, bei 2600 weiß ich nicht so genau. Ich suche mal weiter..
Nicht CPU-Z für die HT-Prüfung verwenden, siehe hier:
http://www.planet3dnow.de/vbulletin...eron-HT-Link?p=4943150&viewfull=1#post4943150
 
zum Thema HT-Link

AMD sagt zwar offiziel dass die 6000er Optis alle nur bis 3,2GHz HT-Link können, hat aber im BKDG auch noch 3,4 und 3,6 GHz wie auch im AGESA spezifiziert!

Naja meine beiden 2400er Systeme (2x2419 und 2x2427) laufen beide mit 1GHz HT-Link zum Chipsatz (nForce Pro 3600 + 3050) sowie 2,4Ghz untereinander; mein FX8150 läuft dagegen mit 2,6GHz HT-Link zum Chipsatz (890FX)

Im Gegensatz zu den 6000er Opterons haben die beiden 2400er 2x16er HT-Link untereinander - während die 6000er nur 1x16er Link untereinander sowie 16+8 Link auf dem Träger zwischen den beiden DIE verwendet - muss man auch nicht verstehen ....

Besser wäre: 2x32 Lanes auf Träger sowie je 1x32 Sockel zu Sockel bei 3,6GHz HT-Link (max)
Also die 6300 haben 4 Links, die 6100 haben nur 3 Links: http://www.cpu-world.com/CPUs/Bulldozer/AMD-Opteron 6386 SE - OS6386YETGGHK.html
Das kommt wohl auch auf den Mainboard Hersteller an, laut dem Bild von Tecchannel sind alle CPUs untereinander gekoppelt, sonst wäre kein 1-hop möglich. ;)
 
Irtum!

alle Opterons der 6000er Serie haben insg. 4 externe HT-Links wobei 3 Coherent sein können und der 4. nur NCH (für Chipsatz)
http://www.cpu-world.com/CPUs/K10/AMD-Opteron 6176 - OS6176WKTCEGO (OS6176WKTCEGOWOF).html
HyperTransport 3.0 technology with HT Assist and 4 HT links

Dies liegt daran, dass die Ausgangsbasis, dh zB ein Hydra-DIE auch 4 HT-Links hat

bei G34:
DIE1 hat 2 HT-Links nach außen und 2 HT-Links für DIE2
DIE1 hat 2 HT-Links nach außen und 2 HT-Links für DIE1

bei den 2400er Opterons sind 2 Coherente Links aktiviert - bei den 8400er eben 3 !
 
Irtum!

alle Opterons der 6000er Serie haben insg. 4 externe HT-Links wobei 3 Coherent sein können und der 4. nur NCH (für Chipsatz)
http://www.cpu-world.com/CPUs/K10/AMD-Opteron 6176 - OS6176WKTCEGO (OS6176WKTCEGOWOF).html


Dies liegt daran, dass die Ausgangsbasis, dh zB ein Hydra-DIE auch 4 HT-Links hat

bei G34:
DIE1 hat 2 HT-Links nach außen und 2 HT-Links für DIE2
DIE1 hat 2 HT-Links nach außen und 2 HT-Links für DIE1

bei den 2400er Opterons sind 2 Coherente Links aktiviert - bei den 8400er eben 3 !
Ok, danke für die Erklärung.
Dann Stimmt das Bild nicht, denn 1-hop egal von welcher CPU setzt 3 HT-Links voraus.
Aber da sollen sich die Leute ein Kopf machen die das auch wirklich brauchen. :)
 
Bezüglich meines eigentlichen Problems:

Ich habe nach gefühlt ewiger Suche wohl ein entscheidendes Puzzleteil gefunden. Irgendwer hatte das S4985-E und konnte es problemlos als S4985-SI flashen. Laut der Beschreibung von Tyan soll ja das S4985-E nur 1GHz HT zwischen den CPU's zulassen, während das S4985-SI ja volles HT3 gewährt.

Ich musste ja mein BIOS upgraden, damit die Istambul's erkannt wurden und mit dem nachträglichen Blick auf die BIOS-Downloadseiten habe ich wohl das S4985-E draufgeflasht.

Jedenfalls kann ich kaum das Wochenende abwarten um zu testen, ob das BIOS für das S4985-SI den erhofften Ausweg bringt. BIOS-Chips hatte ich in weiser Voraussicht schon bestellt, dass ich dann nicht immer hin und her flashen muss.

Ich werd dann auf jeden Fall berichten ;D

EDIT: Habe noch gesehen, dass ich mich wohl wirklich bei der Boardbezeichnung vergriffen habe. Das S4985-E unterstützt lt. Datenblatt nur 64GB RAM, was ich auch gekauft habe, das S4985-SI kann wohl mit 128GB umgehen. Hätt ich das vorher gelesen, hätt ich wohl auch lieber zu 128GB gegriffen ;D*buck*
 
Zuletzt bearbeitet:
Auch die BIOS-Version-Switcherei half nix. HT will mit 3 unterschiedlichen BIOS-Versionen nicht über 1GHz hinaus. Habe jetzt die Version 3.00 drauf, denn während des Hin- und Herflashens wollten die 3.02er Versionen dem RAM nicht mehr als DDR2-400 geben.

Schade..
 
Bliebe ja immer noch die Hoffnung, dass die NUMA-Problematik wenig zuschlägt, weil die Daten im RAM jenes Sockels landen, auf dem auch die Applikation dazu läuft.
Windows 7 hat meines Wissens eine Art "first touch"-Philosophie: Man hat zwei CPUs mit jeweils 2 Kernen, wobei die Kerne 0 und 1 auf CPU0 und die Kerne 2 und 3 auf CPU1 laufen. Startet man eine Applikation, welche ihre ersten Berechnung auf Kern0 abhält, werden auch alle Daten der Applikation für den Rest der Laufzeit im RAM-Bereich von CPU0 abgelegt. Man muss dann "nur" sicherstellen, dass Windows die Applikation nicht von Zeit zu Zeit auf CPU1 verschiebt.

Insofern wiederhole ich nochmal meinen Gedanken von vor ein paar Wochen: Wie misst man die Speicherbandbreite in einem NUMA-System?
Habe gerade wenig Zeit, aber man könnte sich ein kleines (C#)-Consolenprogramm zusammen schreiben, dass die Speicherbandbreite (und -latenz) "misst" und alle paar Sekunden über die Kommandozeile ausgibt. Damit kann man sich dann verschiedene Messszenarien überlegen und austesten. Momentan läuft die Diskussion etwas im luftleeren Raum, weil wir keine Ahnung haben, wie man die Speicherbandbreite überhaupt misst und wie groß nun der Einfluss von HT1.0 vs. HT3.0 ist.
 
Naja, bei HT3 1GHz (wie es bei mir der Fall ist) limitiert schon der HT gegenüber dem DDR2-667 RAM, wenn man die reinen Netto-Datenraten gegenüber stellt.
 
Der HT kommt aber erst ins Spiel, wenn man die Daten für einen Rechenthread nicht an jenem Sockel liegen hat auf dem der Thread rechnet. Arbeitet alle Kerne jedes Sockels (fast) ausschließlich in ihren eigenem RAM, sollte sich die HT-Geschwindigkeit nicht bemerkbar machen. Wollen jedoch alle auf RAM zugreifen, der an irgendeinem anderen Sockel hängt,stört die langsame HT-Verbindung noch mehr.
 
Hi,

habe heute auf der Zugfahrt was kleines in C#/.NET geschrieben - wobei eine C++ Umsetzung sicher wesentlich schneller laufen würde und damit die Hardware näher an ihre Grenzen treibt. Komm mit der Sprache aber nicht klar.

Auf meinem AMD Turion Neo X2 (K8@1,6 GHz mit DDR2-640 Dual-Channel) komme ich ca. auf 2 GB/s Lese-Datendurchsatz aus einem ca. 256 MB großem Vektor für einen Thread sowie je 1,75 GB/s wenn zwei Instanzen (mit jeweils eigenem Vektor) laufen. Laste ich den ersten Kern mit dem Speichertest sowie den zweiten mit einer kleinen (vorrangig im Cache laufenden) Angelegenheit aus, bleiben die 2 GB/s erhalten. So ganz im klaren, was ich da eigentlich messe, bin ich mir aber noch nicht, es könnte die Bandbreite des Speichers sein.

Andererseits sollte man mit 6 Threads mit je 2000 Megabytes/s den Speicherbus schon irgendwie voll kriegen, C# hin oder her. Der K8 mit den langsamen Kernen und dem dafür schnellen Speicher, ist wohl das falsche Versuchstierchen.
 
Hier ist der Quellcode des Programms. Es wurde mit SharpDevelop 3.2.0 in C# erstellt, sollte aber auch mit anderen .NET-Versionen laufen. Wer will, kann selbst compilieren oder die weiter unten verlinkte exe-Datei benutzen. Der Abbruch erfolgt mit Strg+C.

Code:
/*
 * Erstellt mit SharpDevelop.
 * Benutzer: Hauptnutzer
 * Datum: 01.11.2014
 * Zeit: 21:00
 * 
 * Sie können diese Vorlage unter Extras > Optionen > Codeerstellung > Standardheader ändern.
 */
using System;

namespace SpeicherbandbreitenMessung
{
	class Program
	{
		
		
		public static void Main(string[] args)
		{
			
			int LängeQuad = 1024*1024;
			int Wiederholungen = 4;
			
			// Begrüßungstext
			Console.WriteLine("Speicherbandbreitenmessung mit C# - R2014-11-03");
			Console.WriteLine("Ein paar Worte zum Prinzip:");
			Console.WriteLine("  Es wird ein Vektor vom Typ decimal[] geschaffen, gefüllt mit");
			Console.WriteLine("  128 Bit Gleitkommazahlen. Aus diesem wird jeder Wert sequentiell");
			Console.WriteLine("  gelesen und in eine lokale Variable gespeichert.\r\n");
			Console.WriteLine("  Aus der Zahl der Iterationen pro Zeiteiheit und der Größe");
			Console.WriteLine("  eines Elements kann auf die zur Verfügung stehende Speicherbandbreite");
			Console.WriteLine("  zurück gerechnet werden");
			Console.WriteLine("   ");
			Console.WriteLine("Zu Beginn wird die für eine ausreichend präzise Zeitmessung nötige");
			Console.WriteLine("   Vektorgröße sowie die Anzahl der Wiederholungen gesucht.");
			Console.WriteLine(" ");
			Console.WriteLine("Programm-Ende mit Strg + C");
			
			// Vektor deklarieren und instanzieren
			decimal[] Vektor1 = new decimal[LängeQuad];

			// Vektor im Speicher mit Nullen füllen
			FülleVektorMitNullen(ref Vektor1);
			
			
			// Variable über Tastendrück-Aktivität
			bool Tastegedrückt = false;
			
			// Speichernutzung
			bool MaximalenSpeicherErreicht = false;
			
			// Berechnungsstart
			Console.WriteLine("Starte Berechnung...");
			
			// Iterationsschleife
			while (!Tastegedrückt) // TODO: Tastendruck soll zu Abbruch führen
			{
				{
					
					// Startzeit merken
					DateTime StartZeit = DateTime.Now;
					// Zielvariable instanzieren
					decimal Summe1 = 0m;
					
					
					// Iterieren - Sequentiell
					{
						for (int m = 0; m < Wiederholungen; m++)
							for (int i = 0; i < LängeQuad; i++)
								Summe1 = Vektor1[i];
					}
					
					// Latenzmessung
					{
//					// Teiler ausrechnen
//					int Vorschub = 1024;
//					int MaxVorschubSchritte = LängeQuad / Vorschub;
//					// Iterierien - Stochastisch - funktioniert noch nicht
//					for (int m = 0 ; m < Wiederholungen; m++)
//						for (int u = 0 ; u < Vorschub; u++)
//							for (int i = 0; i < MaxVorschubSchritte; i++)
//								Summe1 = Vektor1[u + i*Vorschub];
					}
					
					// Berechnungsende
					TimeSpan Rechenzeit = DateTime.Now - StartZeit;
					
					// Anpassen der Rechenzeit - Ziel sind 1 bis 2 Sekunden pro Durchlauf
					{
						// Falls die Zeit zu kurz ist, Länge erhöhen
						if (Rechenzeit.TotalSeconds < 1.0)
						{
							if (!MaximalenSpeicherErreicht)
							{
								LängeQuad = LängeQuad * 2;
								// Wenn zu viele Elemente, besser nicht
								int MegaByte = Convert.ToInt32(Math.Round(16*LängeQuad/1024.0/1024.0));
								if (MegaByte > 270)
								{
									LängeQuad = LängeQuad / 2;
									MegaByte = Convert.ToInt32(Math.Round(16*LängeQuad/1024.0/1024.0));
									MaximalenSpeicherErreicht = true;
									continue;
								}
								Console.WriteLine("Rechenzeit zu kurz, nutze Vektor mit " + MegaByte.ToString() + " MegaByte");
								// Altes Array löschen und null setzen
								Vektor1 = null;
								GC.Collect();
								
								Vektor1 = new decimal[LängeQuad];
								FülleVektorMitNullen(ref Vektor1);
								continue;
							}
							else
							{
								Console.WriteLine("Rechenzeit zu kurz - Setze Wiederholungsanzahl von " + Wiederholungen.ToString() + " auf " + (Convert.ToInt32( Math.Round( Wiederholungen * 1.5 / Rechenzeit.TotalSeconds) )).ToString());
								Wiederholungen = Convert.ToInt32( Math.Round( Wiederholungen * 1.5 / Rechenzeit.TotalSeconds) );
								continue;
							}
						}
						
						
						long MegaBytesImIntervall = ( (long)Wiederholungen*16*(long)LängeQuad/1024/1024);
						Console.WriteLine("MegaBytes/s = " + ( MegaBytesImIntervall/ Rechenzeit.TotalSeconds).ToString(".0"));
						
						// Falls Rechenzeit zu lang wird -> Wiederholungen senken
						if ((Rechenzeit.TotalSeconds > 2.0) && (Wiederholungen > 5))
						{
							Console.WriteLine("Rechenzeit zu lang - Setze Wiederholungsanzahl von " + Wiederholungen.ToString() + " auf " + ( Math.Max(4, Convert.ToInt32( Math.Round( Wiederholungen * 1.5 / Rechenzeit.TotalSeconds) )) ).ToString());
							Wiederholungen = Math.Max(4, Convert.ToInt32( Math.Round( Wiederholungen * 1.5 / Rechenzeit.TotalSeconds) ));
						}
					}
				}
			}
			
		}
		


		
		private static void FülleVektorMitNullen(ref decimal[] Vektor1)
		{
			for (int i = 0; i < Vektor1.Length; i++)
			{
				Vektor1[i] = 0m;
			}
		}
		
	}
}

Eine fertig (pre)compilierte exe gibt es hier:
http://foveon.de/cp/SpeicherbandbreitenMessung_R2014-11-03.exe

Habe das testweise 2 Minuten auf einem Dual Opteron 2435 angespielt, die Maschine hatte auf allen 12 Kernen zu tun, die Speicherbandbreitenmessung war der 13te Thread mit erhöhter Priorität.
Aktiviert man die zufällige Threadverteilung von Windows 7, erreichte ich ca. 2500 MB/s (wie gesagt, 11 andere Threads rechneten derweil). An einen Kern von CPU0 gebunden erhielt ich 2700 MB/s, gehörte der Kern zu CPU1 nur noch 2200 MB/s.
Auf einem i7-2640M mit DDR3-1333 Single Channel erhielt ich( pro Thread): 8000 MB/s mit 1 Thread, je 4600 MB/s mit 2 Threads, je 3100 MB/s mit 3 Threads und je 2400 MB/s mit vier Threads. Die Werte erscheinen mir recht sinnvoll. Sicher bin ich trotzdem nicht.

Ihr könnt das ja mal auf euren (NUMA-)Maschinien ausprobieren, meine ist noch ein paar Wochen in Beschlag. Damit könnte man im laufenden Betrieb prüfen, wie stark die HT-Links (und das Speicherinterface) belastet werden, bzw. ob man das mit der Lasten- und Speicherverteilung im NUMA-System hinbekommen hat. Bisher war das für mich immer ein Blindflug. ;D
 
i7 2600K@4300 mit HT, DDR3-1600 CAS 9
ausgelastet mit 100%
Bei 8 parallel laufenden Threads im Schnitt 2500 Megabyte/s
Bei 4 Threads im Schnitt 4950
Bei 1 Thread im Schnitt 12000
ohne HT teste ich nu nicht. ;)
 
@miriquidi
:o Das werd ich mir mal ansehen, auch wenn mein FX-8350 keine NUMA Nodes hat. *buck*
Compilieren kann man ja sogar auf mehrere System im Intranet aufteilen, vor allem bei dicken Kernel ist das sehr praktisch! (Linux Gentoo)

@Sabroe SMC
Du hast zwar HT(T) aber dir fehlt der -Link. *lol*
 
Zurück
Oben Unten