Tvrtka Google je najavila otvaranje tehnologije prijenosa podataka Falcon (hardware transport, hardverski ubrzani transportni nivo) i prebacivanje njenog daljnjeg razvoja u projekt Open Compute, usmjeren na zajednički razvoj otvorenih specifikacija hardvera za opremanje data centara. Falcon se predstavlja kao Ethernet sljedeće generacije, sposoban povećati propusnost i poboljšati učinkovitost prijenosa podataka u postojećim standardnim mrežama zasnovanim na Ethernet-u i TCP/IP-u, koje su kritične za propusnost i kašnjenja, poput mreža za sustave visokonamjenskih računalnih operacija i umjetne inteligencije.
Protokol se skalira do mreža data centara i osmišljen je za pružanje predvidive visoke izvedbe, niskih kašnjenja, fleksibilnosti i proširivosti. Podrška za Falcon prva će se osigurati u mrežnim akceleratorima serije Intel IPU E2000 (Infrastructure Processing Unit), koji kombiniraju Ethernet adapter s programabilnim procesorom, na koji se mogu prebaciti operacije obično izvršavane na strani mrežnog staka ili sustava, kao što su upravljanje prometom, kontrola zagušenja i analiza visokorazinskih protokola.
Za postizanje niskih kašnjenja u visok brzim Ethernet mrežama koje dopuštaju gubitak paketa, Falcon koristi tri načela: detaljno mjerenje kašnjenja između slanja zahtjeva i primanja odgovora (RTT, round-trip time), hardverski implementirano smanjivanje prometa vezano uz pojedinačne tokove i brze i precizne ponovne prijenose paketa. Ove karakteristike dopunjene su sredstvima za istovremeni pristup kroz više kanala (Multipath) i podrškom za šifriranje veza.
U implementaciji Falcon korištene su sljedeće tehnologije:
- Carousel — mehanizam za ograničavanje prometa (Traffic Shaping), koji omogućava regulaciju propusnosti i intenziteta protoka paketa za pojedinačne hostove.
- Snap — mrežni podsustav temeljen na mikrojezgru, koji se može proširiti pomoću modula, kroz koje se može dodati dodatna funkcionalnost, na primjer, dodati funkcije mrežne virtualizacije, ograničenja prometa i dostave poruka.
- Swift — mehanizam upravljanja preopterećenjem (Congestion Control) za mreže razine podatkovnog centra, koji omogućava postizanje latencija manjim od 50 mikrosekundi za kratke RPC poruke uz održavanje propusnosti od 100 Gbps na server opterećenju blizu 100%.
- RACK-TLP — algoritam za prepoznavanje gubitka paketa za TCP.
- PLB — mehanizam ravnoteže opterećenja koji koristi signale o preopterećenju. Nakon uvođenja PLB u mrežama Googlea, neravnoteža opterećenja na preklopnicima je snižena za 60%, gubitak paketa smanjen je za 33%, a latencije u dostavi kratkih RPC poruka smanjene su za 25%.
- CSIG (Congestion Signaling) — protokol za razmjenu telemetrije koji se koristi za slanje signala o preopterećenju i pri upravljanju prometom.
- PSP (PSP Security Protocol) — protokol za šifriranje prometa.
Falcon koristi RDMA i NVM Express kao protokole viših razina, ali također omogućuje dodavanje podrške za dodatne protokole viših razina u obliku ekstenzija. Funkcionalnost Falcona definiraju tri razine: razina za mapiranje s protokolima viših razina (ULP Mapping), razina transakcija i razina dostave paketa. Na prvoj razini vrši se upravljanje protokom, obrada poruka i mapiranje na više razine. Na drugoj razini vrši se planiranje, upravljanje resursima i redoslijed. Na trećoj razini vrši se upravljanje preopterećenjem, ograničenje prometa, održavanje pouzdanosti i simultana upotreba različitih kanala (Multipathing).

Izvor: opennet.ru
