وول ستريت فبغا.
الكمون المنخفض، إنتاجية عالية.
بي تيري ستراتوداكيس & # 8211؛ وول ستريت فبغا، ليك & # 8211؛ مدينة نيويورك & # 8211؛ مارس 2018.
تعرض هذه الورقة نظام إصلاح النظام فيكس المعجل. المصدر المفتوح فيكس المحرك، يتم تسريع كيكفيكس باستخدام حقل برمجة برمجة بوابة (فبغا). يتم تنفيذ التسارع بواسطة بطاقة شبكة فبغا على أساس الذي هو الأمثل ل كيكفيكس. فيكس 4.2 طلب يتم إنشاء رسائل إلغاء بالكامل داخل فبغا. الكمون من الأمر إلغاء يؤدي إلى متى البايت الأول على السلك هو 314 نانوثانية. وقت الاستجابة من الأمر إلغاء يؤدي إلى متى أول رسالة أمر إلغاء فيكس هو تماما على السلك هو 1،874 نانوسيكوندس.
المقدمة.
وتجري غالبية التجارة بصورة متزايدة إلكترونيا باستخدام الحواسيب؛ انظر الشكل 1. تقدم فترات الذروة التجارية بين أفضل الفرص التجارية للأرباح ولكن أيضا تمثل أكبر خطر للخسائر المحتملة. خلال فترات الذروة التجارية، بيانات السوق أن أنظمة التداول يجب أن تستهلك ومعالجة العواصف إلى النقطة التي تبطئ النظم التجارية وتصبح غير فعالة.
الشكل 1 - مجموع رسائل دقيقة واحدة الذروة في الثانية.
وتؤثر تجارة التردد العالي (هفت) على ديناميات السوق وتولد مناقشات مثيرة للاهتمام. بالنسبة لبعض، هفت هو مصطلح نسبي. ما يسمى هفت اليوم قد يكون الشكل المشترك للتداول في المستقبل. وما إذا كانت الشركة تشارك في هفت أم لا، فستحتاج بالتأكيد إلى حماية أصولها من أحداث مثل & # 8220؛ فلاش كراش & # 8221؛ من 6 مايو 2018. فمن الممكن أن شركة تجارية باستخدام نظام إلغاء النظام القائم على فبغا كان يمكن الخروج من السوق بشكل أسرع من أي شركة تجارية أخرى - مما يقلل من الخسائر في أيام مثل هذا واحد. انظر الشكل 2 أدناه.
الشكل 2 - مؤشر داو جونز الصناعي في 6 مايو 2018 (& # 8220؛ فلاش كراش & # 8221؛)
بروتوكول فيكس.
تقوم الشركات المالية بتوصيل بيانات السوق والتجارة عبر معايير المراسلة مثل بروتوكول فيكس. بروتوكول تبادل المعلومات المالية (فيكس) هو معيار الرسائل للتبادل الإلكتروني في الوقت الحقيقي من المعاملات الأوراق المالية. يدير معيار فيكس من قبل فيكس بروتوكول المحدودة (فبل)، وهي هيئة المعايير الدولية غير الربحية مع أعضاء من جميع جوانب صناعة الخدمات المالية.
يتم استخدام البرامج المعروفة باسم محركات فيكس لمعالجة وتوليد رسائل فيكس. كيكفيكس هو في الواقع مفتوح المصدر فيكس المحرك. كيكفيكس وكذلك التجارية & # 8220؛ مغلق المصدر & # 8221؛ محركات فيكس تستخدم من قبل الشركات المالية.
الشركات المالية تتحول إلى تقنية الحوسبة عالية الأداء (ه) لتوفير هذه الميزة الإضافية على منافسيهم. كل مستوى من البرمجيات هو الأمثل، وفي السنوات الأخيرة، الشركات على تحسين الأجهزة من نظم التداول الخاصة بهم من خلال استخدام الأجهزة القابلة لإعادة التشكيل.
فبغاس: الأجهزة ريكونفيغورابل.
يتم استخدام الأجهزة القابلة لإعادة التشكيل مثل تقنية مجموعة مصفوفة البوابة القابلة للبرمجة (فبغا) لتحسين أنظمة التداول على مستوى الشبكة. فبغاس يمكن أن تساعد في توليد ومعالجة بيانات الشبكة وبالتالي تحميل بعض المهام من البرنامج من النظام. الاستخدام الأكثر شيوعا لل فبغا في التمويل هو التعامل مع بيانات السوق. فبغاس يمكن أن يكون ما يصل إلى 1000 النوى لمعالجة البيانات في موازاة وليس لديهم غضب التي أدخلتها أنظمة التشغيل وجلب التعليمات.
يتم برمجة فبغا باستخدام لغة وصف الأجهزة (هدل) مثل فيريلوغ أو فدل. لا يمكن تنفيذ جميع الخوارزميات على فبغا. ويرجع ذلك جزئيا إلى طبيعة فبغا باعتبارها التكنولوجيا وأيضا بسبب الجانب مستوى منخفض من هدل. هدل يتطلب المزيد من المعرفة من الأجهزة المستهدفة من البرمجة التقليدية مثل C أو C ++. هدل الترميز يمكن أن يؤدي إلى مرات التنمية من 3 إلى 5 مرات أكثر إذا خوارزمية يمكن أن تنفذ حتى على فبغا. هذه اللغات يصعب تعلمها وتؤدي إلى ملفات شفرات المصدر طويلة جدا التي غالبا ما تنجز القليل جدا مع الكثير من الجهد. على سبيل المثال، يمكن أن يأخذ رمز فدل لحساب الجذر التربيعي لعدد من 117 خطا إلى 396 سطر من التعليمات البرمجية.
بروتوكول فيكس هو سلسلة القائم، وإقراض نفسها إلى فوائد كبيرة من فبغا. وظائف السلسلة هي من بين أقل كفاءة في وحدة المعالجة المركزية.
منصة التكنولوجيا.
التقنيات المستخدمة في هذا النظام هي بكسي، فلكسريو، و لابفيو فبغا.
بكسي (يسي إكستنسيونس فور إنسترومنتاتيون) هي حافلة كمبيوتر مفتوحة وموحدة باستخدام عامل شكل كومباكتسي. ويستند بكسي على حافلة يسي مع توقيت ومزامنة متكاملة التي تستخدم لتوجيه الساعات والمشغلات داخليا. وقد وضعت بكسي في عام 1997 وأطلقت في عام 1998. اليوم، يحكم بكسي من قبل تحالف أنظمة بكسي (بسيسا)، مجموعة من أكثر من 70 شركة المستأجرة لتعزيز معيار بكسي، وضمان التشغيل البيني، والحفاظ على مواصفات بكسي. بسيسا هي المسؤولة أيضا عن حافلة بكسي إكسبريس التي تقوم على ناقل كمبيوتر يسي إكسبريس الموجود في أجهزة الكمبيوتر الأحدث.
تتكون أنظمة بكسي من ثلاثة مكونات أساسية & # 8212؛ الشاسيه، وحدة تحكم، والوحدات الطرفية. على سبيل المثال، 18 فتحة 19 بوصة الشاسيه حامل الرف يحمل وحدة تحكم واحدة و 17 وحدات فتحة واحدة. وحدة تحكم يحتوي على مكونات الكمبيوتر المحمول الحجم لالاكتتاب ويمكن تشغيل ويندوز، لينكس، وأنظمة التشغيل في الوقت الحقيقي المختلفة. هناك 3U و 6U وحدات.
وبما أن بكسي يقوم على تقنيات الكمبيوتر القياسية مثل ويندوز وحافلة يسي، فإن دمج نظام بكسي لهذه الأنظمة يشبه دمج هذه الأنظمة مع جهاز كمبيوتر. كما يدعم بكسي مجموعة واسعة من المنتجات يسي المدمجة لأنها تستند على نفس عامل الشكل.
الحافلة بكسي يجمع بين ناقل يسي عالية السرعة مع توقيت وتزامن. وتتكون الحافلة الزناد بكسي من 8 خطوط الحافلات الزناد المشتركة، نجم الزناد منخفض انحراف، ومرجعية النظام 10 ميجاهرتز المرجعية المشتركة. باستخدام هذه الميزات التزامن، يمكن للمرء أن يمر الزناد، على مدار الساعة، وإشارات أخرى بين وحدات بكسي لجعل دقيقة، قياسات عالية الأداء.
فلكسريو هو بكسي و بكسي إكسبريس على أساس منصة الأجهزة ريفيفيغورابل التي وضعتها الصكوك الوطنية. ويضم جزأين: فلكسريو حقل برمجة مجموعة بوابة (فبغا) وحدات ووحدات محول فلكسريو. معا، فإنها تشكل عالية الأداء، نظام الأجهزة ريكونفيغورابل برمجة مع برنامج لابفيفو فبغا وبدون الأجهزة وصف لغة (هدل) تصميم المعرفة.
ني فليكسريو فبغا وحدات.
وحدات فكسريو فبغا الاستفادة من فبغا فيرتكس-5 مع ما يصل إلى 512 ميغابايت من على متن درام درام 2. وحدات فلكريو فبغا تأتي في أشكال بكسي و بكسي إكسبريس واجهة إلى فليكسريو محول وحدات التي توفر I / O إلى فبغا. وحدات بكسي فلكسريو لديها ثلاثة (3) قنوات دما لتدفق البيانات عالية السرعة في حين أن وحدات بكسي إكسبريس فلكسيو لديها ستة عشر (16) قنوات دما. انظر الشكل 3.
تتكون واجهة وحدة المحول من 132 خطا من I / O الرقمي للأغراض العامة متصلة مباشرة بدبابيس فبغا، بالإضافة إلى القدرة، وضبط مسافة السباق، والدوائر التكميلية اللازمة لتحديد الواجهة. ويمكن تهيئة هذه السطوح 132 للعملية المفردة بمعدلات تصل إلى 400 مبيتس / s وعملية تفاضلية بمعدلات تصل إلى غبيت / s 1 لعرض نطاق I / O أقصى قدره 66 غبيتس / s (8.25 غب / s) . يتم توجيه جميع الخطوط مع مقاومة للرقابة، وتطابق طول آثار، ويتم توجيه أزواج التفاضلية معا.
الند للند البيانات الجري هي فريدة من نوعها وحدات بكسي إكسبريس ني فلكسيو فبغا. وهذا يسمح للبنوك تصل إلى أربعة (4) بطاقات بكسي إكسبريس ني فلكسيو فبغا للاتصال بشكل حاسم مع بعضها البعض. فهي قادرة على تدفق البيانات بين وحدات بمعدلات أعلى من 800 ميغابايت / ثانية واللاجئين لا يزيد عن 10 ميكروثانية كما لا يتم توجيه البيانات من خلال شرائح المضيف. ويدعم ما يصل إلى 16 تيارات، وتبسيط مخططات الاتصالات متعددة فبغا معقدة دون فرض ضرائب على موارد وحدة المعالجة المركزية المضيفة.
بطاقات فلكسيو ديها رتسي، أو في الوقت الحقيقي التكامل إشارة، والتي تمكن البطاقات لتكون متزامنة باستخدام حافلة بكسي. يمكن للأجهزة تمكين رتسي الاتصال مباشرة عبر اتصال الكمون المنخفض.
وحدات ني فلكسريو فبغا يمكن الوصول إليها من قبل ويندوز، لينكس، فارلاب، و فكسوركس أنظمة التشغيل عن طريق السائقين ني ريو. تم استخدام الإصدار 3.5.1 من برامج تشغيل ريو لهذا التطبيق.
الشكل 3 - فليكسريو فبغا وحدة.
وحدات فليكسريو محول.
وحدات فليكسريو محول من الصكوك الوطنية وأطراف ثالثة واجهة مع وحدات فلكريو فبغا من خلال موصل بطاقة الحافة التي توجه إشارات فبغا اللازمة إلى وحدة محول. ويمكن تطوير وحدات محول مخصصة مع ني فليكسريو محول وحدة التنمية كيت (مدك).
يمكن استخدام مجموعة تطوير وحدة محول فلكسيو (مدك) لبناء I / O مخصص لتلبية احتياجات التطبيق الدقيق. موصل فكسريو بطاقة حافة يوفر الوصول المباشر إلى دبابيس I / O الرقمية الخام من فبغا. كل دبوس قادر على معدلات منخفضة الجهد التفاضلية (لفدس) معدلات تصل إلى 1 غيغابايت / ثانية ومعدلات واحدة المنتهية حتى 400 ميغابايت / ثانية. وحدات محول قابلة للتبديل وتحديد I / O المتاحة في بيئة البرمجة لابفيفو فبغا.
في هذه الورقة يستخدم محول بريفاس ميماس جيجابت إيثرنت، انظر الشكل 4 أدناه.
الشكل 4 - بريفاس ميماس متصلة وحدة ني فلكسريو.
لابفيو فبغا.
فبغاس هي مجال للبرمجة الذي يوفر على تكاليف التنمية والتعديل. قبل فبغا، المنطق المخصص مطلوب تصميم التخطيطي الذي أدى إلى تسجيل مستوى نقل (رتل). رتل الذي حل محله فيريلوغ و فدل. زيادة قدرة فبغا يتطلب مستوى أعلى من التجريد. في العقد الماضي، وقد وضعت صناعة عالية المستوى هدلز. ويتيح ذلك تطبيق خوارزميات أكثر تعقيدا في الوقت المناسب.
الصكوك الوطنية & # 8217؛ يوفر لابفيفو فبغا منصة نهج رسومية لتطوير المنطق ل فبغا. خوارزميات مالية معقدة يمكن برمجتها على فبغا دون معرفة متعمقة من التصميم الرقمي أو معقدة أتمتة الأتمتة الإلكترونية (إيدا) أدوات. لابفيو هو مناسبة بشكل واضح ل فبغا البرمجة لأنه يوفر تصوير بديهية من التوازي الكامنة التي تقدم فبغا. باستخدام مستوى عال، بيئة تطوير رسومية (انظر الشكل 5) من ابفيف فبغا يقلل من وقت التطوير دون المساومة على مكاسب الأداء من استخدام فبغا.
الشكل 5 - ابفيف عينة فبغا كتلة الرسم التخطيطي.
تحت غطاء محرك السيارة، يستخدم وحدة ابفيف فبغا تقنيات توليد رمز لتجميع بيئة تطوير الرسوم البيانية إلى الأجهزة فبغا الذي يدير في نهاية المطاف أدوات التوليف فبغا. الحلقات توقيت دورة واحدة (سكتل) في لابفيفو فبغا توفر مستوى الحتمية مضمونة لتنفيذ في غضون فترة زمنية محددة لا يقل عن 40 ميغاهيرتز. في هذه الورقة، تم استخدام سكتل في مهز 125.
يمكن استخدام الأجهزة المخصصة لخلق توقيت فريد وإطلاق الإجراءات، ومراقبة عالية السرعة، والربط إلى البروتوكولات الرقمية والتطبيقات التي تتطلب موثوقية الأجهزة عالية السرعة والحتمية الضيقة. في هذه الورقة، يستخدم لابفيفو فبغا لإنشاء بروتوكول نظام الأجهزة القائمة على علم.
يتم توصيل وسيط تاجر إلى تبادل. تستخدم الرسائل التجارية بين الوسيط والتاجر والصرف نسق بروتوكول فيكس. يقوم الوسيط - الوسيط بتقديم الطلبات التي يسعى التبادل إلى تحقيقها. جميع أوامر من وسيط تاجر مفتوحة حتى أمر مطابقة يدخل الصرف. يتم إرسال الطلبات المتطابقة مرة أخرى إلى وسيط تاجر كما نفذت. عند نقطة ما، يكتشف الوسيط وسيط & # 8220؛ الحدث & # 8221؛ مما أدى إلى الحاجة إلى إلغاء جميع الأوامر المفتوحة. ومن المفترض أن الحدث المكتشف هو واحد مما سيسبب العديد من التجار وسيط أخرى ترغب في إلغاء أوامر مفتوحة في نفس الوقت، لذلك الوقت سيكون من جوهر وأولئك الذين يلغون أولا سوف يقلل من الخسائر المحتملة. انظر الشكل 6 أدناه.
التنفيذ.
تم تنفيذ هذا باستخدام جهازي كمبيوتر متصلين مباشرة عبر كبل عبر إيثرنيت. انهم التواصل باستخدام فيكس 4.2 تشغيل عبر تكب / إب في 1 جيجابت / الثانية. كل من أجهزة الكمبيوتر تعمل بنظام التشغيل ميكروسوفت ويندوز زب على إنتيل x86 وحدات المعالجة المركزية. ويمثل أحد أجهزة الكمبيوتر وسيط التاجر، والآخر بورصة. يقوم الوكيل الوسيط بإرسال عدة أوامر شراء أو بيع إلى إكسهانج بحيث لا يتم تنفيذها. عند الكشف عن الزناد، التاجر الوسيط يرسل فيكس أجل إلغاء الرسائل لجميع أوامر مفتوحة. انظر الشكل 7.
وسيط تاجر الكمبيوتر.
يتكون جهاز الكمبيوتر وسيط التاجر من جهاز كمبيوتر متصل بشريحة ني بكسي-1033 5-فتحة بكسي مع وحدة تحكم مكسي إكسبريس المتكاملة. يتم توصيل اثنين من بطاقات بكسي في هيكل بكسي. فكسريو بكسي-7953 بطاقة فبغا مع زيلينس فيرتكس-5 LX85 فبغا وبطاقة ني بكسي-6070E داق. بطاقة فلكسريو لديه محول بريفاس ميماس جيجابت إيثرنت التي لديها اثنين من موصلات ري-45. محول فلكسريو و بريفاس ميماس الجمع بين العمل كبطاقة واجهة الشبكة (نيك) من الكمبيوتر وسيط التاجر. كل حركة مرور الشبكة يمر عبر بطاقة فلكسريو واحد من منافذ بريفاس ميماس المزدوج جيجابت محول (المنفذ الآخر غير المستخدمة لهذا التطبيق).
يحتوي محول بريفاس ميماس على & # 8216؛ في & # 8217؛ رقاقة الذي يحول الإشارات الكهربائية الواردة على كابل ري-45 لإطارات إيثرنت والعكس بالعكس. إطارات إيثرنت تأتي في زيلينس فيرتكس-5 LX85 فبغا في شكل بايت (U8).
في ظل الظروف العادية، فلكريو بطاقة فبغا يسمح للطبقة 2 إيثرنت بيانات الإطار للخروج عن طريق محول بريفاس ميماس وفي تمريرها في الحافلة بكسي بحيث يمكن الوصول إليها من خلال البرامج التي واجهة إلى السائقين ني ريو.
كيكفيكس عادة واجهات مع وظائف وينسوك واجهة مع ويندوز & # 8217؛ مغلق مصدر تكب / إب المكدس. كونها مصدر مغلق، فإنه لا يمكن واجهة السائقين ريو وبالتالي لويب، وهو مكدس مفتوح المصدر تكب / إب، تم اختيار بدلا من ذلك. تم تعديل جميع المكالمات كيكفيكس & # 8217 إلى وينسوك لاستدعاء لويب تكب / إب المكدس الذي بدوره تم تعديله للتفاعل مع برامج تشغيل ريو.
تم استخدام بطاقة اكتساب البيانات ني بكسي-6070E لتلقي ونقل الزناد إلغاء أوامر. تم استخدام واحد من خطوط رتسي بكسي لجعل اتصال كهربائي مباشر بين هذا و فلكريو فبغا بطاقة. تم ربط زر خارجي بأحد المدخلات الرقمية لبطاقة داق & # 8217؛ حيث أنه عند الضغط عليه، سيتم قراءة إشارة رقمية من قبل فبغا. هذا يقرأ بحتة في الأجهزة مع أي تفاعل من قبل الكمبيوتر أو البرنامج.
تبادل الكمبيوتر.
يتكون الكمبيوتر إكسهانج من كمبيوتر آخر بتشغيل نسخة غير معدلة من كيكفيكس قيد التشغيل في وضع الملقم. يتم التواصل الشبكي عبر منفذ جيجابت إيثرنيت الأصلي. وظيفتها هي عقد أمر مفتوح حتى وصول واحد مطابقة، أو يتم إلغاء الأمر.
يتم إدخال عدة أوامر غير مطابقة في برنامج وسيط التاجر كيكفيكس. يرسلها إلى الكمبيوتر إكسهانج الذي يحملها كأوامر مفتوحة. يحتفظ برنامج وسيط التاجر و كيكفيكس بقائمة من أوامره المفتوحة الخاصة. كلما تغير أي جانب من جوانب الأوامر المفتوحة على وسيط التاجر، و فبغا يتلقى نسخة من معلومات الإلغاء لكل أمر مفتوح. وفيما يلي نموذج فيكس 4.2 ترتيب واحد (علامة 35 = D) الرسالة في عرافة الإزاحة ثم الأحرف القابلة للقراءة فقط.
وفيما يلي نموذج فيكس 4.2 طلب إلغاء طلب (علامة 35 = F) رسالة في عرافة الإزاحة ثم الأحرف القابلة للقراءة فقط.
يؤدي الضغط على الزر المتصل ببطاقة بكسي-6070E داق إلى إنشاء مشغل إلغاء الأوامر مما يؤدي إلى إنشاء فبغا أمر واحد فيكس أوردر إلغاء رسالة لكل من الأوامر المفتوحة. ثم يتم حقن رسالة (رسائل) فيكس في جلسة تكب المباشرة الموجودة بالفعل بين وسيط التاجر وآلات إكسهانج. يتلقى جهاز الكمبيوتر إكسهانج رسائل إلغاء الأمر فيكس، دون إدراك أن تلك الرسائل تم إنشاؤها بواسطة فبغا [وليس بواسطة كيكفيكس على جهاز كمبيوتر وسيط التاجر] فإنه يلغي جميع الأوامر المشار إليها كما لو كان الوسيط الوسيط قد أوعز إليها القيام بذلك.
بالنسبة لكل حركة مرور فيكس العادية، يتعامل تطبيق كيكفيكس إنشاء كل رسالة فيكس، بينما يتعامل مكدس تكب / إب الخاص بالبرنامج مع إنشاء شرائح تكب وحزم إب. في حالة حدوث حدث الزناد للتو، يتعامل فبغا مع كافة مهام كيكفيكس وبرنامج تكب / إب من خلال إنشاء رسالة (أجزاء) فيكس، وشريحة (وحدات) تكب، ومجموعة إب (حزم) إب. وبما أن الحمولة النهائية يجري نقلها إلى الطبقة المادية (في)، فإن إطار إيثرنت و كرك يحسبان أيضا من قبل فبغا.
استنتاج.
تم إنشاء تقنية مجموعة بوابة (فبغا) القابلة للبرمجة الميدانية لبيانات السوق وهي الآن تجد تطبيقات مثل توليد الرسائل التجارية. حجم التجارة وزيادة البيانات تتجاوز تكنولوجيا نظام التداول. وتسعى الشركات المالية إلى تحسين كل جانب من جوانب النظام التجاري. حتى وقت قريب، كانت البرمجيات محور التحسينات.
يوفر تحسين الأجهزة إغراء إنشاء & # 8220؛ العالم & # 8217؛ أسرع وأكثر حتمية نظام التداول & # 8221؛ وهو آخر حدود التخصيص. هذا ليس من دون تكلفة كما مخصصة نظام الأجهزة الأمثل تماما يمكن أن تصبح بسهولة لعبة صفر المبلغ.
استخدام خارج الرف لوحات فبغا و مستوى عال الأجهزة وصف اللغة (هدل) مثل لابفيو فبغا، يمكن للمرء أن تطوير الأجهزة تسارع نظام التداول مع المخاطر المدارة والتكاليف. بكسي هو منصة للحلول القائمة على فبغا التي يمكن أن تدمج الطوابع الزمنية إيي-1588v2 (2008) من مصدر الوقت غس وقياسات الكمون. لوحات بكسي إكسبريس فبغا يمكن التواصل بكفاءة فيما بينها [دون وحدة المعالجة المركزية المضيف] باستخدام الند للند البيانات الجري لتوفير أنظمة التداول فبغا متعددة.
ويمكن للشركات المالية الآن أن تحسن البرامج والأجهزة على حد سواء من نظمها التجارية لتوفير مزيد من التمايز وزيادة قدرتها التنافسية.
حول وول ستريت فبغا، ليك.
وول ستريت فبغا، ليك (والستريتفغا) هي شركة التكنولوجيا المالية بوتيك مقرها مدينة نيويورك التي توفر الأجهزة تسارع، الكمون المنخفض، وارتفاع الإنتاجية المالية وحلول التحليلات المالية. وول ستريت فبغا، ليك يجمع بين المعرفة من أسواق رأس المال والتكنولوجيا التخريبية. لمزيد من المعلومات ولجدولة عرض توضيحي، اتصل ب تيري ستراتوداكيس: تيري @ والستريتفغا أو +1 (347) 228-7379. وول ستريت فبغا، ليك هي عضو في فيكس بروتوكول المحدودة.
المؤلف.
تيري ستراتوداكيس.
تيري ستراتوداكيس، P. E. لديها أكثر من اثني عشر عاما من الخبرة في مجال الأتمتة. وهو متخصص في تسريع الأجهزة باستخدام فبغاس لأساليب مونت كارلو، معقدة / الحقيقية الرياضيات مصفوفة، ونمط مطابقة للاستخدام في مختلف الصناعات. وتشمل المشاريع الحالية تسريع الأجهزة لنظم التداول، وتحليل بيانات السوق، وإدخال النظام فضلا عن نظم قياس الكمون المنخفض.
تيري هو منصب المدير التنفيذي لشركة وول ستريت فبغا، ليك. تيري هو المؤسس المشارك لتكامل النظام إيل، وشريك الصكوك الوطنية المعتمدة. عمل في مختبرات ونديروريترز (أول) لتصميم أنظمة مؤتمتة لاختبار سلامة المنتجات. والأنظمة المترابطة مع أنظمة المشاريع، فضلا عن مجموعة واسعة من المعدات. كما قام بتدريس الأجهزة كأستاذ مساعد مساعد في كلية مدينة نيويورك للتكنولوجيا.
يحمل تيري درجة الماجستير في العلوم والبكالوريوس في العلوم في الهندسة الكهربائية من جامعة بوليتكنيك في بروكلين، نيويورك (نيو-بولي). وهو مهندس ولاية نيويورك المرخصة المهنية والمهندسين الوطنيين شهادة لابفيف المهندس المعماري ومدرب المهنية المعتمدة. تيري هو عضو في إيي لونغ آيلاند كونسولتانتس نيتورك أند إنسترومنتاتيون & أمب؛ جمعية القياس. وهو عضو في اللجنة الفنية العالمية (غك)، ومجموعة عمل التداول عالي التردد، وفريق عمل الكمون المشترك بين الأطراف التابع ل فيكس بروتوكول ليميتد (فبل).
في السعي من الكمون المنخفض جدا: فبغا في تجارة عالية التردد.
وقد حظيت التجارة عالية التردد (هفت) بالكثير من الاهتمام خلال العامين الماضيين، وتحولت إلى عنصر متزايد الأهمية في الأسواق المالية. هفت هو كل شيء عن السرعة: وأسرع خوارزميات الكمبيوتر الخاص بك يمكن تحليل البورصات وتنفيذ أوامر التجارة، وارتفاع هو الربح الخاص بك. وبالتالي فإن & # 8216؛ سباق التسلح & # 8217؛ في هذا المجال لا يتوقف أبدا مع اللاعبين في السوق الاستثمار بشكل مستمر في حلول أكثر قوة، وقادرة على تداول الأوراق المالية والمشتقات وغيرها من الأدوات المالية في مسألة نانوثانية. فقط تلك الشركات هفت التي تواكب الابتكارات التكنولوجية، سوف تكون قادرة على تأمين ميزة تنافسية في المستقبل.
ولتقليل الوقت اللازم لبيانات السوق ذهابا وإيابا، تنفق البنوك الاستثمارية وصناديق التحوط والمستثمرون المؤسسيون مبالغ كبيرة من المال على برامج أسرع وشبكات ذات زمن استجابة أقل ومرافق حوسبة أقرب إلى البورصات. عندما يتعلق الأمر تسريع الأجهزة، والحل في كثير من الأحيان لإلغاء تحميل أجزاء كثيفة حساب وظائف التداول إلى وحدات معالجة الرسومات، فبغاس، أو المعالجات المخصصة. وحدات المعالجة المركزية لا تزال ذات قيمة لتنفيذ بعض المهام، لكنها لم تعد قادرة على الحفاظ على السرعة المطلوبة لتنفيذ التجارة.
كما ترون هناك عدد من الطرق المتاحة لتوسيع أداء الحوسبة الأجهزة. ولكن تلك هي فبغا، أو صفائف بوابة المجال للبرمجة، التي بدأت الثورة التكنولوجية الحالية في مجال التداول عالية التردد.
فبغا رقائق لها خصائص تقنية محددة جدا التي تمكنهم من تنفيذ أنواع معينة من خوارزميات التداول تصل إلى 1000 مرة أسرع من حلول البرمجيات التقليدية.
في هذه المقالة، ونحن سوف ريتيل لكم بالتفصيل حول هذه الخصائص وعن الفوائد الهامة التي التجار عالية التردد الحصول على من دمج الأجهزة فبغا في البنى التحتية الرقمية الخاصة بهم.
ماذا نعرف عن فبغا؟
غريبا كما قد يبدو، فبغا ليست أكثر من شريحة تحتوي على مليون من كتل المنطق المتكررة في جميع أنحاء السيليكون. كل من هذه الخلايا المنطقية تسمى جداول البحث (لوتس) تتضمن العمليات المنطقية الأساسية مثل بولان أند أو أور أو ناند أو شور. لتشكيل خوارزمية لوتس ترتبط بعضها البعض في ترتيب معين عن طريق مفاتيح شكلي. كل من لوتس والنسيج ربط المحيطة قابلة للبرمجة، وتوفير نظام مرن، والتي يمكن تعديلها بسهولة لتنفيذ أي خوارزمية تقريبا.
تم اختراع أول جهاز فبغا قابلة للحياة تجاريا في عام 1985 من قبل المؤسسين المؤسسين ل زيلينس. في تلك المرحلة، كانت قدرة الرقاقة صغيرة نسبيا، لذلك كان من الصعب تنفيذ منطق كامل في خلية واحدة. أما اليوم فبغا فبغا لديها مليون ميجا التهم البوابة التي تسمح لهم لاستيعاب تصاميم معقدة جدا وكبيرة الحجم. ليس من المستغرب أن ينظر إلى هذا المكون غالبا على أنه جهاز التناظرية للبرنامج.
فبغا فائقة منخفضة الكمون السائقين.
قابلية البرمجة والقدرة واسعة من رقائق فبغا هي بالتأكيد خصائص مهمة جدا. ولكن هذه هي الهندسة المعمارية المتوازية للأجهزة والطبيعة الحتمية التي تجعلها حلا نهائيا للحد من فترات الرحلات ذهابا وإيابا وبالتالي زيادة أحجام التجارة.
العمارة المتوازية.
أجهزة فبغا ليس لديها بنية المعالج الثابتة، بما في ذلك النفقات العامة نظام التشغيل وجميع الواجهات والمقاطعات نموذجية لوحدات المعالجة المركزية. معالجة المسارات في هذا الجهاز موازية، ما يعني أن الوظائف المختلفة لا يجب أن تتنافس على نفس موارد التشغيل. ونتيجة لذلك، يمكن أن رقاقة واحدة فبغا لديها 10 أو أكثر من حلقات التحكم تعمل على ذلك في وقت واحد بمعدلات مختلفة.
العمارة المتوازية من فبغا هو المفتاح وراء قدرتها على تنفيذ أوامر الشراء والبيع بسرعة. ومع ذلك، فإن تنفيذ الحسابات الرياضية على مستوى منخفض ممكن فقط فيما يتعلق بالخوارزميات البسيطة التي يمكن تقسيمها إلى مجموعة من المهام. ويمكن بعد ذلك معالجة الفدرات الوظيفية المنفصلة في دورات مختلفة.
التوازي من أجهزة فبغا أيضا يجعلها مرنة جدا. لا تتأثر الأجهزة تحديثات البرامج والتغييرات النمطية لأنظمة تكنولوجيا المعلومات، والأجهزة قادرة على توفير والحفاظ على مستوى عال من الخدمة في جميع الأوقات. مستقرة وذاتية في الطبيعة، رقاقة فبغا يساهم في الأداء السلس للبنية التحتية هفت كله.
على عكس فبغاس، المعالجات العامة هي أفضل في التعامل مع المشاكل المعقدة التي تتطلب أقل التوازي. عندما يتعلق الأمر بتداول الترددات العالية مثل هذه المشاكل، على سبيل المثال، تشمل حساب التكلفة الإجمالية للشراء نهاية، تبيع وتلغي اللازمة للحفاظ على المحافظ المعدلة المخاطر. ومثال آخر هو عدد السكان ومصادر الأخبار في مؤشرات التداول التي سيستخدمها لاحقا التجار والمديرون لاتخاذ قرار بشأن التعديلات الصحيحة في نظم التداول.
الحتمية.
تنفيذ الأجهزة من خوارزمية النتائج في مستوى عال من الحتمية. وهذا يعني أنه حتى خلال انفجارات السوق عندما يتم تحميلها على الشبكات مع المعلومات، فبغا ينقل بسرعة البيانات من مكان التداول والعودة. وبصرف النظر عن ظروف الشبكة، الشريحة يمر دائما من خلال نفس تسلسل الدول، وتوفير نفس الناتج لكل مدخلات معينة.
منذ وقوع الأحداث العشوائية ضمن مسارات المعالجة محدودة جدا، مكونات فبغا تسليم زمن الاستجابة للتكرار ويمكن التنبؤ بها. وعلاوة على ذلك، يضمن عدد محدود من الدول العاملة مخاطر أقل من الأخطاء الوظيفية وتغطية الاختبار الكامل. وهذا يعطي المستخدمين من النظم فبغا تسريع ثقة عالية في سلامة الانتاج.
وحدات المعالجة المركزية، من ناحية أخرى، معروفة جيدا العشوائية المعالجة. ويرجع ذلك إلى نظام التشغيل والقطاعات التي يقودها الحدث والتي تعطي عددا لا حصر له من الاختلافات المسار من خلال تدفق البرنامج. ثم تصبح وحدات المعالجة المركزية لا غنى عنها عندما يتعلق الأمر بالتبديل بين المهام المختلفة وحل المشاكل التي تتغير باستمرار سواء من حيث الحجم أو في النطاق.
تسريع محرك هفت.
بسبب التوازي والحتمية، حلول فبغا يمكن أن تسرع بشكل كبير في حساب النماذج الرياضية ونقل البيانات إلى محركات مطابقة التبادلات. في مجموع قدراتها، وهذه رقائق هي على الأرجح أدنى شأنا من المعالجات القياسية. ولكن عندما يتعلق الأمر بالتزامن تنفيذ مهام بسيطة ومتكررة، واسعة، فبغا فاز على جميع السجلات السرعة التي تظهر من قبل وحدات المعالجة المركزية.
ما هي المهام هفت يمكن معالجتها في فبغا.
استخدام منصات فبغا في التداول عالية التردد تمكن الشركات من جمع وتطهير وإثراء ونشر مجموعة متزايدة من البيانات المالية المتغيرة بسرعة على المدى القصير. دون تحميل وحدة المعالجة المركزية، فبغا الأجهزة قادرة على تنفيذ بسرعة مختلف المهام التجارية، والتي تشمل ما يلي:
تحليل البيانات الواردة، وتوفير تصفية البيانات، فك التشفير، والتطبيع إجراء حجم ما قبل التجارة والسعر والشيكات الضمان رصد سيناريوهات القيمة والخسارة للمحافظ المالية على أساس مستمر حساب العائد من الاستثمارات ذات الدخل الثابت، وأسعار الأوراق المالية و مشتقات توليد الأوامر الصادرة، وتحويلها إلى محركات مطابقة.
مزايا الهندسة المعمارية الهجينة.
لزيادة سرعة تشغيل النظم القائمة على فبغا، يمكن للشركات هفت الاستفادة من ما يسمى الهندسة الهجينة. في قلب هذا الحل الهندسي يكمن مزيج من النوى وحدة المعالجة المركزية الصلبة مع منطق للبرمجة. من خلال اتخاذ المهام التي لا تتطلب التنفيذ السريع، معالج للأغراض العامة بشكل كبير يفرغ رقاقة فبغا، وتمكينها من التركيز بشكل كامل على خوارزميات حساسة للوقت.
وقد أصدرت شركة فيلفيتش مؤخرا حلها المختلط الخاص بالنظم المتسارعة فبغا. في العمارة التي صممتها شركتنا، وحدة المعالجة المركزية تحمل وظائف الخدمة المختلفة، من بين أمور أخرى إنشاء والحفاظ على اتصال مع التبادلات. من خلال تنفيذ استراتيجيات التداول لعملائنا في كل من البرامج والأجهزة، ونحن قادرون على بناء النظم التي تقدم أداء كبيرا مع حالات التأخير الحد الأدنى.
المكافآت التجارية من فبغا التنفيذ.
الشركات هفت التي تدمج منصات فبغا في البنى التحتية للكمبيوتر الخاصة بهم إنشاء محركات تجارية قوية مع الكمون منخفضة للغاية والقدرات الحسابية المعلقة. وكما هو مبين أعلاه، يمكن تسريع العمليات المالية المختلفة عن طريق تنفيذ الأجهزة. السرعة هي الفائدة الرئيسية التي رقائق فبغا تجلب ل هفت الأعمال، ولكن بالتأكيد ليست واحدة فقط. ويساعد دمجها الشركات على خلق بيئات تجارية أكثر أمنا، وتوفير النفقات، وزيادة الإيرادات.
الامتثال الأمني.
خلال السنوات العديدة الماضية شددت العديد من الحكومات في جميع أنحاء العالم اللوائح المتعلقة بإدارة المخاطر التي تؤديها الشركات المالية. وبالنظر إلى زيادة المسؤوليات، بدأت شركات التمويل السريع في البحث عن حلول رقمية قادرة على الرصد المستمر للقيمة والخسائر المحتملة للمحافظ المالية. ولم تتمكن النظم التقليدية التي تركز على المعالج من عرض المخاطر في المحافظ إلا في نهاية اليوم، وبالتالي لم توفر المستوى المطلوب من الأمن.
أصبحت أجهزة فبغا مع قدرات المعالجة واسعة النطاق الحل الذي طال انتظاره من قبل الكيانات المشاركة في هفت. وبإجراء تقييم شبه حقيقي للحافظات، أتاحت للشركات المالية الوفاء بمتطلبات إدارة المخاطر الصارمة التي وضعتها الهيئات الرقابية. وفي الوقت نفسه، مكن تنفيذ الأجهزة من تخفيض كبير في مبالغ المخزونات الرأسمالية اللازمة لدعم التداول في البورصات.
أرخص الصيانة.
من خلال الاعتماد على لوحات فبغا في عملهم، يمكن للشركات هفت انقاذ على النفقات المتعلقة صيانة أنظمة الكمبيوتر. حفظ شبكة من ما يقرب من 100 آلة مع المعالجات العامة يمكن أن يكلف بسهولة عدة آلاف من الدولارات سنويا. هذا المال يذهب لدفع ثمن استهلاك الطاقة، تأجير المكاتب، وتبريد النظام. واحد منصة مصممة بدقة فبغا يمكن بسهولة استبدال حوالي 100 وحدة المعالجة المركزية العامة، مما يساعد على إسقاط الشركة & # 8217؛ ق النفقات.
وبالإضافة إلى ذلك، فإن طبيعة الأجهزة القابلة للبرمجة يعني أنه لا توجد نفقات تتعلق رقائق & # 8217؛ تلفيق. كحل قابل لإعادة التشكيل والميدان ترقية، جهاز فبغا يمكن تعديلها بسهولة بعد التثبيت لتلبية الاحتياجات الجديدة. يتم إجراء تعديلات المنصة عادة عن طريق برنامج خاص للبرمجيات ويمكن أن يتم عن بعد.
أرباح أعلى.
دمج مكونات فبغا لا تجعل تجارة التداول عالية التردد أكثر ربحية. الزيادة في الربحية، في هذه الحالة، يرتبط مع سرعة أسرع لإدارة أعباء العمل هفت. تبادل البيانات بسرعة مع الأسواق المالية، أجهزة فبغا تمكن الشركات التجارية لتنفيذ المزيد من الطلبات وجني عوائد مالية أكبر.
وفي الوقت نفسه، فإن استخدام منصات فبغا يسمح الادخار على النفقات الناجمة عن الحفاظ على مجموعات ضخمة من آلات للأغراض العامة. کما تتجنب شرکات ال هفت دفع تکالیف مختلفة ناشئة عن عدم کفاءة العملیات التشغیلیة وعدم القدرة علی توفیر ضمانات أمنیة. النهج القائم على فبغا لتصميم نظام معقد وبالتالي يؤدي مباشرة إلى زيادة في ربحية الأعمال هفت.
اكتشاف قوة نانوسيكوندس مع فبغا.
وكان سباق السرعة في مجال تجارة عالية التردد ظاهرة مستمرة لسنوات وربما لن تنتهي أبدا. والطريقة الوحيدة التي يمكن بها لشركات هفت أن تحتفظ بمراكزها القيادية في السوق المالية من خلال تبني الابتكارات التكنولوجية الناشئة. وسيؤدي عدم القيام بذلك إلى خسارة وشيكة.
رقاقة فبغا، لدينا ريتولد لكم عنه في هذه المقالة، هي واحدة من هذه التقنيات ظهرت مؤخرا. نظرا لهندسة معمارية موازية وطبيعة حتمية، الأجهزة يسمح بأقل الكمون ممكن في عملية تنفيذ النظام. Accelerating the HFT engine to nanoseconds and providing a range of other business benefits, FPGA enables companies to increase trade volumes and gain higher profits.
If you are only planning to speed up your trading system with an FPGA-based platform, then start by finding the right technology partner. You need a company, which team knows all the peculiarities of HFT sphere and is able to design a custom solution that meets your specific business needs. If you still have questions about FPGA devices or do not know where to begin with your project, you can always turn to Velvetech for help.
Get the conversation started!
Do you invest in your business software wisely? Stop using old technology for new business challenges. Learn how to drive your technology innovation and stay focused on your primary business goals.
What to do when software project causes delays and cost overruns? How to avoid common mistakes when working with an outside design firm? Here are five key aspects to consider when vetting a potential software development partner for your project.
Throughout the year Velvetech worked hard to remain a trusted and reliable software development company. Looking back, we’d like to share achievements of this remarkable year.
601 Skokie Blvd., Suite 105, Northbrook, IL 60062.
Fpga in trading systems
الحصول على فيا أب ستور قراءة هذه المشاركة في التطبيق لدينا!
كيف يتم تنفيذ أنظمة هفت على فبغا في الوقت الحاضر؟
لقد قرأت عن تطبيقات مختلفة من أنظمة هفت على فبغا.
سؤالي هو، ما جزء من أنظمة هفت يتم تنفيذها في الغالب على فبغا في الوقت الحاضر؟ هل فبغا تزال شعبية جدا؟ هل يتم تنفيذ معالج التغذية فقط على فبغا؟ لأن بعض هذه الأنظمة الموصوفة أعلاه لا تملك إلا معالج تغذية يتم تنفيذه على فبغا، لأن الإستراتيجية تتغير كثيرا، أو يصعب تنفيذها على فبغا. ويدعي آخرون أنهم نفذوا أيضا استراتيجيات التداول على فبغا أو استخدام نيك عالية الأداء بدلا من فبغا لبناء أنظمة هفت. لقد قرأت عن نهج مختلفة ولكن أجد صعوبة في مقارنة كما يتم اختبار معظم النتائج على مجموعات الإدخال المختلفة.
وهنا طريقة للتفكير في ذلك: تخيل أنك يمكن أن تفعل شيئا في أسيك (أي مباشرة في الأجهزة). ومع ذلك، فإن عملية التصنيع هي في حد ذاتها مكلفة، وتحصل على التصميم الذي لا يمكنك تغيير بعد ذلك. أسيكس منطقية للمهام محددة مسبقا مثل التعدين بيتكوين، خوارزميات معالجة البيانات المعروفة، وما إلى ذلك.
من ناحية أخرى لدينا وحدات المعالجة المركزية العادية (وكذلك وحدات المعالجة المركزية وحدة المعالجة المركزية ووحدات معالجة الرسومات) التي هي للأغراض العامة، ولكن عملية صغيرة (من حيث التعليمات المتزامنة) مجموعة من التعليمات بسرعة عالية جدا.
فبغاس هي الأرض الوسطى. فهي "محاكاة الأجهزة" وعلى هذا النحو يمكن اعتبار أن يكون 10X أبطأ من الأجهزة الفعلية، ولكن لا يزال الطريق أكثر أداء للعمليات المتزامنة من وحدات المعالجة المركزية المقدمة كنت قادرا على الاستفادة من يموت لنشر المنطق الخاص وفقا لذلك.
بعض استخدامات فبغا هي:
تشفير الفيديو (على سبيل المثال، فك تشفير الفيديو عالي الوضوح في أجهزة التلفاز)، فضلا عن مختلف لوحات الحصول على البيانات تحليل بنية البيانات الثابتة (تحليل التعبير العادي) محاكاة النظام المنفصل (على سبيل المثال، محاكاة نتائج لعبة بطاقة) الكثير من التطبيقات المضمنة بشكل صحيح مثل في مجال الفضاء أو البحث العلمي.
المشكلة مع فبغا للاستخدامات الكمية هو أنه ليس جيدا جدا لحسابات العائمة نقطة، لا سيما منذ وحدات المعالجة المركزية العادية هي بالفعل الأمثل لذلك مع أشياء مثل سيمد. ومع ذلك، عن أي شيء ثابت نقطة أو حجم ثابت هياكل البيانات، تصميم فبغا يسمح لك لتكوين الجهاز للقيام بالكثير من المعالجة في نفس الوقت.
بعض الأشياء التي يتم القيام بها في التداول تستخدم فبغا لمناولة الأعلاف (تحليل مباشرة من تيار الشبكة) وكذلك بناء أجزاء معينة من هيكل التداول (على سبيل المثال كتب النظام) في الأجهزة من أجل أن تكون قادرة على التعامل مع بنية البيانات المتغيرة بسرعة دون تحميل وحدة المعالجة المركزية.
فبغا تهدف أساسا إلى معالجة القلق من معالجة البيانات بسرعة دون دفع تكاليف الانتشار. هذا هو على النقيض بشكل خاص مع الأجهزة مثل غبو (أو أي بطاقة يسي السكن، مثل زيون فاي) التي تدفع عقوبات الأداء للحصول على البيانات من / من الجهاز. ومع ذلك، فإن خيارات دما تتحسن في هذا الصدد أيضا.
فبغا في الحقيقة لا شيء أكثر من نفس كتل المنطق المتكررة مرارا وتكرارا في جميع أنحاء السيليكون، مع مفاتيح شكلي لربط كتل المنطق معا. وهذا يجعل فبغا جيدة جدا - وسريعة - في التعامل مع المشاكل المتكررة التي يمكن وصفها في دائرة الأجهزة التي لا تتغير أثناء العملية. ويمكن أن يكون حرفيا الآلاف أو عشرات الآلاف من هذه الدوائر، وكلها تعمل بالتوازي في نفس الوقت، في واحد فقط فبغا.
وحدة المعالجة المركزية من ناحية أخرى تستند حول ألو، الذي يحمل تعليمات، تحميل البيانات، يعمل على البيانات، ربما يخزن النتائج، ومن ثم يفعل ذلك من جديد. وحدة المعالجة المركزية ثم جيدة جدا - وسريعة - في التعامل مع المشاكل التي تتغير باستمرار - سواء من حيث الحجم أو في نطاق والتبديل بين المهام المختلفة. وحدة المعالجة المركزية أو الأساسية اليوم سوف يكون عشرات إلى مئات من ألو مع خطوط أنابيب موازية للبيانات والتعليمات، مما يجعلها سريعة جدا في المشاكل المعقدة التي يمكن أن تعمل على التوازي.
هذه التصاميم تجعل فبغا أسرع في مشاكل أبسط التي يمكن مهاجمتها مع معمارية موازية واسعة - مثل التكثيف أسفل بيانات متعددة يغذي في أقل من الصغرى الثانية، سلك إلى سلك، أو إثارة شراء محسوبة مسبقا، بيع أو إلغاء على سعر يطابق نمط معين. وحدة المعالجة المركزية هي أسرع في أكثر تعقيدا المشاكل التي تتطلب أقل التوازي، مثل حساب سلة من يشتري ويبيع ويلغى اللازمة للحفاظ على محفظة تعديل المخاطر أو دمج عدد من الأسعار والأخبار مصادر مختلفة العمر والجودة في مؤشرات التداول المستخدمة من قبل والتجار والإدارة لتحديد ما هي التعديلات التي سيجريها على نظام التداول.
حيث تستخدم فبغا في هفت يعتمد كثيرا على بنية متجر معين. هم أفضل استخدام أداء بسيطة، المتكررة، واسعة المهام وتنفيذها بسرعة. وحدة المعالجة المركزية هي سكين سويسري يمكن أن تفعل معظم شيء، وخصوصا حيث تتغير المتطلبات وأبعاد المشكلة ليست مفهومة تماما في البداية.
سؤالك حقا لا معنى كبير. انها مثل تسأل كم من الأسلاك في البنية التحتية التجارية يستخدم الألياف البصرية وكم من ذلك يستخدم النحاس. أفضل إجابة يمكن أن نقدمها لك هي أن فبغا ليست رصاصة سحرية.
هذا تفسير غير صحيح لورق سيسكو الأبيض. هناك القليل جدا من التداخل بين حالات استخدام النسيج التحول وتلك من فبغا.
ما جزء من أنظمة هفت يتم تنفيذها في الغالب على فبغا في الوقت الحاضر؟
حاليا، وغالبا ما تستخدم فبغا في طابعات لدينا و تف قمة مجموعة صناديق.
أريد أن أبرز كتلة "معالجة الإشارات الرقمية" (دسب) مع ألوس. فبغا اليوم لديها المئات من كتل دسب للبرمجة - أكبر جدا وجود الآلاف.
الآن، فجأة، لديك الآلاف من المعالجات الصغيرة تحت تصرفكم، وكلها قادرة على إجراء العمليات الحسابية في موازاة ذلك. وهذا يزيد كثيرا عن التوازي الذي توفره زيون في أو وحدات معالجة الرسومات. في الواقع، إذا كنت تفعل خيارات السعر النمذجة أو ستوكاستيك المخاطر النمذجة على فبغا، يمكنك الحصول على أكثر من 100 أضعاف زيادة في الأداء مقارنة مع أحدث وحدات معالجة الرسومات وأكثر من ذلك بالمقارنة مع أحدث وحدات المعالجة المركزية.
جنبا إلى جنب مع كتل دسب، العامل الرئيسي الآخر في كسب الأداء هذا هو ذاكرة التخزين المؤقت. وقد بنيت فبغا في ذاكرة الوصول العشوائي توزيع هذا هو سريع للغاية، مما يسمح عرض النطاق الترددي من 100TB / ثانية لتحقيقه في مستوى داتاباث.
باستخدام فبغا اليوم لاستراتيجيات ألغو يعطي كبيرة وحساب المتزامنة على نطاق واسع الموارد التي هي قادرة على إعطاء 100 إلى 1000 زيادة أضعاف في الأداء مقارنة مع وحدات معالجة الرسومات أو وحدات المعالجة المركزية. التحذير الرئيسي هو أن عليك أن تصبح بارعا في الكتابة في فيريلوغ أو فدل :)
سانجاي شاه كتو نانوسبيد.
مجموعة متنوعة من المعالجات القوية، العديد من النواة بدأت في طريقها إلى الفضاء تسارع الأجهزة التي كانت سابقا "مملوكة" من قبل فبغا. شركات مثل تيليرا، أدابتيفا، و متماسكة لوجيكس كل هذه المعالجات هنا في الولايات المتحدة، مع إنيكس من فرنسا أيضا جعل الطرق.
المقياس الحقيقي لفعالية هذه المعالجات المتوازية بشكل كبير يكمن في نضج أدوات البرمجيات الخاصة بهم. هذا هو المكان الذي ينبغي أن يركز المستخدم المحتمل انتباههم. لا أحد يريد برمجة أو تصحيح عشرات أو مئات النوى باستخدام التقنيات اليدوية. وبطبيعة الحال، فإنه من نافلة القول أن I / O عرض النطاق الترددي مهم.
في تجربتي الشخصية في هذا الفضاء أنا أرى اعتماد العملاء من معالجات لوجيكس متماسكة كما المعالجات المشتركة أو مسرعات الأجهزة لتسارع ألغو لغة C. من خلال التمتع دورة التصميم السريع للبيئة القائمة على C، المبرمجين ألغو يمكن قرص التعليمات البرمجية لمحتوى قلوبهم ولا تقلق بشأن مكلفة والوقت مكثف هدل الترميز ل فبغاس.
التقسيم الأمثل هو أن يكون فبغا تفعل ما يفعلونه أفضل - العمليات المتكررة المتكررة - ولها المعالجات متعددة النواة تفعل ما يفعلونه أفضل: تسريع المطورين ألغو الإنتاجية وسرعة التنفيذ.
جون إرزا، مدير تطوير الأعمال، متماسك لوجيكس، وشركة
تقريبا جميع المحلات هفت استخدام فبغا الهندسة المعمارية. هذه الأجهزة تحتاج إلى استبداله في كثير من الأحيان كما يتفوق بسرعة من خلال أحدث التحسينات في السرعة، وخطوط الأنابيب، والتوازي، وما لم تكن مستعدا للاستثمار 2M $ في السنة، ومعرفة استراتيجية أخرى. الكثير من الرجال يفعلون تحركات الأسعار اليومية مع القلم والورقة وجعل المليارات في أوماها، نب.
Fpga in trading systems
الحصول على فيا أب ستور قراءة هذه المشاركة في التطبيق لدينا!
ما مدى سرعة أنظمة التداول هفت الفن اليوم؟
All the time you hear about high frequency trading (HFT) and how damn fast the algorithms are. But I'm wondering - what is fast these days?
I'm not thinking about the latency caused by the physical distance between an exchange and the server running a trading application, but the latency introduced by the program itself.
To be more specific: What is the time from events arriving on the wire in an application to that application outputs an order/price on the wire? أي. tick-to-trade time.
Are we talking sub-millisecond? Or sub-microsecond?
How do people achieve these latencies? Coding in assembly? FPGAs? Good-old C++ code?
There's recently been published an interesting article on ACM, providing a lot of details into today's HFT technology, which is an excellent read:
You've received very good answers. There's one problem, though - most algotrading is secret. You simply don't know how fast it is. This goes both ways - some may not tell you how fast they work, because they don't want to. Others may, let's say "exaggerate", for many reasons (attracting investors or clients, for one).
Rumors about picoseconds, for example, are rather outrageous. 10 nanoseconds and 0.1 nanoseconds are exactly the same thing, because the time it takes for the order to reach the trading server is so much more than that.
And, most importantly, although not what you've asked, if you go about trying to trade algorithmically, don't try to be faster, try to be smarter. I've seen very good algorithms that can handle whole seconds of latency and make a lot of money.
I'm the CTO of a small company that makes and sells FPGA-based HFT systems. Building our systems on-top of the Solarflare Application Onload Engine (AOE) we have been consistently delivering latency from an "interesting" market event on the wire (10Gb/S UDP market data feed from ICE or CME) to the first byte of the resultant order message hitting the wire in the 750 to 800 nanosecond range (yes, sub-microsecond). We anticipate that our next version systems will be in the 704 to 710 nanosecond range. Some people have claimed slightly less, but that's in a lab environment and not actually sitting at a COLO in Chicago and clearing the orders.
The comments about physics and "speed of light" are valid but not relevant. Everybody that is serious about HFT has their servers at a COLO in the room next to the exchange's server.
To get into this sub-microsecond domain you cannot do very much on the host CPU except feed strategy implementation commands to the FPGA, even with technologies like kernel bypass you have 1.5 microseconds of unavoidable overhead. so in this domain everything is playing with FPGAs.
One of the other answers is very honest in saying that in this highly secretive market very few people talk about the tools they use or their performance. Every one of our clients requires that we not even tell anybody that they use our tools nor disclose anything about how they use them. This not only makes marketing hard, but it really prevents the good flow of technical knowledge between peers.
Because of this need to get into exotic systems for the "wicked fast" part of the market you'll find that the Quants (the folks that come up with the algorithms that we make go fast) are dividing their algos into event-to-response time layers. At the very top of the technology heap are the sub-microsecond systems (like ours). The next layer are the custom C++ systems that make heavy use of kernel bypass and they're in the 3-5 microsecond range. The next layer are the folks that cannot afford to be on a 10Gb/S wire only one router hop from the "exchange", they may be still at COLO's but because of a nasty game we call "port roulette" they're in the dozens to hundreds of microsecond domain. Once you get into milliseconds it's almost not HFT any more.
"sub-40 microseconds" if you want to keep up with Nasdaq. This figure is published here nasdaqomx/technology/
Good article which describes what is the state of HFT (in 2018) and gives some samples of hardware solutions which makes nanoseconds achievable: Wall Streets Need For Trading Speed: The Nanosecond Age.
With the race for the lowest “latency” continuing, some market participants are even talking about picoseconds–trillionths of a second.
EDIT: As Nicholas kindly mentioned:
The link mentions a company, Fixnetix, which can "prepare a trade" in 740ns (i. e. the time from an input event occurs to an order being sent).
For what its worth, TIBCO's FTL messaging product is sub-500 ns for within a machine (shared memory) and a few micro seconds using RDMA (Remote Direct Memory Access) inside a data center. After that, physics becomes the main part of the equation.
So that is the speed at which data can get from the feed to the app that makes decisions.
At least one system has claimed.
30ns interthread messaging, which is probably a tweaked up benchmark, so anyone talking about lower numbers is using some kind of magic CPU.
Once you are in the app, it is just a question of how fast the program can make decisions.
These days single digit tick-to-trade in microseconds is the bar for competitive HFT firms. You should be able to do high single digits using only software. Then <5 usec with additional hardware.
High-frequency trading has taken place at least since 1999, after the U. S. Securities and Exchange Commission (SEC) authorized electronic exchanges in 1998. At the turn of the 21st century, HFT trades had an execution time of several seconds, whereas by 2018 this had decreased to milli - and even microseconds.
it will never be under a few microseconds, because of the em-w/light speed limit, and only a lucky few, that must be in under a kilometer away, can even dream to get close to that.
Also, there is no coding, to achieve that speed you must go physical.. (the guy with the article with the 300ns switch; that is only the added latency of that switch!; equal to 90m of travel thru optical and a bit less in copper)
A Guide to the HFT Arms Race.
The big picture is that you’re jumping into the “gunslinger” business and will need to keep current (no, forget current, you need to keep ahead) to stay competitive. Reports from clients indicate that it tends to be a winner take all type of business that rewards the fastest almost exclusively. Hence the winners jumping to the latest FPGA hardware as it emerges every 18 to 24 months.
How the hardware works. Many existing automated trading systems are working in milliseconds, striving for microsecond(s), and are subject to lags under spike conditions. The lag is sometimes called “non-determinism” or the inability of the system to handle loads linearly. Anyone with a PC knows that CPUs can slow dramatically under peak loads. Shifting the bottleneck logic to an FPGA (Field Programmable Gate Array) is a means of creating a predictable, and lower latency, system.
An FPGA is simply a “box of gates” with a programmable interconnect. While they operate at clock speeds an order of magnitude below contemporary microprocessors, they do hundreds, often of thousands, of things in parallel. With competent engineering, FPGAs are many times faster than microprocessors, especially when handling streaming data feeds. Accordingly the FPGA is where you offload the bottleneck logic which is capable of being parallelized. The communication between the FPGA and the CPU goes over the PCIe bus using vendor supplied API’s.
Architectural considerations. Many teams have working trading systems on CPU based hardware. Shifting the system to new hardware involves systematically moving modules over and steps into a field called “heterogeneous processing”. Basically assigning different types of tasks to different hardware. It narrows down to a few concepts: Keep anything non critical on the CPU. CPUs are natural “traffic cops” and the easiest place to handle control and other non-latency critical logic. While the FPGAs advertise millions of gates, resources are still finite and used for non-obvious logic such as data buses and memory controllers. Routing (interconnection) of resources, just as much as gates, can also be just as much of a limiting element. Conserve the FPGA resources by keeping all non-critical logic on CPU. Keep as much as possible on single pieces of silicon. Any major accesses to memory or CPU will slow things down. Many coders say that understanding memory access is one of the larger tasks in architecting efficient systems. It is here that we need to remember that the computers that got man to the moon and back had only 8K of main memory. You can do a LOT with what is on the FPGA itself. Profiling is limited - why has no one invented a magic big red button yet? (actually, one of the authors is working on it). Basically you’re hunting for compute-bound or memory-bound CPU code to offload to an FPGA. Nothing magical is happening in the offload process. Loops are unrolled, processes are parallelized. However, there is no magic way to identify which portions of code to shift to FPGA.
Tools like Impulse C have decent visualization utilities. You can see overloaded buffers and can do some pretty cool expansions (pictured) of stage delay analysis. But the refinement is largely iterative and requires making intelligent choices in a) refactoring code into coarse grained logic (think individual processes) which the compiler can efficiently parallelize and b) experiment with breakpoints (an easy one-line function in most SW to HW compilers). Many compilers come with extensive reference designs that, realistically, are often where new coders start by splicing their code in-line or by learning from these examples. In finance, many users purchase overall trading systems turnkey applications and splice in their “secret sauce” (i. e. their specific trading algorithms)
How the software works C to VHDL to Synthesis to FPGA to 4 hours shot to heck. Since compilers cover the car payments on my Toyota, perhaps I should be more loyal. But we have to be honest and explain that, unlike CPU or GPU, the full compile to FPGA hardware can take hours and lacks some(OK most) of the back annotation detail that SW coders had in the 1990’s. It is intrinsic to the process. In this analogy, you are essentially causing a tiny circuit board (the FPGA) to be laid out in a manner optimal for your software logic. It takes a few hours to route several million gates.
Visual Studio based interface of C to FPGA hardware compilation also automatically generates stage delay analysis and compiles to FPGA running on a PCIe board.
Hand coding vs. Machine coding and QoR (Quality of Results). In the 1980’s the old dogs said HDL (hardware description languages) will never replace manual tape-out in terms of quality. None the less, as HDLs matured and the time to market advantages became obvious, HDLs largely replaced hand coding. Flash forward and it’s the same problem. but on steroids. HLLs like C, OpenCL, or Vivado HLS are rattling the cages of HDLs like Verilog or VHDL. The same arguments apply.
If time is not a concern, and you have experienced HW coders, then hand coded HDL can be superior to machine coding from HLLs. But remember this… in the 1980’s if you wanted performance you used assembly language, in the 1990’s if you wanted performance you used “C”, in the 21’st century few even remember what assembly languages looks like and “C” is so “quaint”.
If you are in HFT you are in an “arms race”. The more you tie yourself to a specific FPGA vendor’s embedded IP the more likely you are to have your lunch eaten by a competitor that can jump to another (bigger, faster) platform faster than you. Keep it generic, stay flexible! HLL designs will remain the most portable and dramatically lower your time to migrate to newer hardware. Remember the sw is the long-term investment and the hw becomes an expense item in this model, to be replaced when newer versions become available.
Example - A sub-microsecond trading appliance (pictured, and by the way, successfully deployed). This mounts a $10,000 PCIe board (with a mid-sized of the current FPGAs available) in an off the shelf 2U rack mount chassis. It uses in-band event detection technologies, originally developed for the US Department of Defense, to monitor two 10Gb/s market data feeds. It parses messages in real-time and passes the critical content to the business rules engine.
The business rules engine is written in C and is customizable. It applies pattern matching methods to real-time market feeds, producing one or more triggers for the response logic. Based on the trigger signal payload, the response logic can select one or more TCP response message templates filling in the variable data (such as FIX sequence number, quantities, prices, TCP SEQ/ACK and other overhead) as they are pushed onto the wire.
The system is engineered to be a trading appliance.
A trading system works transparently but there are many components of the software that must be configured perfectly. It is often quicker to work with known good code or a service provider.
While it necessarily requires some customization to correctly realize the client’s trading strategy in FPGA logic, the nature and scope of the customization is limited and maintains the system’s overall affordability. Variable data to the system is provided by the client’s existing trading platform and by a simple boot-time configuration file. An optional embedded MiniFIX housekeeping engine lets the entire system operate autonomously while the host trading platform concentrates on strategy synthesis only providing updates to the message templates as strategy changes. The whole system, with customer logic, typically runs >= $100k.
The Network Ecosystem.
Well, all thing being equal, the winners are playing in sub microsecond trades. But all things are not equal. Flash back a few years ago and traders were renting office space as close as possible to the actual exchange feeds in order to minimize wire length to the point of trade. Today they rent space on the exchange networking “floor”. This is called co-lo or colocation.
Zooming down inside the networking hardware we’re finding millisecond differences can occur depending on the gateway or port you get. In some countries this is dynamic, you don’t know what you’ve got till you log in. In some countries traders are allowed to “squat” on a gateway and anecdotally, we’re hearing that the lucky ones hold on to a “hot” gateway and win by milliseconds. While it is possible to temporally load balance (i. e. level the “time” playing field), we don’t see this happening. It remains a trading risk.
Other software elements in the trading system are also being accelerated. We are working with teams accelerating in-line functions such as compliance or pre-trade risk checking such as “does a guest trader have adequate balance”. Intrusion detection is another in-line function that should ideally run at low or zero latency (i. e. wire speed). Off-line functions such as Monte Carlo valuation or options analyses can run 4x faster in hardware. In the non-financial world, governments are using similar technology to execute wire-speed packet filtering applications with front-end protocol conversion.
Development methodology recap. So we generally recommend: you stay in HLL as much as possible. It is quicker, easier for C programmers, and migrates to new hardware faster. Realistically you keep an eye open for bits that can be further hand refined for speed in HDL. And overall, iterate, iterate, iterate. This is one area that is truly responsive to continual improvement.
About the authors: Brian Durwood and Nick Granny are 10 year collaborators who have created and deployed solutions for everyone from the Air Force to the Chicago Mercantile Exchange. Using Impulse Tools and IP, and MercuryMinerva Trading Systems software, the two provide turnkey systems to mid-size trading firms that are jumping in to the HFT arena. The collaboration focuses on IP that clients own, and training such that clients can make their own modifications and extensions. The authors wish to thank Ed Trexel and Richio Aikawa for their help on this article.
Comments
Post a Comment