حقائق رئيسية
- Submicro هو نظام تداول بفترة زمنية منخفضة للغاية تم تطويره بواسطة كريشنا باجباي.
- النظام مُنفذ بلغة برمجة Rust.
- يستخدم تقنيات تجاوز النواة لتقليل النفقات التشغيلية للشبكة.
- يهدف المشروع إلى تحقيق زمن زمني من نوع "سب مايكروثانية" لعمليات التداول.
- النظام مرتبط بـ Y Combinator وتم مناقشته على Hacker News.
ملخص سريع
تم تطوير نظام تداول جديد بفترة زمنية منخفضة للغاية يسمى Submicro بواسطة كريشنا باجباي. تم تصميم النظام ليحقق سرعات عالية للغاية، مستهدفاً نطاق زمن الثانية الفرعية المطلوب للتداول عالي التردد.
يتم تنفيذ المشروع بلغة برمجة Rust، باستخدام أكواد شبكة مخصصة وتقنيات تجاوز النواة لتقليل تأخيرات المعالجة. يسمح هذا المعمار للنظام بتجاوز نفقات نظام التشغيل القياسية، مما يوفر وصولاً مباشراً إلى عتاد الشبكة لنقل البيانات وتنفيذ الأوامر بسرعة.
يركز Submicro على الأداء الحاسم، مما يضمن أوقات تنفيذ متسقة وهي أساسية لاستراتيجيات التداول المالية. يسلط التطوير الضوء على الزيادة المتزايدة للطلب على حلول البرمجيات المتخصصة عالية الأداء في مشهد التكنولوجيا المالية التنافس.
1. مقدمة عن Submicro
قام كريشنا باجباي بتطوير بنية تحتية للتداول عالية الأداء تُعرف باسم Submicro. تم تصميم النظام لمعالجة الحاجة الحاسمة للسرعة في الأسواق المالية الحديثة، حيث يمكن أن تحدد مزايا الميكروثانية نجاح التداول. يمثل Submicro حلاً برمجياً متخصصاً تم بناؤه من الصفر لتقليل الزمن الضائع في دورة التداول.
الهدف الأساسي من المشروع هو تحقيق أداء منخفض للغاية للزمن، مستهدفاً بشكل خاص نطاق الثانية الفرعية. هذا المستوى من السرعة ضروري لاستراتيجيات التداول الخوارزمية التي تعتمد على رد الفعل السريع لبيانات السوق وتنفيذ الأوامر بسرعة. من خلال تقليل الوقت المستغرق لمعالجة المعلومات وإرسال التداولات، يهدف النظام إلى توفير ميزة تنافسية.
ال المشروع متاح للجمهور، مما يسمح للمطورين وأطراف أخرى مهتمة بمراجعة التنفيذ التقني. يعمل كعرض لتقنيات هندسة البرمجيات المتقدمة المطبقة في مجال التكنولوجيا المالية.
2. المعمارية التقنية وال stack
يتم بناء نظام Submicro باستخدام لغة برمجة Rust. تم اختيار Rust ل组合 ميزات ضمانات السلامة في الذاكرة وقدرات الأداء العالية، مما يجعله خياراً مثالياً للأنظمة حيث تكون الموثوقية والسرعة في مقدمة الأهمية. تسمح اللغة بالتحكم منخفض المستوى في موارد النظام دون المخاطر المرتبطة بالإدارة اليدوية للذاكرة في لغات أخرى.
لتحقيق أهدافه الزمنية المنخفضة، يستخدم النظام شبكة تجاوز النواة. تتجنب هذه التقنية المكدس القياسي لنواة لينكس، والذي يقدم تأخيرات متغيرة. بدلاً من ذلك، تستخدم تقنيات مثل DPDK (Data Plane Development Kit) أو مكتبات مشابهة للتواصل مباشرة مع بطاقة واجهة الشبكة (NIC).
المكونات المعمارية الرئيسية تشمل:
- كواد شبكة مخصصة: تنفيذ متخصص مصمم للتعامل مع معالجة الحزم بأقل قدر من النفقات.
- برامج تعريف استطلاع: يستخدم النظام الاستطلاع بدلاً من المقاطعات للتحقق من البيانات الواردة، مما يضمن أن وحدة المعالجة المركزية جاهزة دائماً لمعالجة تحديثات السوق على الفور.
- تحسين الذاكرة: إدارة حذرة لتخصيص الذاكرة لمنع توقف جمع القمامة وضمان سلوك حاسم.
3. الأداء وأهداف الزمن
المقياس الأساسي لـ Submicro هو الزمن، وتحديداً الوقت المنقضي بين استلام حزمة بيانات السوق وإرسال رسالة تنفيذ أمر. يستهدف النظام زمن الثانية الفرعية، وهو أسرع بكثير من أنظمة التداول التقليدية التي تعمل في نطاق المليثانية أو الميكروثانية.
الاتساق مهم مثل السرعة الخام في التداول. تم تصميم المعمارية لتكون حاسمة، مما يعني أن الزمن يظل مستقراً ومتوقعاً حتى تحت العبء الثقيل. هذا يمنع السلوك المتقلب في خوارزميات التداول التي تعتمد على توقيت متسق.
هذه التحسينات تضمن أن البرنامج يمكنه مواكبة أسرع تيارات بيانات السوق المتاحة اليوم.
4. التطوير والمجتمع
مشروع Submicro مرتبط بـ كريشنا باجباي وقد لفت الانتباه داخل مجتمع المطورين. يتم استضافة التعليمات البرمجية المصدرية والوثائق عبر الإنترنت، مما يوفر الشفافية في تصميم النظام. تم مناقشته على منصات مثل Hacker News، مما يشير إلى الاهتمام بين مهندسي البرمجيات والمطورين الكمي.
المشروع مرتبط أيضاً بـ Y Combinator
من خلال مشاركة المشروع بانفتاح، يساهم المطور في المحادثة الأوسع حول الحوسبة عالية الأداء في التمويل. يعمل كموثوقية لأولئك الذين يبحثون لفهم تعقيدات بناء أنظمة منخفضة الزمن باستخدام لغات وتقنيات برمجة حديثة.
