सीपीयू-गहन .NET ऐप को समानांतर करने के लिए वर्तमान सर्वोत्तम विकल्प क्या हैं?

यह एक खुला अंत प्रश्न है। मुझे किस दृष्टिकोण पर विचार करना चाहिए?

0
जोड़ा
विचारों: 2
क्या हार्डवेयर? यदि यह सीपीयू गहन है, और आपके पास केवल 1 एकल-कोर CPU है, तो एकाधिक थ्रेड प्रदर्शन कम कर देंगे। इसके अलावा, यदि आपको पीसी के समूह के समानांतर करने की आवश्यकता है, तो यह 1 पीसी पर एकाधिक धागे की तुलना में एक बहुत ही अलग जानवर है।
जोड़ा लेखक mbeckish, स्रोत

4 उत्तर

.NET के कुछ समांतर एक्सटेंशन हैं जो वर्तमान में परीक्षण में हैं और माइक्रोसॉफ्ट के समानांतर कंप्यूटिंग पर उपलब्ध हैं डेवलपर सेंटर । उनके पास कुछ रोचक वस्तुएं हैं जिन्हें आप समानांतर foreach और LINQ के समानांतर संस्करण की अपेक्षा करेंगे PLINQ कहा जाता है। एक्सटेंशन के बारे में कुछ बेहतरीन जानकारी चैनल 9 पर है।

0
जोड़ा

@Larsenal

यदि आप .NET के बाहर शाखा बनाना चाहते हैं तो इंटेल के थ्रेडिंग बिल्डिंग ब्लॉक के बारे में बहुत सी चर्चा हुई है जो कि है सी ++ के लिए समानांतर लाइब्रेरी।

0
जोड़ा

आपका पहला कदम आपकी समस्या में समांतरता को ढूंढना और समझना है। मल्टी-थ्रेडेड कोड लिखना वाकई आसान है जो एकल-थ्रेडेड कोड से बेहतर नहीं होता है। "समांतर प्रोग्रामिंग के लिए पैटर्न" (अमेज़ॅन) एक महान परिचय है महत्वपूर्ण अवधारणाओं के लिए।

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

0
जोड़ा

कई विकल्प हैं और सबसे अच्छा समाधान उस समस्या की प्रकृति पर निर्भर करेगा जिसे आप हल करने का प्रयास कर रहे हैं। यदि आप एक शर्मनाक समानांतर समस्या को हल करने का प्रयास कर रहे हैं तो कार्यों को विभाजित करना और समानांतर करना मामूली होगा। उस स्थिति में चुनौती डेटा का वितरण और प्रबंधन करने में आएगी।

कुछ सुझाव होंगे:

0
जोड़ा