.صافي توزيع شبكة الحوسبة الهجرة ، توصيات على المكتبات, الهندسة المعمارية [مغلقة]

StackOverflow https://stackoverflow.com/questions/1226728

سؤال

لدي c# متعددة الخيوط محاكاة مونت كارلو, التطبيق هو بالفعل منظم بحيث يمكن تقسيم إلى المهام التي تنفذ بشكل مستقل ، TaskController ينفذ المهام المجاميع النتائج المتوسطة يتحقق التقارب (الإنهاء المبكر المعايير) ثم إرجاع النتائج النهائية ، هذا هو حاليا تنفيذها باستخدام ThreadPool.

كنت مثل الاستفادة من أكثر من جهاز كمبيوتر واحد إلى المساعدة في هذا الحساب.أنا لم يكن لديك موافقة أو البنية التحتية استخدام IIS (هذه السياسة لن تتغير) ولكن يمكنني استخدام على سبيل المثال WCF مع NetTcpBinding نقطة النهاية ملزمة ، لقد اختبرت هذا الاتصال عبر ملقم وأنه لديه الأذونات المناسبة ويعمل.

لبدء أنا أفكر واحد ماستر exe (وحدة التحكم التطبيق) و العديد من العبيد على خوادم أخرى مكرسة العمال (يجب أن تكون هذه exes ؟ أو ويندوز الخدمات؟), في نهاية المطاف لا يمكن أن يكون هذه المجموعة أن تعمل على مئات من محطات العمل (وكذلك خوادم) داخل الشركة خلال وقت الخمول (أو عند شاشة التوقف هو نشط).

يمكنني أن أكتب هذا بنفسي ولكن سوف تضطر إلى التعامل مع الاتصالات, 1, 2-الطريقة ؟ الإنهاء المبكر (متوسط التقارب نتيجة فحص) ، إلغاء المهام التي لم تعد مطلوبة ، ونشر العمل ، اكتشاف متوفرة وجاهزة آلات نشر العمل اختناق/التوقف عن العمل إذا كان العمل لم يعد الخمول ؟ كل شيء آخر يذهب في توزيع النظام ؟

يجب أن سيد (مهمة المراقب المالي) معرفة عناوين (ip) من جميع العمال العبيد و قل لهم أن لا تعمل (إذا كانت متوفرة) أو أن العبد العمال فقط تعرف الماجستير وعنوان طلب العمل عندما تكون في وضع يسمح لها بذلك ، أو الاتصالات ينبغي أن تتدفق في كلا الاتجاهين ؟ سيتم تشغيل هذا على 24 ساعة مع حوالي 9 أشواط انطلقت في اليوم الواحد إلى دعم عمل مختلف المناطق.

أنا أبحث عن التوصيات .صافي شبكة/توزيع المكتبات التي يمكن أن تساعد وبعض العمارة المشورة في هذا المسعى.

التحديث

أي شخص لديه خبرة في استخدام أي من التالي ؟

http://www.digipede.net/ (commercial)
http://www.gridbus.org/~alchemi/
http://ngrid.sourceforge.net/
http://www.osl.iu.edu/research/mpi.net/

أو تستخدم JavaSpaces, جيني من .صافي أو وجدت ما يعادلها .صافي التقنيات

http://java.sun.com/developer/technicalArticles/tools/JavaSpaces/
http://www.jini.org

شكرا

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

المحلول

أود أن التحقيق في احتمال استخدام الفضائية العمارة من أجل هذا.

السيد كتابة الوظائف في الفضاء (في الأساس كائن مستودع).المستهلكة العملاء هي دائما تبحث عن وظيفة و فرص عمل متاحة ، فإنها سوف تسحب من الفضاء, عملية, و الكتابة مرة أخرى النتائج إلى أن الفضاء ، أو آخر (في المعاملات).كنت الوسم وظائف أنها تنتمي إلى تشغيل معين في مجموعة النتائج.

الاستفادة من هذا هو أن هذه المقاييس بسهولة جدا (ببساطة عن طريق إضافة المزيد من المستهلكين).المستهلكين يجب أن تحدد متى يمكن أن تعمل ببساطة تحتاج إلى تكوين مع معلومات عن الفضاء (كيفية العثور عليه).المنتج هو تنفصل تماما من مجموعة من المستهلكين.

لأن العمل يتم معالجتها بموجب الصفقة ، إذا كان المستهلك فشل في إكمال العمل يعود إلى مساحة متاحة للمعالجة من قبل مستهلك آخر.

يمكنك التعامل مع نتائج المتوسطة بسهولة.المنتج يأخذ النتائج من الفضاء يمكن أن تجنيها وسيطة كما تصبح النتائج متاحة.يمكنك إلغاء الوظائف بسهولة.ببساطة إزالة لهم من الفضاء.

يمكنك إضافة المزيد من المنتجين بسهولة جدا.انهم ببساطة كتابة نفس الفضاء ، وإذا الوظائف يتم تمييزها بشكل مناسب, نتائج ترتبط المنتج بشكل لا لبس فيه.

لست متأكدا ما الأطر المتاحة .صافي للأسف (أنا من جافا العالم و استخدام Javaspaces - استخدام هذه الديناميكية اكتشاف أي التكوين مطلوب).ولكن يستحق بعض غوغلينغ.ربما (إذا كان هذا هو قوي بما فيه الكفاية) ، يمكنك كتابة C# منتج/المستهلكين إلى واجهة Javaspace البنية التحتية.

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