में डेटाफ्लो कंप्यूटिंग मेरे पास एन (आमतौर पर एन < 10 है लेकिन इसे स्केल करना चाहिए) विभिन्न मशीनों पर चलने वाली प्रक्रियाएं और खरगोश एमक्यू का उपयोग करके एमक्यूपी के माध्यम से संचार करना। प्रक्रियाएं आमतौर पर लंबी दौड़ होती हैं और किसी भी भाषा में लागू की जा सकती हैं (हालांकि अधिकांश जावा/पायथन हैं)।पायथन
प्रत्येक प्रक्रिया के लिए कई इनपुट (संख्या/तार) की आवश्यकता होती है और कई आउटपुट (केवल संख्याएं या तार) उत्पन्न करती है। प्रक्रिया को निष्पादित करना असंकालिक रूप से होता है: इसकी इनपुट कतार पर एक संदेश भेजना और आउटपुट कतार द्वारा कॉलबैक को ट्रिगर करने का इंतजार करना।
- का पता लगाने के जो प्रक्रियाओं की जरूरत है और निर्भरता ग्राफ
- उत्पन्न सांस्थितिकी ग्राफ सॉर्ट और निष्पादित, नोड बदलाव करने की आवश्यकता होगी:
आदर्श रूप में उपयोगकर्ता कुछ इनपुट और आउटपुट वांछित और सिस्टम चाहिए निर्दिष्ट करता है घटना संचालित
यदि कोई इनपुट प्रति शाखा समानांतरता की अनुमति देता है तो एक नोड को आग लगनी चाहिए। मैं अब के लिए कोई चक्र नहीं ले सकता, लेकिन अंततः चक्र होंगे (उदाहरण के लिए, आउटपुट को तब तक दोहराने की आवश्यकता हो सकती है जब तक आउटपुट अब नहीं बदले)।
यह (डेटा) प्रवाह प्रोग्रामिंग (discussed here before) से ज्ञात समस्या होनी चाहिए और मैं पहिया को फिर से आविष्कार करना चाहता हूं। मैं एक अजगर समाधान पसंद करूंगा और एक खोज Trellis और Pypes की ओर ले जाती है। Trellis अब विकसित नहीं है, लेकिन चक्र का समर्थन करने लगता है, जबकि पाइप नहीं करता है। यह भी सुनिश्चित नहीं है कि सक्रिय रूप से विकसित पाइप कैसे हैं।
आगे की खोज reveal a whole list of event based programming frameworks, जिनमें से कोई भी मैं विशेष रूप से जानकार नहीं हूं। Taverna और KNIME जैसे वर्कफ़्लो वातावरण हैं, लेकिन यह ओवरकिल लगता है।
क्या किसी को इस प्रकार की समस्या से निपटने या पुस्तकालयों के साथ किसी भी अनुभव का सामना करना पड़ता है?
संपादित करें: अन्य पुस्तकालयों मैंने पाया हैं:
क्या आप अंत में चयन किया था? – elviejo79
मैंने खरगोश – dgorissen
हाँ के शीर्ष पर अपनी पतली परत को घुमाया ... शायद निकट भविष्य में डेटाफ्लो/बीम पाइथन के लिए एक अच्छा समाधान होगा। http://stackoverflow.com/questions/35264441/what-is-apache-beam – elviejo79