मैं एक C# मल्टी-थ्रेडेड मोंटे कार्लो सिमुलेशन, आवेदन पहले से ही संरचित है ऐसी है कि वह कार्य है कि स्वतंत्र रूप से निष्पादित में से विभाजित किया जा सकता है, एक TaskController कार्य निष्पादित करता है , मध्यवर्ती परिणाम एकत्रित करता है, अभिसरण (प्रारंभिक समाप्ति मानदंड) के लिए जांच करता है, फिर अंतिम परिणाम देता है, यह वर्तमान में थ्रेडपूल का उपयोग करके लागू किया जाता है।शुद्ध वितरित ग्रिड कंप्यूटिंग प्रवास, पुस्तकालयों पर सिफारिशों, वास्तुकला
मैं इस गणना में सहायता के लिए एक से अधिक कंप्यूटर का लाभ उठाने की तरह चाहता हूं। मेरे पास आईआईएस (यह नीति बदलने के लिए नहीं जा रही है) का उपयोग करने के लिए अनुमोदन या आधारभूत संरचना नहीं है, लेकिन मैं उदाहरण के लिए डब्लूसीएफ का उपयोग नेटटीसीपी बाइंडिंग एंडपॉइंट बाध्यकारी के साथ कर सकता हूं, मैंने सर्वर पर इस संचार का परीक्षण किया है और इसकी उचित अनुमतियां हैं और काम करता है।
शुरू करने के लिए मुझे लगता है कि एक मास्टर एक्सई (कंसोल ऐप) और समर्पित सर्वर के रूप में अन्य सर्वरों पर कई दास हैं (क्या ये exes? या windows सेवाएं होनी चाहिए?), अंततः मैं यह सेट सैकड़ों पर चलाने के लिए रख सकता था निष्क्रिय समय (या जब एक स्क्रीनसेवर सक्रिय होता है) के दौरान कंपनी के भीतर वर्कस्टेशंस (साथ ही सर्वर) के।
मैं इसे स्वयं लिख सकता हूं, लेकिन मुझे संचार, 1, 2-रास्ता संभालना होगा? प्रारंभिक समाप्ति (इंटरमीडिएट अभिसरण परिणाम जांच), कार्यों को रद्द करने, कार्य की तैनाती, काम की तैनाती के लिए उपलब्ध और तैयार मशीनों की खोज, कार्यस्थल अब निष्क्रिय नहीं होने पर काम की थ्रॉटलिंग/रोकना? सबकुछ जो वितरित सिस्टम में जाता है?
क्या मास्टर (कार्य नियंत्रक) सभी दास श्रमिकों के पते (आईपी) को जानना चाहिए और उन्हें काम करने के लिए कहें (यदि वे उपलब्ध हैं) या दास श्रमिकों को केवल मास्टर पता पता होना चाहिए और जब वे हों तो अनुरोध करें ऐसा करने की स्थिति में, या संचार दोनों तरीकों से बहना चाहिए? यह 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, .net या पाया बराबर .net प्रौद्योगिकियों
http://java.sun.com/developer/technicalArticles/tools/JavaSpaces/
http://www.jini.org
धन्यवाद
जिनी और जावस्पेस तकनीक वास्तव में दिलचस्प लगती है। क्या विंडोज़ इंफ्रास्ट्रक्चर पर होस्ट करना आसान है? क्या वे विंडोज सेवाएं हैं? एनेट समकक्ष बहुत अच्छा होगा। – m3ntat
आपको बस एक मानक जावा वीएम की आवश्यकता है, और आप http://wrapper.tanukisoftware.org/doc/english/download.jsp (मुफ्त या व्यावसायिक संस्करण) का उपयोग कर एक सेवा के रूप में लपेट सकते हैं। मुझे दुर्भाग्यवश ,नेट के बारे में पता नहीं है, लेकिन आप रिक्त स्थान से बात करते हुए जावा प्रक्रिया से प्रेरित होने के लिए आसानी से अपना .NET एमसी प्रत्यारोपण प्राप्त कर सकते हैं। जावस्पेस में आपकी वस्तुएं भाषा अज्ञेयवादी हो सकती हैं - उदा। एक्सएमएल - .NET दुनिया के लिए एक सरल पास-थ्रू की सुविधा प्रदान करने के लिए। –