سؤال

أنا أبحث عن منصة حوسبة موزعة يمكن دمجها بسهولة في التطبيق.

لقد قمت بالتحقق من MPI (وبعض تطبيقاته) ولكن مما رأيته يتضمن إنشاء ملف قابل للتنفيذ لكل مهمة ويتم تشغيله باستخدام mpirun.أنا لا أستبعده، أريد فقط أن يتم تضمينه في تطبيق، وليس كملف خارجي قابل للتنفيذ (إن أمكن).

هل تعرفون أنتم، مستخدمي SO، إطار العمل هذا (ويفضل أن يكون مفتوح المصدر)؟أيضًا، من أجل اتخاذ قرار بشأن بعض عينات الاستخدام، سيكون من الجيد.

أنا مهتم بحل عبر الأنظمة الأساسية إن أمكن، نظرًا لأن المحطات الموجودة في الشبكة المحلية حيث سيتم نشر الحل غير متجانسة.

أي اقتراحات وخاصة أمثلة التعليمات البرمجية هي موضع تقدير كبير.

هل كانت مفيدة؟

المحلول

تتبادر إلى الذهن أربعة أنظمة بخلاف MPI:أمكب، ZeroMQ, سيلك, ، والممثلين.

يستخدم AMQP تمرير الرسائل للتواصل بين الأنظمة، وذلك باستخدام وسيط رسائل مركزي للتعامل مع/توزيع الرسائل.تضمن بعض التطبيقات التسليم الصحيح إلى جهاز الاستقبال ولكنها أبطأ (على غرار TCP).بعض التطبيقات يتم إيقافها ونسيانها، مما يمنع التسليم المضمون، ولكنها أسرع (على غرار UDP).ملاحظة: AMQP هو بروتوكول، وليس تطبيقًا - وتشمل التطبيقات الشائعة ActiveMQ و RabbitMQ.

ZeroMQ يشبه إلى حد ما AMQP بدون وسيط الرسائل المركزي.أعتقد أنه في الأساس أسلوب الممثلين، حيث أنه أكثر برمجية، ويسمح لك بتصميم نظامك بطريقة شاملة.إنها لا مركزية (لا يوجد وسيط رسائل مركزي) ويبدو أن المعايير تظهر أنها أسرع بكثير من تطبيقات AMQP.

ليس لدي الكثير من الخبرة مع سيلك بخلاف حقيقة أنه مشروع مدعوم جيدًا من معهد ماساتشوستس للتكنولوجيا (MIT) ومصمم للعمل مع C/C++.

الممثلون عبارة عن فكرة مجردة للمساعدة في كل من التزامن المحلي/الموزع، وقد شاع بواسطة Erlang ومؤخرًا، عكا مشروع (سكالا، جافا).الإصدارات المتوافقة مع C++ والتي أعرفها هي Theron وActor-CPP وlibcppa، على الرغم من أنني لست متأكدًا من أي منها يدعم الممثلين عن بعد.

نصائح أخرى

أظن هازلكاست هو هذا النوع من الأشياء؛الحوسبة الموزعة القابلة للتضمينلكنه في جافا، وليس C.ولكن يمكنك الاتصال بـ C من Java.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top