Posle teksta o 10 GbE Ethernet mrežama i optici objavljenog u PC#269 stvari su se događale veoma brzo - brojni komentari čitalaca i kolega uverili su nas da za ovu oblast postoji značajno interesovanje. Zato nastavljamo priču...
U prvom tekstu paralelno smo se bavili dvema temama: primenom optičkih kablova za prenos podataka i eksperimentalnom 10 GbE mrežom. Stali smo otprilike na tački gde je mreža proradila, ali njene performanse nisu bile zadovoljavajuće. Sada idemo dalje – da vidimo šta još treba znati o optičkim kablovima i kako bolje optimizovati rad lokalne 10-gigabitne mreže.
Izazovi optičkih kablova
U prethodnom tekstu opsežno smo se bavili optičkim kablovima koji premošćavaju velika, čak i prekookeanska rastojanja, ali vredi pomenuti i kablove koji se danas koriste u data centrima. Jasno je da su tu rastojanja razmerno mala, posebno kada se radi o vezama unutar rack ormana. Ti kablovi nisu nužno optički: koriste se bakarne (DAC, Direct Attach Copper) i optičke (AOC, Active Optical Cable) veze, na čijim su krajevima fabrički ugrađeni SFP+ moduli; korisnik bira samo dužinu kabla. Postoje varijante ovih kablova prilagođene raznim brzinama prenosa podataka, dakle 10G SFP+, 25G SFP28, 40G QSFP+ i 100G QSFP28.
Svako od ovih rešenja ima prednosti i mana. DAC kablovi su osetljiviji na smetnje (EMI) i troše više struje, pa se u praksi dešava da linijski drajver na Ethernet portu bude preopterećen, što dovodi do pada linka i greški u prenosu koje je teško dijagnostikovati. Sve lepo radi dok se link ne optereti značajnijim saobraćajem, a onda počnu problemi, koji se naročito javljaju kod jeftinijih switch-eva, a svi znamo da je na našem tržištu cena često glavni adut, što opet ide u prilog DAC kablovima koji koštaju znatno manje. I AOC kablovi troše struju, ali je ta potrošnja značajno manja, čime je problem rešen.
Ozbiljan problem kod optičkih kablova i konektora je čistoća: trunčica prašine koja se zalepi na optički konektor može da dovede do značajnog slabljenja signala a onda i do grešaka u prenosu podataka. U praksi se dešavalo da prljav konektor unosi slabljenje od 15 dB, što je dovodilo do velikog broja grešaka koje su eliminisane jednostavnim čišćenjem konektora. Nezgodno je što takvu prljavštinu nije lako videti golim okom – potreban je namenski konstruisani mikroskop (slika 1). Relativno često se dešava da se prašina „uvuče“ u konektor na patch panelu tokom rada mreže, što takođe zahteva čišćenje.
Pomenimo i važnu temu kod postavljanja optičkih kablova – savijanje. Kod bakarnih veza navikli smo da nema problema ako kabl savijemo pod uglom od 90 stepeni da bismo ga provukli kroz zid. Kod optičkih kablova takvu slobodu nemamo: ako suviše savijemo kabl, svetlost će da „pobegne“ iz njega, što će dovesti do slabljenja signala i najzad do prekida komunikacije, iako je sam kabl fizički ispravan. Ovaj efekat može veoma lepo da se vidi ako optički kabl povežete na izvor vidljive crvene svetlosti, pa ga blago savijate, kao na slici 2. U nekom trenutku videćete da se svetlost probija čak i kroz zaštitni plastični omotač kabla. Dakle, pri realizaciji kablovske infrastrukture treba biti veoma pažljiv, a testiranje mora da bude precizno.
Optičke komponente, kako pasivne tako i aktivne, mogu da degradiraju tokom vremena. Na slici 3 je predstavljen nivo optičkog signala na predaji 10 Gbps interfejsa (plava boja). Vidi se da je predajna snaga tokom vremena padala što može u krajnjem slučaju da dovede i do prekida komunikacije. Razlozi za degradaciju kvaliteta mogu da budu loš proizvodni proces, pregrevanje tokom rada, pa i naprosto loše komponente. Slično se može desiti i sa pasivnim komponentama poput optičkih multipleksera, što je ilustrovano na slici 4. Ukratko, jeftinije rešenje može posle nekog vremena da postane značajno skuplje, ako treba tražiti problem i onda menjati komponente.
Teorijski maksimum
Kolike brzine da očekujemo na 10 GbE mreži? Brzina prenosa podataka se može približiti teorijskom maksimumu od 1.25 gigabajta u sekundi, ali može biti i značajno manja. Važan parametar (na L2 nivou) koji određuje kolika će brzina biti postignuta je veličina Ethernet paketa. Sa slike 5 se vidi da kraći paketi bitno obaraju performanse – paketi dugi samo 64 bajta obaraju brzinu na oko 7.6 Gbps, dok paketi dužine 600 bajta obezbeđuju 9.68 Gbps. Ovde govorimo o protoku na Ethernet nivou. Da bi naši podaci bili poslati preko mreže, oni moraju da budu „upakovani“ u neke protokole koji uvode dodatni overhead, tako da efektivni protok postaje još manji. Na TCP nivou, samo zbog dodatnog overhead-a, protok sa paketima dužine 600 bajta pada na 9.05 Gbps, a sa minimalnim paketima dužine 64 bajta pada na sasvim skromnih 2.86 Gbps.
Porastom fizičkog protoka na mreži dolazi do izražaja i ograničenje TCP protokola. Maksimalni protok za TCP konekciju opada kako se povećava RTT kašnjenje (latencija), što treba ozbiljno uzeti u obzir kod povećanja protoka kroz mrežu. Zato kod preciznih merenja treba koristiti UDP protokol i namenski softver kao što je iPerf (iperf.fr).
Bitan elemenat za dobijanje maksimalnih performansi komunikacije jeste interna arhitektura računara. Pošto 10 GbE mrežni interfejs sa ostatkom računara komunicira preko PCIe magistrale, njegova propusna moć i broj ostalih uređaja koji je koriste postaju bitan elemenat za razmatranje. Protok od 10 Gbps postaje uporediv sa taktom rada procesora. To znači da i način opsluživanja interapta koji stižu sa mrežne kartice postaje bitan, jer loše setovani parametri operativnog sistema mogu značajno da utiču na propusnu moć mrežnog interfejsa. Optimizacija u nekim scenarijima može da napravi pravo malo čudo.
Ista mreža, novi NAS
Vratimo se sada na našu konkretnu kućnu mrežu u kojoj je i dalje jedan snažan i moderan PC vrhunskih performansi sa Samsung M.2 970 PRO SSD-om i Supermicro AOCSTGNI1S 10 GbE adapterom, jedan nešto stariji PC server sa Samsung 860 EVO 512 GB SSD-om, diskovima u RAID-u 5, te sličnim 10 GbE adapterom, kao i jedan QNAP NAS uređaj sa ugrađenom QNAP-ovom 10 GbE karticom. Sve to je optičkim kablovima vezano na MikroTik CRS32824P4S+RM switch. Razlika u odnosu na prethodna merenja je što smo prešli na novi QNAP TS-932X sa 8 GB memorije i ugradili u njega četiri veoma brza WD hard-diska kapaciteta po 12 TB povezana u RAID 5.
QNAP TS-932X je zgodan utoliko što obezbeđuje čak osam fioka za SSD i hard diskove – ostalo je dovoljno mesta za ekspanziju, što smo koristili za ugradnju SSD-ova. Isprobali smo razne varijante korišćenja samo hard-diskova, samo SSD-ova u RAID 0 i RAID 1 režimu, i najzad ono najzanimljivije: korišćenje hard-diskova za skladištenje podataka, a SSD-ova za keširanje te komunikacije. Ako smatramo da još neko vreme nećemo imati luksuz korišćenja samo SSD-ova za velike arhive podataka, keširanje može da predstavlja prečicu do velikog skladišta podataka superiornih performansi.
QNAP-ov operativni sistem QTS obezbeđuje niz režima zaštite podataka, od kojih smo mi koristili najjednostavniji, bez raznih snapshot-ova koji štite podatke od ransomware-a i sličnih opasnosti, po cenu izvesnog gubitka performansi; želeli smo najbrži prenos podataka koji hardver omogućava. Zanimljivo je da kod keširanja uz pomoć dva SSD-a QNAP „snažno sugeriše“ (ako nećete tako da radite, nateraće vas čak da kucate administratorsku lozinku kojom potvrđujete odluku) da oni budu u mirror a ne u stripe konfiguraciji; jeste, stripe bi obezbedio brži rad, ali bi podaci bili ugroženi u (krajnje neverovatnoj) situaciji da jedan od keš-diskova otkaže pre nego što je njegov sadržaj prepisan na hard-diskove.
U realnim uslovima
Merenje smo obavili na „korisničkom nivou“, dakle prenoseći podatke iz Total Commander-a; najzad, to je ono što korisnika realno i zanima. U raznim smerovima smo prenosili MKV fajl dužine oko 19 GB (preciznije rečeno, 20.316.573.430 bajta) kao i folder koji je sadržao 1530 fajlova raznih dužina, od ukupno 13.475.278.848 bajta ili oko 12,5 GB. Jasno je da se kod prenosa većeg fajla dobijaju bolje performanse, ali je u realnosti često potrebno prenositi niz manjih datoteka.
Najvažniji rezultati testiranja dati su u tabeli 5. Najbolji rezultat od 1100 MBps, blizak teorijskom limitu 10 GbE mreže, postigli smo kada su podaci kopirani sa NAS-a čiji su SSD-ovi bili u stripe-u na PC-jev NVMe. U suprotnoj varijanti tog scenarija postigli smo 820 MBps, što je takođe veoma solidno: fajl od 20 GB se prenese za 25 sekundi. Možda bismo i tu postigli više da su u PC ugrađena dva NVMe diska u stripe-u.
U uslovima realne eksploatacije, gde se podaci skladište na hard-diskove, brzine su manje ali i dalje visoke, naročito kada se radi o čitanju fajlova sa NAS-a. Rezultati dobijeni keširanjem su neočekivani – kod upisa podataka na NAS keširanje je ubrzalo proces, mada ne značajno, dok ga je kod čitanja usporilo iz nejasnih razloga. Doduše, kada bi se sledeći put čitali isti podaci, brzina je skakala na oko 518 MBps, što može biti značajno u nekim scenarijima rada. Imalo bi smisla dodatno eksperimentisati sa raznim parametrima keširanja.
Sateliti ili optika?
Poslednjih meseci puno se govori o Starlink satelitima, redovno vidljivim i na našem nebu, koji će uskoro obezbediti brz pristup Internetu sa bilo koje tačke na Zemlji. Mnogi se pitaju zašto bi neko, osim korisnika u ruralnim oblastima, uopšte i pomišljao na takvu alternativu, kad se zna da je satelitski Internet daleko sporiji od Interneta preko optičkih kablova. Naučili smo to još davnih devedesetih godina. Ipak...
Za početak, sateliti na koje su nas devedesetih navikli Beotel, Infosky i drugi provajderi su u znatno višoj orbiti, na oko 35.700 kilometara iznad Zemlje – dok signal ode do tamo i vrati se do Web servera kome pristupamo, pređe nekih 72.000 kilometara, za šta je svetlosti potrebno 0,24 sekunda. Onda server vrati sadržaj, prođe još 0,24 sekunda, što u realnim slučajevima daje latenciju reda 500-600 milisekundi. Musk-ovi sateliti su u znatno nižoj orbiti, na oko 550 kilometara iznad Zemlje, dakle svetlost do tamo stiže za 0,1 ms, što bi moglo da rezultuje latencijama reda 12 ms ili manje (još niko nije imao prilike da izmeri). No i to je svakako više nego kad svetlost putuje optičkim kablovima koji ne moraju da se penju u svemir, zar ne? Da... ali ne baš sasvim, pošto brzina svetlosti nije ista.
U školi smo učili da je jedan od postulata Ajnštajnove Specijalne teorije relativnosti da je „Brzina svetlosti ista za posmatrače iz svih inercijalnih referentnih sistema“, ali to ne znači da je brzina svetlosti uvek ista. U vakuumu svetlost se kreće brzinom 299.792 kilometra u sekundi (obično zaokružujemo na 300.000 km/s), ali je brzina u drugim sredinama manja. Konkretno, brzina svetlosti u staklu (a optički kablovi su zapravo staklo) je „samo“ oko 200.000 km/s: merenja su pokazala da signal putuje optičkim kablom brzinom 204.190 km/s, što je uporedivo sa brzinom kretanja kroz bakarni kabl. Dakle, ako je dužina optičkog kabla od Australije do zapadne obale USA oko 13.000 kilometara, signalu (svetlosti) je potrebno 6,4 milisekunda da pređe tu razdaljinu. Kada se radi o satelitima, signal se kreće kroz vazduh i tada je njegova brzina tek nešto manja nego u vakuumu (299.702.547 m/s). Pa sad vi crtajte razne putanje i računajte vremena, i videćete da satelitski Internet ponovo ima smisla.
Ne sumnjamo da će u narednom periodu optički kablovi i dalje prenositi najveći deo globalnog Internet saobraćaja, ali su i alternativni kanali svakako vredni razmatranja.
Utisci
Podaci uvek mnogo govore, ali je važan i lični utisak, kako čovek percipira postignute brzine. Posle pola godine svakodnevnog rada u 10 GbE mreži, može da se kaže – veoma dobro. Brzina je nekad 500, nekad 800 ili 1100 MBps, ali je uvek mnogo veća nego u ranijoj 1 Gbps mreži, gde je dostizala „samo“ 115 MBps – rad sa fajlovima od 10, 20 ili 30 GB sada je gotovo prijatan, bez suvišnog čekanja i bez razmišljanja da li ćete ili nećete da ga prenosite da biste, recimo, napravili backup pre neke potencijalno štetne operacije. Sve to radi brzo, pouzdano i ubrzo osetite da ste podigli komunikaciju na sledeću stepenicu uz prihvatljive troškove. Jedva čekamo 100-gigabitni Ethernet!