UDP पैकेट्स का उपयोग करते हुए अल्ट्रा-फास्ट क्वेरी


10

मैं एक प्रणाली लागू कर रहा हूं जहां एक नेटवर्क उच्च आवृत्ति पर एक नेटवर्क क्वेरी (प्रति सेकंड सैकड़ों या हजारों प्रश्न) के माध्यम से 8 या तो डेटा के बाइट्स के साथ एक छोटा यूडीपी पैकेट भेज रहा है। यह एक अन्य एप्लिकेशन द्वारा प्राप्त होता है, शायद किसी अन्य डिवाइस पर, जो कुछ बहुत ही सरल प्रसंस्करण करता है और दूसरे यूडीपी पैकेट में लिपटे कुछ-बाइट-बड़े परिणाम को भेजता है।

मैं जानना चाहूंगा कि किस प्रकार की गोल यात्रा के समय ठेठ हार्डवेयर के साथ संभव हैं, जहां संचार प्रणाली शायद वायर्ड ईथरनेट के माध्यम से कुछ मीटर के अलावा जुड़े हुए हैं, खाते में प्रसार और ट्रांसमिशन देरी आदि को ध्यान में रखते हुए।

अन्य विचारों और सुझावों का भी स्वागत है।


2
आप दसियों या सैकड़ों माइक्रोसेकंड में विलंबता देख सकते हैं ... निश्चित रूप से उप मिलीसेकंड विलंबता ... आपके विवरण के आधार पर, ऐसा लगता है कि आप एक वित्तीय ट्रेडिंग सिस्टम पर विचार कर रहे हैं ... आपके द्वारा पूछे जाने वाले विलंब आपके विशिष्ट hw पर बहुत निर्भर हैं , और आप मुफ्त सलाह के लिए परीक्षण करने की तुलना में बहुत बेहतर हैं
माइक पेनिंगटन

आपकी प्रतिक्रिया के लिए बहुत धन्यवाद। यह वास्तव में इस मामले में वित्तीय व्यापार प्रणाली के लिए नहीं है। मैं सिर्फ एक अस्पष्ट विचार चाहता था कि कार्यान्वयन शुरू करने से पहले क्या संभव था, किसी और चीज की तुलना में व्यवहार्यता अध्ययन के रूप में अधिक।
जॉन स्मिथ

जवाबों:


11

एक उदाहरण जुनिपर MX80 में कम-विलंबता कट-थ्रू स्विच के बारे में 8us, के बारे में देरी है, यह <1us (शायद 0.7us) हो सकता है। (याद रखें कि कट-थ्रू स्विच कट-थ्रू 100% समय तक नहीं कर सकता है, केवल जब ईगोर पोर्ट आईडी होता है!)

फाइबर में 1 किमी 5us विलंबता (फिर से, एकल दिशा) के बारे में है।

न्यूनतम आकार के पेलोड (46B) के लिए धारावाहिकिकरण देरी @ 10G लगभग 67ns (0.067us) है, लिंक-गति बढ़ाने से, आप क्रमिक विलंब में कमी करते हैं।

IP हेडर आप डेटा 8B है, तो आप डेटा का सिर्फ 36B है, जिसका अर्थ है अपने ईथरनेट पेलोड कचरा आप की 10B शामिल होंगे, 20B, यूडीपी हैडर 8B है चाहिए भेजने के लिए, यानी अगर आप अपने पेलोड इसे जोड़ने के लिए जोड़ने के लिए कुछ है, इसकी 0 विलंबता लागत है।

मुझे आशा है कि आप डिवाइस की देरी से डिवाइस की गिनती को बढ़ाकर और प्रत्येक किलोमीटर फाइबर के लिए 5us जोड़कर और फिर 2 से गुणा करके RTT को एक्सट्रपलेट कर सकते हैं।


मैं HFT के बारे में कुछ विचार जोड़ने का विरोध नहीं कर सकता।

इस HFT मात्रा के अनुसार 2009 और 2012 के बीच आधा है। सुझाव है कि आसान जीत गए हैं। मैं एचएफटी विलंबता और लाभ पर इसके प्रभाव के बारे में कुछ वैज्ञानिक कागज या सिर्फ वास्तविक डेटा देखना पसंद करूंगा। मुझे संदेह है कि व्यापार लाभ को प्रभावित करने वाली विलंबता उस विलंबता की तुलना में एक और परिमाण पर है जिसके बारे में हम अभी बात कर रहे हैं। मेरा दोस्त जो सबसे बड़े एक्सचेंज में से एक के लिए नेटवर्क बनाता है, लगता है कि यह सिर्फ ग्राहक है जो तराजू को समझे बिना 'कम == बेहतर' करता है।
मैं पूरी तरह से समझ सकता हूं कि जब कुछ लोग कर रहे थे, तो एचएफटी कैसे उपयोगी था, जब आप बाजार का निरीक्षण कर सकते थे तो बाजार में बदलाव नहीं देख सकते थे और इसे देख सकते थे। कुछ लोग HFT को रोकने के लिए विनियमन का उपयोग करने के बारे में बात कर रहे हैं, प्रत्येक व्यापार को सभी के लिए महंगा बनाकर, मुझे नहीं लगता कि इसकी आवश्यकता होगी, मुझे लगता है कि अवसर की खिड़की पहले से ही बंद है।


उत्कृष्ट उत्तर और बहुत जानकारीपूर्ण, धन्यवाद। HFT पर भी कुछ व्यक्तिगत विचार!
जॉन स्मिथ

1
@ जॉनसन, अपने एंडपॉइंट्स (जैसे ओएस शेड्यूलर, या कर्नेल प्रोसेसिंग) के भीतर शुरू की गई देरी पर विचार करने की उपेक्षा न करें ... यह पिछली टिप्पणी में बताए गए विलंब में महत्वपूर्ण योगदान दे सकता है।
माइक पेनिंगटन

0 विलंबता लागत पर पूर्ण न्यूनतम पैकेट आकार का उपयोग करने के बारे में उत्कृष्ट बिंदु।
generalnetworkerror

1

मुझे लगता है कि पारंपरिक सेमी-ट्यून किए गए हार्डवेयर पर आपको सक्षम होना चाहिए:

  1. अपने होस्ट नेटवर्क स्टैक से बाहर जाएं
  2. अपने अगले नेटवर्क स्टैक पर
  3. अपने 'नए' पैकेट के साथ उस नेटवर्क स्टैक का बैकअप लें

में ~ 10 हमें 10gig पर। यदि आप वास्तव में चीजों को लॉक करते हैं, तो यह संख्या काफी कम हो सकती है।

लगभग सभी विलंबता जो आप देखने जा रहे हैं वह नेटवर्किंग हार्डवेयर / केबल्स से नहीं, बल्कि आपके होस्ट सिस्टम से है। स्विच के माध्यम से एक उचित कटौती, (Arista, Gnodal, New Cisco, आदि) उप 1us होने जा रहा है।

यूडीपी पैकेटों का उपभोग करने वाली प्रक्रियाओं को सुनिश्चित करने के साथ शुरू करें क्योंकि आपके एनआईसी में बाधा उत्पन्न होती है। वहां से, यह सुनिश्चित करें कि आपके NIC पर तालमेल अक्षम है, और वहां से सुनिश्चित करें कि आपको MSI-X और DCA मिला है।

यदि आप अधिक गंभीर हैं ... तो SolarFlare के OpenOnload को देखें। उनके पास परीक्षण / सत्यापन प्रदर्शन के साथ ही उपकरणों का एक बड़ा सूट है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.