2010-08-18 16 views
5

आज उपयोग में समवर्ती प्रोग्रामिंग के लिए प्रतिमान और विधियों की एक बड़ी संख्या है। सॉफ्टवेयर ट्रांजैक्शनल मेमोरी, अभिनेता, साझा राज्य समेकन, ट्यूपल रिक्त स्थान और कई, कई और।समवर्ती गणना के लिए उदाहरण समस्याएं

मुझे जो कमी है, वह समेकन के लिए दिलचस्प परीक्षण समस्याओं की एक पुस्तकालय है। एक प्रसिद्ध उदाहरण "डाइनिंग फिलॉसॉफर्स प्रॉब्लम" है, जो न तो जटिल है और न ही प्रेरणादायक और न ही यथार्थवादी है। फिर कई समांतर एल्गोरिदम (मैट्रिक्स गुणा, प्रतिपादन, सामान्य नेस्टेड डेटा समांतरता) हैं जिन्हें केवल काम के वितरण की आवश्यकता होती है, लेकिन निष्पादन के धागे के बीच संचार के साथ कोई वास्तविक सहमति नहीं है।

तो, क्या कोई मुझे उन समस्याओं के कुछ रोचक सेटों के बारे में बता सकता है जिनके लिए एक इंटरैक्टिव, शायद यहां तक ​​कि वितरित वातावरण में वास्तविक सहमति की आवश्यकता होती है, जो कि समवर्ती प्रतिमानों के उदाहरणों के रूप में उपयोग करने के लिए पर्याप्त सरल हैं? आदर्श रूप में, मैं समवर्ती प्रतिमानों के लिए "कमी-परीक्षण" के रूप में सेवा करने के लिए समस्याओं का एक सेट ढूंढना चाहता हूं (या उनके मतभेदों को उजागर करने के लिए, क्योंकि प्रत्येक प्रतिमान में इसकी ताकत और कमजोरियां हैं)।

किसी भी मदद की बहुत सराहना कर रहा है :)

उत्तर

3

मैं पहले इस सटीक मुद्दे पर विचार किया है, पहले से प्रस्तावित होने कुछ समवर्ती कार्यक्रमों की अपने आप मानदंड: p

निष्कर्ष मैं तो पहुंच गया है कि इस तरह के एक परीक्षण सेट करता है वास्तव में एक भाषा-स्वतंत्र तरीके से मौजूद नहीं लग रहा है। हालांकि यह अस्तित्व में रहने के लिए सहायक हो सकता है, ऐसा लगता है कि यह कुछ अच्छे कारण नहीं हैं (मेरे ज्ञान के सर्वोत्तम में)।

समवर्ती प्रोग्रामिंग के भीतर अधिकांश फोकस डेटा समांतरता पर होता है, जैसे कि एक ही ऑपरेशन उसी डेटा सेट के विभिन्न टुकड़ों के समानांतर में लागू होता है। कार्य-स्तर समानांतरता के प्रकार (यानी समानांतर, संभावित रूप से साझा डेटा में किए जा रहे विभिन्न कार्यों) जो मुझे लगता है कि आप इस बारे में बात कर रहे हैं वास्तव में बहुत कुछ नहीं किया जाता है। मुझे लगता है कि ऐसा इसलिए है क्योंकि यह थोड़ी मुश्किल है। लेकिन मुझे लगता है कि यह भी कठिन है क्योंकि ज्यादातर समस्याएं इस तरह की सहमति के लिए खुद को विशेष रूप से अच्छी तरह से उधार नहीं देती हैं। समेकन प्राइमेटिव के संदर्भ में एक वितरित प्रणाली का वर्णन करना उपयोगी हो सकता है, लेकिन इन प्रणालियों को इस तरह से डीकॉप्लेड किया जाता है कि उनके संचार को नियंत्रित करने वाला प्रोटोकॉल (लिखित या निहित) होता है। लोग स्पष्ट रूप से "समवर्ती" प्रोग्रामिंग परिस्थितियों के रूप में इस तरह के सिस्टम के बारे में नहीं सोचते हैं, भले ही उन्हें सही फ्रेम के भीतर देखा जाता है (यानी "क्लाइंट" और "सर्वर" पर विचार करते हुए एजेंट कुछ बिंदुओं पर सिंक्रनाइज़ेशन के साथ समानांतर में काम करते हैं) ।

एकमात्र जगह मुझे लगता है कि आपको प्रेरणा के कुछ स्रोत मिल सकते हैं व्यक्तिगत कार्यान्वयन के भीतर होगा। एरलांग, ओकम (और ओकम-पीआई), एलिस, सीएमएल, समवर्ती हास्केल इत्यादि में छोटे परीक्षण कॉर्पस होने की संभावना है, लेकिन दोनों समस्याओं और उनके कार्यान्वयन को एक विशिष्ट भाषा के भीतर कार्यान्वित करने की दिशा में पक्षपातपूर्ण होने जा रहे हैं (क्योंकि वे स्पष्ट रूप से हैं उस भाषा के भीतर लागू करने योग्य!)। शायद आप multi-party session types पर काम कर रहे समुदायों को भी देख सकते हैं, और विभिन्न process calculi जैसे कि पी-कैलकुस, सीसीएस और सीएसपी यह देखने के लिए कि वे किस प्रकार के सिस्टम उदाहरण मॉडल के रूप में उपयोग कर रहे हैं। समवर्ती का वर्णन करने के लिए समस्याओं के मानक भाषा-अज्ञेयवादी सेट का विचार सिस्टम संचार कर रहा है, लेकिन इस बिंदु पर कुछ हद तक छिपी हुई है, मुझे लगता है।

+0

इसके अलावा, यदि आपको परीक्षण समस्याओं के इस तरह के कॉर्पस को संकलित करने का प्रयास करने में कोई रूचि है, तो मुझे बताएं। मुझे मदद करने में रुचि हो सकती है। मेरे प्रोफाइल में जुड़ी वेबसाइट से संपर्क विवरण उपलब्ध हैं। – Gian

संबंधित मुद्दे