dr.disk Geschrieben 1. Dezember 2007 Geschrieben 1. Dezember 2007 Hallo, ich suche Dokus zum Thema IRQ Affinität auf Mehrprozessorsystemen unter Linux. Kurze Dokus wie z.B. die Kerneldokumentation (Linux Kernel Documentation :: IRQ-affinity.txt) hab ich bereits gefunden, nur wär mir mal eine "etwas längere" Abhandlung auch ganz gelegen... Greetz Zitieren
Uni184 Geschrieben 2. Dezember 2007 Geschrieben 2. Dezember 2007 ich suche Dokus zum Thema IRQ Affinität auf Mehrprozessorsystemen unter Linux. Blöde Frage: In welcher Situtation würde man so etwas wollen? Zitieren
dr.disk Geschrieben 2. Dezember 2007 Autor Geschrieben 2. Dezember 2007 Am einfachsten erklärt sich das wohl mit einem Beispiel. Das hier ist einer unserer Server: vm01:~ # cat /proc/interrupts CPU0 CPU1 CPU2 CPU3 0: 99971792 99957049 114133802 99954721 IO-APIC-edge timer 1: 157 44 0 17 IO-APIC-edge i8042 4: 340 375 299 535 IO-APIC-edge serial 8: 204721286 204721835 204721331 233757438 IO-APIC-edge rtc 9: 1 0 0 0 IO-APIC-level acpi 12: 113 0 0 0 IO-APIC-edge i8042 14: 15399773 13493408 13496207 13489883 IO-APIC-edge ide0 169: 11735602 11893726 12807179 11978599 IO-APIC-level uhci_hcd:usb1, eth0, eth1 177: 4407154 3798346 3832176 3832993 IO-APIC-level ips 185: 0 0 0 0 IO-APIC-level uhci_hcd:usb2 193: 2 0 0 0 IO-APIC-level ehci_hcd:usb3 201: 0 0 0 0 IO-APIC-level eth2 NMI: 242729 241115 229195 240555 LOC: 412370722 412281521 412370676 412281472 ERR: 3 MIS: 0 Hierbei handelt es sich um zwei Xeons mit HyperThreading. Wenn man jetzt z.B. Interrupt 14 und 169 ansieht wäre es wünschenswert den einen auf CPU0, den anderen auf CPU2 laufen zu lassen. Somit würde sich die erste CPU um das IDE-Gerät, die zweite um die Netzwerkkarten kümmern. Sehr schön wäre natürlich auch, wenn man die beiden Netzwerkkarten eth0 und eth1 auf den beiden Prozessor-Packages verteilen könnte, also eth0 auf CPU0 und eth1 auf CPU2. Das geht hier leider nicht (liegt am Boarddesign des IBM Servers). Mir würde für den Anfang schon reichen Storage (ips, ide) auf einem Prozessor, Netzwerk auf den anderen laufen zu lassen. Um weitere Performance zu gewinnen wird evtl. auch wieder die eth2 aktiviert. Noch als weitere Erklärung zum Schluß: Es sind ja zwei Xeons mit HT, d.h. CPU0 und CPU1 sind das erste Package, CPU2 und CPU3 das zweite. Dabei ist CPU0 die "reale", CPU1 die HT-CPU (analog bei CPU2 und CPU3). Intel empfiehlt Interrupts von den realen CPUs erledigen zu lassen da diese das performanter machen - hier also CPU0 und CPU2. Eine weitere Erklärung dazu habe ich inzwischen im Internet hier gefunden: Welcome to the irqbalance website | Home Zitieren
nice2kn0w Geschrieben 2. Dezember 2007 Geschrieben 2. Dezember 2007 Tach auch, ich hoffe das hilft: http://www.cs.uwaterloo.ca/~brecht/servers/apic/SMP-affinity.txt cheers Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.