Puncte:-1

Ethernet la bord versus Intel NIC

drapel cn

Aș avea nevoie de o recomandare despre beneficiile utilizării unui card Intel Ethernet dedicat față de simpla utilizare a Ethernetului integrat al plăcii de bază. Cazul de utilizare tipic ar fi următorul:

  1. Sarcină utilă de aproximativ 100 KB per mesaj,
  2. Frecvența maximă de aproximativ 1000 de mesaje pe secundă,
  3. În mod ideal, gestionarea acestor mesaje ar trebui să consume cât mai puțin timp CPU (procesorul va fi folosit pentru calcul în timp real într-un proces paralel),
  4. Server bazat pe Linux.

Pentru soluția integrată Ethernet, aș putea avea acces la o placă de bază mainstream (nu de tip server) echipată cu un Intel I225V (integrat) sau un Realtek RTL8125BG.

Pentru soluția cu NIC extern, mă gândeam la Intel X550-T1.

Deci, care soluție ar fi mai bună?

În cazul în care un card dedicat este mai bun pentru cazul meu de utilizare, ce port PCI-express ar trebui să fie favorizat? Ar trebui ca portul folosit sa fie cat mai aproape de CPU?

Henry avatar
drapel cn
Persoanei care a retrogradat întrebarea, ați putea explica de ce?
drapel us
În trecut, am întâmpinat probleme de fiabilitate cu NIC-urile de la bord, în timp ce un card Intel PCI suplimentar a funcționat perfect.
Henry avatar
drapel cn
@TeroKilkanen Mulțumesc pentru informații. Ați putea, vă rog, să detaliați într-un răspuns ce fel de probleme ați întâmpinat?
drapel us
Probleme de performanță din cauza calității șoferului și a accidentelor.
Puncte:1
drapel cn

Pentru a compara NIC la bord cu PCIe, trebuie să utilizați același model ASIC cu același firmware pentru a elimina factorii externi. Cu această presupunere să luăm în considerare pt X550-T1 ASIC. Unii dintre factorii care afectează placa de bord vs PCIe sunt

  1. Numărul de benzi PCIe dedicate.
  2. Fire CPU NUMA care accesează NIC.
  3. Firmware disponibil pentru NIC la bord (anumiți furnizori de plăci de bază vor livra numai firmware personalizat).
  4. citiți și scrieți dimensiunea tamponului din enumerarea PCI.
  5. mod de latență scăzută (exemplu -a 0000:88:00.0,rx_low_latency=1).

Notă: toți ceilalți factori, cum ar fi memoria, procesorul, discul, I/O, UNCORE sunt toți legați de sistem sau procesor și nu afectează NIC-ul PCIe integrat față de cel extern.

Henry avatar
drapel cn
Mulțumesc pentru înțelegere. Din ceea ce ați spus, având în vedere că sunt multe necunoscute cu privire la implementarea cipului de rețea la bord, atât software cât și hardware, ar fi rezonabil să considerăm că, în medie, este mai bine să folosiți o placă externă, precum cea Intel citată mai sus , unde se cunosc driverul si firmware-ul, si unde se poate alege conexiunea (in sensul unui port PCIe rapid) ?
Vipin Varghese avatar
drapel cn
@Henry, există o placă de bază care acceptă și X710 și X550 ca NIC ASIC la bord. Prin urmare, comparația trebuie făcută cu NIC externă de familie similară, deoarece toți ceilalți factori rămân aceiași. Un bun exemplu este Intel Xeon-D unde sunt prezente 10 Gbps și 25 Gbps integrate. Pe baza cazului de utilizare, este întotdeauna mai bine să explorați, deoarece prețul și sloturile PCIe pot fi salvate cu NIC integrat cu SoC.
Vipin Varghese avatar
drapel cn
@Henry dacă găsiți răspunsul util, vă rugăm să acceptați și să votați.
Henry avatar
drapel cn
Îmi pare rău, am acceptat deja primul răspuns și, din păcate, nu am suficientă reputație pentru a vota răspunsul tău.
Vipin Varghese avatar
drapel cn
@Henry mulțumesc pentru actualizare. Sper că sunteți clar diferențele dintre onboard și extern pentru aceeași interogare ASIC?
Puncte:1
drapel cn

Nu există o diferență de latență între NIC integrat și dedicat. Ambele folosesc PCI-express. Probabil că NIC-ul dedicat va fi conectat la controlerul intern PCI-e din CPU. NIC integrată la bord poate fi conectată la controlerul integrat al chipset-ului, nu direct la procesor. Dar diferența de latențe de transmitere a datelor de la NIC la memorie este aproape absentă.

Dacă vă pasă cu adevărat de performanță și latența procesării, verificați următoarele puncte:

  • NIC-urile utilizează DMA pentru a transmite date către memoria principală, deci folosiți memoria cu cea mai mare frecvență
  • Versiunea mai nouă de PCI-e este mai bună (mai multă viteză - mai puțin timp pentru transmiterea datelor)
  • Frecvența procesorului este mai importantă decât numărul de nuclee.
  • În sistemele NUMA datele ar trebui procesate la un nod local.
  • Nu uitați să dezactivați funcțiile de economisire a energiei
  • Utilizați software-ul cu kernel-bypass-ul ca Intel DPDK
  • Citiți despre Smart-NIC sau DPU bazat pe FPGA pentru a descărca procesarea

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.