2009-08-19 7 views
11

"concurrency" से मेरा मतलब है कि एरलांग के कलाकारों और समवर्ती जीसी जैसे हल्के प्रक्रियाओं का उद्देश्य ऐसी प्रक्रियाओं को सुचारू रूप से काम करना है।क्या आईएनआरए ओकैमल को समवर्ती प्राइमेटिव जोड़ने जा रहा है?

यह बहुत अच्छा होगा अगर ओसीएएलएल ने ओसीएमएल को बहुआयामी भविष्य के लिए तैयार करने के लिए मौजूदा ओकैमल कार्यान्वयन के उन दोषों से छुटकारा पा लिया।

पीएस एफ # वह नहीं है जिसे मैं ढूंढ रहा हूं।

उत्तर

9

no

मैं अपने विवरण के पुनरुत्पादन के बिना अधिक संक्षिप्त नहीं हो सकता। यह खुद के लिए बोलता है। हां, यह 2002 से है, लेकिन मैंने उसे इस मुद्दे पर नहीं सुना है, और पाठ से, यह संभव नहीं लगता है कि वह इन लक्ष्यों से पीछे हट जाएगा।

समवर्ती कार्यात्मक प्रोग्रामिंग पर वर्तमान विकास के लिए, संभवतः एमपीआई समाधान (with ocaml bindings) आपकी समस्या का समाधान हो सकता है। जाहिर है यह स्मृति समानांतरता साझा नहीं है। concurrent ML भी है।

+1

मैं अभी अभिलेखागार में खोदने के लिए तैयार नहीं हूं, लेकिन मुझे यकीन है कि हाल ही में ऐसे कई धागे हैं जहां समान भावनाएं व्यक्त की गई हैं। आईएनआरआईए ओकैमल भाषा का समर्थन करने पर केंद्रित है, एलडब्ल्यूपी या समवर्ती रनटाइम जैसी बड़ी नई सुविधाओं के साथ आगे बढ़ना नहीं। क्या वह आंशिक रूप से जॉन हैरोप के एचएलवीएम का मुद्दा नहीं है? –

+0

ocaml4multicore उपलब्ध है (सीमाओं के साथ), देखें: http: //www.algo-prog।जानकारी/ओसीएमसी/वेब/ – nlucaroni

+1

वर्थ नोटिंग: एम। लेरोय ने 2002 में ओकैमल सूची में उस व्याख्यान को वापस दिया, यह मामला था कि एसएमपी मशीनें आज जितनी आम हैं उतनी आम नहीं थीं। फिर भी, यह देखा जाना बाकी है कि ओकैमल रनटाइम में साझा-स्मृति समांतरता जोड़ना एसएमपी सिस्टम के लिए अनुकूलित करने के लिए अधिक पारंपरिक दृष्टिकोण पर एक जीत है: कांटा/निष्पादन और इंटरप्रोसेस संचार। ऐसा लगता है कि आईएनआरआईए ने अभी तक कोई घोषणा नहीं की है कि उसका सामूहिक दिमाग बदल गया है। –

2

है J&oCaml है, जो ...

Objective Caml प्लस (&) join calculus, कि, OCaml समवर्ती और वितरण प्रोग्रामिंग के लिए बढ़ा दिया गया है।

+3

लेकिन यदि आप एकाधिक कोर का उपयोग करना चाहते हैं तो आपको JoCaml के साथ भी स्पष्ट रूप से कांटा कॉल करने की आवश्यकता है। – aneccodeal

2
+2

यह ओकैम 4 मल्टीकोर में समाप्त हुआ लेकिन यह बहुत उपयोगी नहीं है क्योंकि आवंटन गंभीरता से क्षतिपूर्ति को नुकसान पहुंचाता है और आवंटन मूल्य प्रकारों की कमी के कारण ओकैमल में व्यावहारिक रूप से अपरिहार्य है। –

0

को समवर्ती जीसी जोड़ने के लिए एक परियोजना वित्त पोषित किया संगामिति पुरातन प्रदान करता है , और एरो रहा है थोड़ी देर के लिए und। third पार्टी libraries भी हैं जो उच्च-स्तरीय/अलग समवर्ती API प्रदान करते हैं।

लेकिन ऐसा लगता है कि आप conflating concurrency and parallelism हैं।

पाठ्यक्रम का ओकैम समानांतरता के रास्ते में नहीं मिलता है। आप ओकैमल को एक ही समय में हजारों या लाखों मशीनों पर चला सकते हैं। बड़े पैमाने पर समांतर सुपरकंप्यूटर के लिए प्रोग्राम करना आसान बनाने के लिए MPI bindings भी हैं। लेकिन वर्तमान संदर्भ ओकैमल कार्यान्वयन स्वचालित रूप से समवर्ती कार्यक्रमों को समानांतर नहीं करेगा, जो मुझे लगता है कि आप वास्तव में अधिक रुचि रखते हैं।

आपको Multicore OCaml में रुचि हो सकती है जो साझा स्मृति समांतरता के लिए बेहतर समर्थन प्रदान करता है, क्योंकि एसएमपी कंप्यूटर बन गए हैं पिछले कुछ दशकों में काफी प्रचलित है और उनके लिए अधिक आसानी से अनुकूलन करना वाकई अच्छा होगा। वे धीमी लेकिन स्थिर प्रगति कर रहे हैं और इसे सही करने की कोशिश कर रहे हैं।

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