Dell R815: 4 * 12 != 8 * 6

Som jeg tidligere har nævnt roder jeg med et projekt til ESO's ELT teleskop der involverer et 240 core "mini-cluster".

Til det har vi indkøbt fem stk Dell R815 med AMD 6174 Opterons i.

BIOS'en fortæller glædestrålende min FreeBSD kerne at der er 4 grupper af CPU'er med 12 i hver gruppe og min kerne laver lidt NUMA optimering på den basis.

Men passer det ?

Jeg kører en test lige nu, for at se hvor meget magi der skal til at sende 500 pakker i sekundtet indenfor et +/- 10 mikrosekunders jittervindue og som en del af de forskellige tweaks har jeg prøvet at låse processen fast til forskellige CPU'er.

Jeg får et jitter billede for cpu 0...5 og et andet for cpu 6...47.

Skummelt.

Da jeg nærlæste lidt om CPU'en hos Anandtech dukker dette billede op:

Illustration: Privatfoto

Det ligner ret meget at man har taget to seks-core chips og klistret dem sammen, bemærk særligt de to HT-links ryg-mod-ryg midt på chippen.

Det forklarer helt klart hvad jeg ser i min test.

Men: Betyder det at L3 cachen også er todelt, eller er den virkelig shared mellem alle 12 cores ?

Det ligner i mistænkelig grad to separate L3 caches her hvor jeg sidder...

Og hvordan får man Dell til at rette deres BIOS så den siger "8 grupper med hver 6 cpu'er" istedet for "4 grupper med hver 12 cpu'er" ?

phk

Kommentarer (10)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
#2 Hans Henrik Happe

Vi har samme maskine med BIOS v. 1.31, som dog kører CentOS 5.6. Den ser et 8*6-core system. Den ser dog ingen forskel på distancen ved intern og extern HT, hvilket der jo fysisk er.

numactl --hardware

available: 8 nodes (0-7) node 0 size: 24216 MB node 0 free: 2935 MB node 1 size: 24240 MB node 1 free: 515 MB node 2 size: 24240 MB node 2 free: 410 MB node 3 size: 24240 MB node 3 free: 216 MB node 4 size: 24240 MB node 4 free: 366 MB node 5 size: 24240 MB node 5 free: 362 MB node 6 size: 24240 MB node 6 free: 252 MB node 7 size: 24240 MB node 7 free: 571 MB node distances: node 0 1 2 3 4 5 6 7 0: 10 16 16 22 16 22 16 22 1: 16 10 16 22 22 16 22 16 2: 16 16 10 16 16 16 16 22 3: 22 22 16 10 16 16 22 16 4: 16 22 16 16 10 16 16 16 5: 22 16 16 16 16 10 22 22 6: 16 22 16 22 16 22 10 16 7: 22 16 22 16 16 22 16 10

  • 0
  • 0
#6 Rune Juhl Jacobsen

Og hvordan får man Dell til at rette deres BIOS så den siger "8 grupper med hver 6 cpu'er" istedet for "4 grupper med hver 12 cpu'er" ?

Jeg er ikke specielt meget fan af idéen (man burde ikke skulle ty til den slags), men hvad med at prøve Twitter? Du er i forvejen lidt en "internet celebrity", så det kan være at det kan lykkes dig at skabe nok opmærksomhed omkring det til at Dell vil tage det seriøst.

  • 0
  • 0
#7 Jesper Frimann

Hvis Dell skulle ændre bios'en således, at man på nogen måde ville kunne fortolke maskinen, som værende ikke en 4 socket maskine (4 grupper) men en 8 socket (8 grupper) maskine ville der nok være nogle driftige sælgere hos nogle af de software firmaer (nutidens landevejsrøvere), hvis software sælges til R815'eren, der vil påstå at det så er en 8 socket maskine og ikke en 4 socket maskine. Derfor vil de påstå at man skal betale eksorbitant mere i licens. Så derfor ville jeg nok bruge ord som 'at partitonere Chippen i 2 logiske Chips for optimal performance etc. etc. når du snakker med Dell. For paranoide hensyn til ting som ovenstående, har det med at tage præcedens over valide tekniske argumenter, som dem du fremfører :)

// Jesper

  • 5
  • 0
#8 Morten Andersen

Jeg mener det i Linux (og sikkert også FreeBSD) er muligt at komme med en boot option der overrider ACPI-tabellerne med et image man selv vælger. På den måde er det muligt selv at rette i tabellerne (ved at dumpe BIOS'ens ud, disassemble, rette, assemble, override).

Men ja, jeg tror også man kan få informationen om CPU-sammensætningen direkte via et passende antal kald til CPUID ;) Prøv at google: Intel CPUID topology.

  • 0
  • 0
#10 Nikolaj Brinch Jørgensen
  • 0
  • 0
Log ind eller Opret konto for at kommentere