Google ujawnili technologię przesyłania danych Falcon

Firma Google ogłosiła otwarcie technologii przesyłu danych Falcon (hardware transport, sprzętowo przyspieszony poziom transportu) oraz przeniesienie dalszego rozwoju do projektu Open Compute, nastawionego na wspólne tworzenie otwartych specyfikacji sprzętu do wyposażenia centrów danych. Falcon jest prezentowany jako Ethernet nowej generacji, zdolny do zwiększenia przepustowości i poprawy efektywności przesyłu danych w istniejących standardowych sieciach opartych na Ethernet i TCP/IP, które są krytyczne pod względem przepustowości i opóźnień, takich jak sieci dla systemów obliczeń wysokiej wydajności i sztucznej inteligencji.

Protokół jest skalowalny do sieci centrów danych i zaprojektowany z myślą o zapewnieniu przewidywalnej wysokiej wydajności, niskich opóźnieniach, elastyczności i rozszerzalności. Wsparcie dla Falcon będzie początkowo zapewnione w akceleratorach sieciowych serii Intel IPU E2000 (Infrastructure Processing Unit), łączących adapter Ethernet z programowalnym procesorem, na który można przenieść operacje zwykle wykonywane po stronie stosu sieciowego lub systemu, takie jak zarządzanie ruchem, kontrola przeciążenia i analizy protokołów wysokiego poziomu.

Aby osiągnąć niskie opóźnienia w szybkich sieciach Ethernet, dopuszczających straty pakietów, w Falcon zastosowano trzy zasady: szczegółowy pomiar opóźnień między wysyłaniem zapytania a otrzymywaniem odpowiedzi (RTT, round-trip time), sprzętowo realizowane ograniczanie ruchu związane z poszczególnymi strumieniami oraz szybkie i precyzyjne ponowne przesyłanie pakietów. Wymienione właściwości uzupełniają środki do jednoczesnego korzystania z wielu kanałów (Multipath) oraz wsparcie dla szyfrowania połączeń.

W implementacji Falcon wykorzystano następujące technologie:

  • Carousel — mechanizm ograniczania ruchu (Traffic Shaping), pozwalający na regulowanie przepustowości i intensywności przepływu pakietów w rozrachunku pojedynczych hostów.
  • Snap — system sieciowy oparty na mikrojądrze, rozszerzany za pomocą modułów, przez które można dodawać rozszerzoną funkcjonalność, na przykład dodając funkcje wirtualizacji sieci, ograniczenia ruchu i dostarczania wiadomości.
  • Swift — mechanizm zarządzania przeciążeniem (Congestion Control) dla sieci na poziomie centrów danych, umożliwiający osiągnięcie opóźnień poniżej 50 mikrosekund dla krótkich wiadomości RPC przy utrzymaniu przepustowości 100Gbps serwer przy obciążeniu bliskim 100%.
  • RACK-TLP — algorytm wykrywania utraty pakietów dla TCP.
  • PLB — mechanizm równoważenia obciążenia, wykorzystujący sygnały o przeciążeniu. Po wdrożeniu PLB w sieciach Google nierównowaga obciążenia na przełącznikach zmniejszyła się o 60%, straty pakietów spadły o 33%, a opóźnienia w dostarczaniu krótkich wiadomości RPC zmniejszyły się o 25%.
  • CSIG (Congestion Signaling) — protokół wymiany telemetrii, używany do wysyłania sygnałów o przeciążeniu i przy zarządzaniu ruchem.
  • PSP (PSP Security Protocol) — protokół szyfrowania ruchu.

Falcon wykorzystuje jako protokoły najwyższego poziomu RDMA i NVM Express, ale także pozwala na dodawanie wsparcia dla dodatkowych protokołów najwyższego poziomu w formie rozszerzeń. Funkcjonalność Falcon definiują trzy poziomy: poziom mapowania z protokołami najwyższego poziomu (ULP Mapping), poziom transakcji i poziom dostarczania pakietów. Na pierwszym poziomie odbywa się zarządzanie przepływem, przetwarzanie wiadomości i mapowanie na wyższe poziomy. Na drugim poziomie realizowane jest planowanie, zarządzanie zasobami i porządkowanie. Na trzecim poziomie odbywa się zarządzanie przeciążeniem, ograniczenie ruchu, utrzymanie niezawodności i jednoczesne wykorzystanie różnych kanałów (Multipathing).

Google ujawnili technologię przesyłania danych Falcon


Źródło: opennet.ru
Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster