AIFlow عبارة عن منصة لتنسيق سير العمل قائمة على الأحداث تتيح للمستخدمين تأليف وجدولة سير العمل برمجيًا مع مزيج من مهام البث والمهام المجمعة.
تقوم معظم منصات تنسيق سير العمل الحالية (مثل Apache AirFlow وKubeFlow) بجدولة عمليات تنفيذ المهام بناءً على تغييرات حالة عمليات تنفيذ المهام الأولية. على الرغم من أن هذا الأسلوب يعمل بشكل جيد مع المهام المجمعة المضمونة للانتهاء، إلا أنه لا يعمل بشكل جيد مع المهام المتدفقة التي قد يتم تشغيلها لفترة غير محدودة من الوقت دون تغيير الحالة. تم اقتراح AIFlow لتسهيل تنسيق سير العمل الذي يتضمن مهام التدفق.
على سبيل المثال، قد يرغب المستخدمون في تشغيل مهمة دفق Flink بشكل مستمر لتجميع بيانات التدريب، وبدء مهمة تدريب على التعلم الآلي في كل مرة تقوم فيها وظيفة Flink بمعالجة جميع البيانات الأولية للساعة الماضية. من أجل جدولة سير العمل هذا باستخدام منصة تنسيق سير العمل غير القائمة على الحدث، يحتاج المستخدمون إلى جدولة مهمة التدريب بشكل دوري بناءً على وقت ساعة الحائط. إذا كان هناك ارتفاع في حركة المرور أو فشل في مهمة المنبع، فقد لا تكون مهمة Flink قد عالجت الكمية المتوقعة من البيانات الأولية بحلول الوقت الذي تبدأ فيه مهمة TensorFlow. يجب أن تستمر المهمة الأولية في الانتظار، أو تفشل بسرعة، أو تعالج بيانات جزئية، ولا يعد أي منها مثاليًا. بالمقارنة، يوفر AIFlow واجهات برمجة التطبيقات لمهمة Flink لإصدار حدث في كل مرة تزيد فيها العلامة المائية المستندة إلى الحدث بمقدار ساعة، مما يؤدي إلى تنفيذ مهمة التدريب المحددة من قبل المستخدم، دون التعرض للمشكلات الموضحة أعلاه.
تعرف على المزيد حول AIFlow على https://ai-flow.readthedocs.io
يعتمد على الأحداث: يقوم AIFlow بجدولة سير العمل والوظائف بناءً على الأحداث. يعد هذا أكثر كفاءة من الجدولة المستندة إلى الحالة ويكون قادرًا على جدولة مهام سير العمل التي تحتوي على وظائف الدفق.
قابلة للتوسيع: يمكن للمستخدمين بسهولة تحديد المشغلين والمنفذين الخاصين بهم لإرسال أنواع مختلفة من المهام إلى منصات مختلفة.
مرة واحدة بالضبط: يوفر AIFlow آلية معالجة الأحداث ذات دلالات مرة واحدة بالضبط، مما يعني أن مهامك لن يتم تفويتها أو تكرارها أبدًا حتى في حالة حدوث تجاوز الفشل.
يمكن لـ B AIFlow+Flink أن يقوم بحل المشكلة
نحن نرحب بكل سرور بالمساهمات في AIFlow بأي طريقة، سواءً في الإبلاغ عن المشكلات، أو صياغة الميزات، أو المساهمة في تغييرات التعليمات البرمجية. يمكنك الإبلاغ عن المشكلات لطلب الميزات في مشكلات GitHub. إذا كنت ترغب في المساهمة بتغييرات التعليمات البرمجية، يرجى مراجعة الوثائق المساهمة.
لمزيد من المعلومات، ننصحك بالانضمام إلى مجموعة مجتمع AIFlow في مجموعات Google للتواصل معنا: [email protected] .
يمكنك أيضًا الانضمام إلى المجموعة على DingTalk. رقم مجموعة DingTalk هو 35876083
، ويمكن أيضًا الانضمام إلى هذه المجموعة عن طريق مسح رمز الاستجابة السريعة أدناه: