Puncte:2

Cum se transferă RDMA între două servere fără CPU?

drapel mx

Am citit despre RoCE și se vorbește despre transferul de date zero copie între memoria dintr-un server direct în memoria unei aplicații de pe alt server. Majoritatea articolelor faceți un punct să spuneți că acest lucru se face fără implicarea CPU. Nu înțeleg însă cum se realizează asta. Cum ajung datele de la adaptor la RAM fără nicio procesare de la CPU? Cum știe unde sunt datele aplicației în RAM?

djdomi avatar
drapel za
Ei bine, furnizați materiale de învățare sau cererile în afara subiectului, începeți să citiți Wikipedia https://en.m.wikipedia.org/wiki/Remote_direct_memory_access care explică cel mult toate întrebările secundare pe care le aveți în prezent
Puncte:3
drapel cn

I think you misunderstand "without CPU". It does not mean the CPU is not involved at all - it just means that the CPU is not doing the copying. It does - via drivers - the setup of the copy operation and then the hardware does the actual processing.

Your link says so VERY explicitly - just read it:

RDMA supports zero-copy networking by enabling the network adapter to transfer data directly from the wire

That is the copy operation, not the setup. Someone has to tell the network adapter.

Understand that modern networks where this really does shine are 100+ gigabit - 10 gigabyte+ - per second, often multiple lines combined, with high end these days being 400gigabit.

That is a lot - for the CPU to read from RAM, loop over it then send it to the Adapter, when you could just tell the adapter which memory to read and send.

But again, "no involvement" is not "no CPU at all", it is "CPU is not copying the data". It still does all the control.

drapel br
Ai dreptate 100% (ca de obicei Tom ;) ) - L-am folosit vreodată doar pe Infiniband ca RDMA, mai degrabă decât ROCE, dar este ciudat cât de puțin impact ai pe CPU, există așa cum spui, dar este un tehnologie minunată - și, desigur, permite partajarea blocurilor de memorie între multe servere - utilă pentru lucruri precum coerența cache-ului. De asemenea de încredere!
Grant Curell avatar
drapel mx
Deci, în acest caz, CPU-ul va furniza în continuare o adresă de citire/scriere NIC-ului, NIC-ul va transfera apoi datele de pe fir către adresa specificată în memorie direct?
drapel cn
Da. Rețineți că, în funcție de modul în care este configurat hardware-ul, dispozitivele pot mapa spațiul tampon în spațiul de memorie. Ai înțeles ideea? De parcă ați putea avea un buffer de citire PE NIC pe care apoi controlerul de stocare îl citește direct. Există o grămadă de lucruri în high end - adică RAID 5/6. Acum există plăci de rețea care pot face calculul. De ce? Deoarece RAID 6 poate menține discuri pe mai multe servere.

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.