Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Sven Ubik, CESNET Přenosy velkých objemů dat v rozlehlých vysokorychlostních sítích.

Podobné prezentace


Prezentace na téma: "Sven Ubik, CESNET Přenosy velkých objemů dat v rozlehlých vysokorychlostních sítích."— Transkript prezentace:

1 Sven Ubik, CESNET Přenosy velkých objemů dat v rozlehlých vysokorychlostních sítích

2 End-to-end performance End-to-end performance je výsledkem interakce všech komponentů v komunikační cestě: - aplikace, operační systém, komunikační protokoly, síťový adaptér, síť Suboptimální konfigurace vs. principiální omezení komponentů Vybrané oblasti problémů: - Konfigurace paměti pro TCP okénka - Interakce operační systém / síťový adaptér - Interakce SSH / TCP

3 Flow control & congestion control Flow control (rwin) - přizpůsobení k rychlosti přijímače Congestion control (cwnd) - přizpůsobení k volné kapacitě sítě

4 TCP okénko a dosažitelná propustnost TCP okénko => objem dat přenesený za RTT Default: 64 kB + 50 ms RTT (Evropa) => 10.5 Mb/s 64 kB ms RTT (USA) => 3 Mb/s Odstranění limitace TCP okénkem: 1 Gb/s + 50 ms RTT => TCP okénko 6 MB 1 Gb/s ms RTT => TCP okénko 21 MB

5 Konfigurace paměti pro TCP okénka Ručně pro všechna spojení (2 MB, Linux 2.4): sysctl -w net/ipv4/tcp_rmem=„ “ sysctl -w net/ipv4/tcp_wmem=„ “ sysctl -w net/ipv4/tcp_mem=„ “ Ručně pro jedno spojení: int size= ; setsockopt(sockfd, SOL_SOCKET, SO_RCVBUF, (char *)&size, sizeof(int)); setsockopt(sockfd, SOL_SOCKET, SO_SNDBUF, (char *)&size, sizeof(int)); (Polo-) automaticky: - DRS (Dynamic Right Sizing) - WAD (Work Around Daemon) - web100

6 Skutečná velikost paměti a okének Linux 2.4: Zadaná vs. indikovaná vs. skutečná velikost bufferů a okének

7 CESNET  UNINETT (Norsko), 45 ms RTT TCP okénko a dosažená propustnost

8 Velké TCP okénko => aplikace může předat velkou dávku dat Plná txqueue => send_stall() a přepnutí kontextu OS Není problém, pokud txqueuelen stačí do získání kontextu Interakce OS / síťový adaptér Pro Gigabit Ethernet a standardní systémový časovač Linuxu: txqueuelen > 1 Gb/s * 10 ms / 8 bits / 1500 bytes = 833 packets ifconfig eth0 txqueuelen 1000

9 Interakce OS / síťový adaptér (2)

10 “wire pipe” vs. “buffered pipe” TCP je self-clocking, ACK rate => SEQ rate Aktuální okénko vysílače roste i za cenu plnění front směrovačů Naplněné fronty + cross-traffic => citlivost na přeplnění Detekce „wire pipe“ podle nárůstu BW nebo RTT rwnd<=pipe capacity bw=rwnd/rtt rwnd>pipe capacity bw~(mss/rtt)*1/sqrt(p) Flat lower bound RTT=45ms Fluctuations up to RTT=110ms Bottleneck installed BW=1 Gb/s Buffer content ~8 MB

11 TCP cache malé počáteční ssthresh blokuje okénko na ~ 1.45 MB sysctl -w /proc/sys/net/ipv4/route/flush=1 vývoj owin vývoj cwnd

12 Měření a odhad volné kapacity iperf TCP - náročná konfigurace UDP - stresuje stávající provoz (TCP unfriendly) pathrate instalovaná kapacita trasy vykazuje mnoho fluktuací pathload volná kapacita trasy po vyladění časových konstant pracuje na většině vysokorychlostních tras do cca 800 Mb/s 2/3 měření realistické výsledky, rozsah až 150 Mb/s

13 Měření a odhad volné kapacity uninett.no  cesnet.cz

14 SSH performance Cesnet  Uninett 10.4 Mb/s 9% load CPU vývoj sekvenčních čísel - rwin (okénko přijímače) není využito

15 SSH performance (2)

16 SSH performance (3) Bw=1 Gb/s, RTT=45 ms, TCP window=8 MB, Xeon 2.4 GHz

17 CHAN_SES_WINDOW_DEFAULT =40 * 32 kB blocks, 85% CPU load vývoj sekvenčních čísel - rwin (okénko přijímače) je využito SSH performance (4)

18 Závěr Rozlehlé vysokorychlostní sítě vyžadují => velká TCP okénka => další konfiguraci (txqueuelen, TCP cache,...) Optimální TCP okénko = „wire pipe“, obtížně dosažitelné Úprava SSH nutná pro dobrou propustnost Konfigurace a interakce komponentů komunikační trasy má na zásadní vliv na výslednou propustnost


Stáhnout ppt "Sven Ubik, CESNET Přenosy velkých objemů dat v rozlehlých vysokorychlostních sítích."

Podobné prezentace


Reklamy Google