Wdrażam system, w którym jedno urządzenie w sieci wysyła zapytania z bardzo wysoką częstotliwością (setki lub tysiące zapytań na sekundę) poprzez wysyłanie małego pakietu UDP z około 8 bajtami danych. Jest to odbierane przez inną aplikację, być może na innym urządzeniu, która wykonuje bardzo proste przetwarzanie i wysyła kilkuminutowy wynik zawinięty w inny pakiet UDP.
Chciałbym wiedzieć, jakie są możliwe czasy podróży w obie strony dla typowego sprzętu, w którym systemy komunikacyjne są być może połączone za pomocą przewodowego Ethernetu w odległości kilku metrów od siebie, biorąc pod uwagę opóźnienia propagacji i transmisji itp.
Inne myśli i sugestie są również mile widziane.
Odpowiedzi:
Przykład Juniper MX80 ma opóźnienie wejścia>> około 8us, na przełączniku przecinania o niskim opóźnieniu może wynosić <1us (może 0,7us). (Pamiętaj, że przełącznik odcinający nie może wykonać odcinania przez 100% czasu, tylko gdy port wyjściowy jest bezczynny!)
1 km światłowodu to opóźnienie około 5us (ponownie, w jednym kierunku).
Opóźnienie serializacji @ 10G dla minimalnej wielkości ładunku (46B) wynosi około 67ns (0,067us), zwiększając prędkość łącza, zmniejszasz opóźnienie serializacji.
Nagłówek IP to 20B, nagłówek UDP to 8B, dane to 8B, więc masz tylko 36B danych, co oznacza, że twój ładunek ethernetowy będzie zawierał 10B śmieci, które MUSISZ wysłać, tj. Jeśli masz coś do dodania do ładunku, dodaj go, ma 0 latencji koszt.
Mam nadzieję, że możesz ekstrapolować z nich RTT, mnożąc opóźnienie urządzenia przez liczbę urządzeń i dodając 5us za każdy kilometr światłowodu, a następnie pomnożąc to przez 2.
Nie mogę się oprzeć dodaniu kilku przemyśleń na temat HFT.
Zgodnie z tym wolumenem HFT zmniejszył się o połowę w latach 2009-2012. Sugeruje, że wygrane łatwe wygasły. Chciałbym zobaczyć artykuł naukowy lub po prostu prawdziwe dane na temat opóźnienia HFT i jego wpływu na zysk. Podejrzewam, że opóźnienie, które wpływa na zyski z handlu, ma inny rozmiar niż opóźnienie, o którym teraz mówimy. Mój przyjaciel, który buduje sieć dla jednej z największych giełd, wydaje się myśleć, że tylko klient robi „obniż = = lepiej”, nie rozumiejąc skali.
W pełni rozumiem, w jaki sposób HFT był użyteczny, gdy robiło to niewiele osób, kiedy można było obserwować rynek Nie widząc zmiany marketB widzi i korzysta z niego. Niektórzy mówią o stosowaniu regulacji w celu powstrzymania HFT poprzez opodatkowanie każdej transakcji, co czyni ją kosztowną dla wszystkich, nie sądzę, aby była potrzebna, myślę, że okno możliwości już się zamyka.
źródło
Myślę, że na konwencjonalnym częściowo dostrojonym sprzęcie powinieneś być w stanie:
Za ~ 10 nas na 10gig. Jeśli naprawdę zablokujesz, liczba ta może być znacznie niższa.
Prawie WSZYSTKIE opóźnienia, które zobaczycie, nie pochodzą z urządzeń / kabli sieciowych, ale z systemów hosta. Rozsądnym przełącznikiem (Arista, Gnodal, New Cisco itp.) Będzie sub 1us.
Zacznij od upewnienia się, że procesy wykorzystujące pakiety UDP są przypięte do tego samego rdzenia, co przerwania twojej karty sieciowej. Stamtąd upewnij się, że łączenie w twojej karcie sieciowej jest wyłączone, a stamtąd upewnij się, że masz włączone MSI-X i DCA.
Jeśli jesteś poważniejszy ... sprawdź OpenOnload SolarFlare. Mają też świetny zestaw narzędzi do testowania / weryfikacji wydajności.
źródło