Re: Anfrage Multi-Prozessoren in FreeBSD

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Fri, 28 Oct 2011 13:00:55 +0200 (CEST)

Bernd Walter wrote:
> O. Hartmann wrote:
> > Factum est: Von Supermicro gibt es ein System mit insgesamt 8 CPU
> > Sockeln, die mit 10-Kern XEONs der Westmere-generation bestückt werden
> > können und somit 80 physikalische und 160 virtuelle CPus bieten. Und
> > genauso ein System wird wohl auch von einem FreeBSD 8 oder 9 angefeuert,
> > wie man mir versicherte.
>
> Das ist aber für die meisten hier immer noch sehr theoretische Hardware.

Für daheim sicherlich. Aber im professionellen Bereich wird
die 32er-Grenze, die FreeBSD 8 noch hat, längst geknackt.
Ich hatte beruflich schon vor Jahren Kisten unter meinen
Fingern, die sechs Prozessoren mit je vier Kernen hatten,
plus Hyperthreading macht das 48. FreeBSD wurde darauf
nicht installiert (aber das hatte andere Gründe).

Man könnte natürlich Hyperthreading abschalten, was aber
durchaus in vielen Fällen die Performance verschlechtert.
Es wird gerne immer wieder geschrieben, dass Hyperthreading
eh nicht viel brächte, aber das stimmte vielleicht früher
mal, als es noch in der Kinderschuhen steckte, und auf
Singlecore-Systemen, wo man ohne Hyperthreading auf den
ganzen SMP-Overhead verzichten konnte. Aber heute stimmt
das nicht mehr. Moderne Prozessoren haben viele Komponenten
(Register, Queues, Adressdecoder usw., sogar ALUs) mehrfach
pro Kern; das einzige, was sich die HTT-Threads teilen
müssen, sind im wesentlichen die Execution-Unit, der Cache
und die externen Datenpfade bzw. Interconnects.

Da die Performanceverbesserungen durch Erhöhung der Takt-
frequenzen stagniert, geht der Trend ganz klar zu mehr
Parallelität, also mehr Prozessoren und/oder Kerne. Das
wird auch in Zukunft so weitergehen, und ich bin froh,
dass FreeBSD ab 9.x da mitspielt. Sonst gäbe es ein echtes
Problem. Aber das kann nur der Anfang sein; weitere
Verbesserungen sind nötig, um solche Systeme besser zu
nutzen und zu skalieren. FreeBSD muss sich bemühen, den
Anschluss nicht zu verlieren.

> > Derzeit kann mit einer Kernelvariable die maximale Anzahl CPUs
> > eingestellt werden und ist, meines Wissens, auf 256 gesetzt.

Siehe meine vorherige Mail in diesem Thread. Der Ausgangswert
hängt von der Plattform ab, bei amd64 ist es 64. Nötigenfalls
kann man ihn in der kernel-config heraufsetzen. 256 halte ich
als Default für übertrieben; die meisten werden nicht so viel
brauchen (mein AMD-Phenom daheim hat "nur" sechs Kerne), und
ein zu hoher Wert verschwendet unnötig viel Speicher für die
ganzen Verwaltungsstrukturen des Kernels, deren Größe sich am
MAXCPU-Wert orientieren.

> GPU-Hardware hat keine Serverqualität, sondern ist Konsumerhardware.

In letzter Zeit mal in die Top-500-Liste der Supercomputer
geschaut? Etliche davon nutzen GPUs für Berechnungen, oder
es ist eine Aufrüstung auf Systeme mit GPUs geplant. Um
nur mal einen bekannten herauszupicken, den "Jaguar" des
ORNL (aktuell auf Platz 3):

http://www.theregister.co.uk/2011/10/11/oak_ridge_cray_nvidia_titan/

Natürlich läuft da Linux drauf ...

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart
FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd
(On the statement print "42 monkeys" + "1 snake":)  By the way,
both perl and Python get this wrong.  Perl gives 43 and Python
gives "42 monkeys1 snake", when the answer is clearly "41 monkeys
and 1 fat snake".        -- Jim Fulton
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 28 Oct 2011 - 13:01:17 CEST

search this site