আমার উত্তরের ব্লগ-পোস্ট ফর্ম্যাটটির জন্য আমি আগেই ক্ষমা চেয়ে নিচ্ছি। সমান্তরাল কম্পিউটিং জগতের একটি ছোট ওভারভিউ তৈরি করতে আমি নিজেকে সাহায্য করতে পারিনি।
আপনি সমান্তরাল প্রোগ্রামিং মডেলগুলিকে মোটামুটি দুটি বিভাগে শ্রেণিবদ্ধ করতে পারেন: নিয়ন্ত্রণ-প্রবাহ এবং ডেটা-প্রবাহ মডেল।
কন্ট্রোল- প্রবাহ মডেল , যে প্রোগ্রামযোগ্য কম্পিউটার মূলত আজ একটি স্পষ্ট নিয়ন্ত্রণ কর্মসূচির অনুষঙ্গের মধ্যে সাদৃশ্য কাজ করতে চেষ্টা করুন। মূল সমস্যাটি মোকাবেলা করা হ'ল এই জাতীয় 'ভন নিউম্যান আর্কিটেকচার' সমান্তরাল সম্পাদনের জন্য নয়, দক্ষ ক্রমক্রমিক গণনার জন্য ডিজাইন করা হয়েছিল। এই জাতীয় প্রসঙ্গে সমান্তরালতা মৌলিক মডিউলগুলির অংশগুলি (স্মৃতিশক্তি, নিয়ন্ত্রণ, পাটিগণিত) সদৃশ দ্বারা প্রাপ্ত হয়।
শুধুমাত্র গাণিতিকের সদৃশকরণ আপনাকে সিমডি নির্দেশাবলী দেয়, সমস্ত ALUs একই প্রোগ্রাম কাউন্টার (পিসি) ভাগ করে এবং এইভাবে সর্বদা সমান্তরালভাবে একই অপারেশন চালিত করে, বিভিন্ন তথ্য সত্ত্বেও।
ALU এবং পিসির সদৃশ করে কিন্তু কন্ট্রোল ইউনিটের ভিতরে নির্দেশ সিকোয়েন্সার রাখা আপনাকে আউট অফ অর্ডার (OoO) কার্যকর করে যা কিছু পাইপলাইন-সমান্তরালতা দেয়। এই বিভাগে আপনি খুব দীর্ঘ নির্দেশ ওয়ার্ড (VLWI) এবং ব্রাঞ্চ-পূর্বাভাস কৌশল আছে। সফ্টওয়্যার পর্যায়ে আপনি এই বিভাগটি খুব কমই দেখতে পাচ্ছেন।
আরও কিছুটা এগিয়ে গেলে পুরো 'কোর' এর সদৃশ হয় তবে মেমরিটি ভাগ করে রাখা, এটি বর্তমান মাল্টিকোর প্রসেসর যা আপনাকে কার্য (বা থ্রেড) সমান্তরালতা দেয়। এই প্রসঙ্গে মেমরি ভাগ করে নেওয়া আপনাকে খুব, খুব কঠোর এবং সূক্ষ্ম সম্মতি সংক্রান্ত সমস্যা দেয় । বর্তমান মাল্টিকোরের সমান্তরাল গণনাগুলি এইভাবে সম্পূর্ণভাবে সিঙ্ক্রোনাইজেশন / সংমিশ্রণ সমস্যা, পারফরম্যান্সের সাবধানতার ভারসাম্য (কোনও সিঙ্ক নয়) এবং পছন্দসই শব্দার্থবিজ্ঞান (সম্পূর্ণ সিঙ্ক্রোনাইজড, সিক্যুয়ালি এক্সিকিউশন সিমানটিকস) এর চারদিকে ঘুরছে। এই উদাহরণ pram বা তার বেশি জনপ্রিয় এই দিন Cilk যেমন কাঁটাচামচ / যোগদানের (যেমন ofshoots IntelTBB , Java.Utils.Concurrency)। সিএসপি এবং অভিনেতা মডেলগুলি সম্মতিযুক্ত মডেল, তবে উপরে উল্লিখিত সম্মতি এবং সমান্তরালতা ভাগ করে নেওয়া মেমরির পরিবেশে ঝাপসা হয়ে যায়। এনবি সমান্তরালতা পারফরম্যান্সের জন্য, সঠিক শব্দার্থবিজ্ঞান বজায় রাখার জন্য সম্মতিযুক্ত rency
সদৃশ মেমরিটি আপনাকে এমন একটি নেটওয়ার্কযুক্ত কম্পিউটার দেয় যা এমপিআই এবং এর জাতীয় সাথে প্রোগ্রামিং হয় বা কেবলমাত্র অদ্ভুত নন-ভন নিউম্যান আর্কিটেকচার যেমন নেটওয়ার্ক-অন-চিপ প্রসেসর (ক্লাউড প্রসেসর, ট্রান্সপোর্টার, টাইলেরা) দেয়। মেমোরি মডেলগুলি যেমন ইউএমএ বা NUMA ভাগ করা মেমরির মায়া বজায় রাখার চেষ্টা করে এবং সফ্টওয়্যার বা হার্ডওয়্যার স্তরের মধ্যে উপস্থিত থাকতে পারে। এমপিআই প্রোগ্রাম স্তরের সমান্তরালতা বজায় রাখে এবং কেবল বার্তা প্রেরণের মাধ্যমে যোগাযোগ করে। বার্তা পাসিং যোগাযোগ এবং সমঝোতার জন্য (ট্রান্সপোর্টার) একটি হার্ডওয়্যার স্তরেও ব্যবহৃত হয়।
দ্বিতীয় বিভাগটি হ'ল ডেটা-ফ্লো মডেল । ভন নিউমানের নকশাকে এড়িয়ে এগুলি সমান্তরাল গণনাগুলি লেখার এবং সম্পাদন করার উপায় হিসাবে কম্পিউটার যুগের প্রথম দিকে এগুলি তৈরি করা হয়েছিল। ক্রমবর্ধমান ক্রিয়াকলাপটি তাত্পর্যপূর্ণভাবে বেড়ে যাওয়ার পরে '80 এর দশকে এগুলি প্রচলিত (সমান্তরাল কম্পিউটিংয়ের জন্য) বাইরে চলে গেছে। তবে গুগল ম্যাপ্রেডিউস, মাইক্রোসফ্টের ড্রাইড বা ইন্টেলের কনকন্টেন্ট কালেকশনগুলির মতো অনেকগুলি সমান্তরাল প্রোগ্রামিং সিস্টেমগুলি আসলে ডেটাফ্লো গণনা মডেল। কিছু সময়ে তারা একটি গ্রাফ হিসাবে গণনার প্রতিনিধিত্ব করে এবং মৃত্যুদন্ড কার্যকর করার জন্য এটি ব্যবহার করে।
মডেলগুলির অংশগুলি নির্দিষ্ট করে আপনি ডেটাফ্লো মডেলের জন্য বিভিন্ন বিভাগ এবং শব্দার্থবিজ্ঞান পান। গ্রাফের আকারটি আপনি কী সীমাবদ্ধ করবেন: ড্যাগ (সিএনসি, ড্রায়ড), গাছ (ম্যাপ্রেডস), ডিগ্রাফ? কঠোরভাবে সিঙ্ক্রোনাইজেশন শব্দার্থবিজ্ঞান ( লাস্টার) রয়েছে, প্রতিক্রিয়াশীল প্রোগ্রামিং]? আপনি কি স্ট্যাটিক শিডিয়ুল (স্ট্রেইমিটি) রাখতে সক্ষম হতে পুনরাবৃত্তিটিকে অস্বীকার করেন বা আপনি ডায়নামিক শিডিয়ুলার (ইন্টেল সিএনসি) রেখে আরও অভিব্যক্তি শক্তি সরবরাহ করেন? আগত বা বহির্গামী প্রান্তের সংখ্যার কি সীমা আছে? আগত ডেটার একটি উপসেট পাওয়া গেলে কি ফায়ারিং শব্দার্থবিজ্ঞানগুলি নোড ফায়ার করতে দেয়? প্রান্তগুলি হ'ল ডেটা (স্ট্রিম প্রসেসিং) বা একক ডেটা টোকেন (স্ট্যাটিক / ডায়নামিক সিঙ্গল অ্যাসাইনমেন্ট) stream সম্পর্কিত কাজের জন্য আপনি অরবিন্দ, কে। কবি, জে এর মতো লোকদের ডেটাফ্লো গবেষণা কাজ দেখে শুরু করতে পারেন। শার্প, ডাব্লু। একারম্যান, আর জগনাথন প্রমুখ
সম্পাদনা: সম্পূর্ণতার জন্য। আমার উল্লেখ করা উচিত যে এখানে সমান্তরাল হ্রাস-চালিত এবং প্যাটার্ন-চালিত মডেলগুলিও রয়েছে। হ্রাস কৌশলগুলির জন্য আপনার বিস্তৃতভাবে গ্রাফ-হ্রাস এবং স্ট্রিং-হ্রাস রয়েছে। হাস্কেল মূলত গ্রাফ-হ্রাস ব্যবহার করে যা একটি অনুক্রমিক শেয়ার্ড-মেমরি সিস্টেমের জন্য একটি অত্যন্ত দক্ষ কৌশল। স্ট্রিং-হ্রাস ডুপ্লিকেটগুলি কাজ করে তবে একটি ব্যক্তিগত-মেমরির সম্পত্তি রয়েছে যা এটি স্পষ্টতই সমান্তরাল হওয়ার পক্ষে আরও উপযুক্ত করে তোলে। প্যাটার্ন-চালিত মডেলগুলি সমান্তরাল লজিক ভাষা যেমন সমবর্তী প্রোলোগ। অভিনেতা মডেলটিও একটি প্যাটার্ন-চালিত মডেল, তবে ব্যক্তিগত মেমরির বৈশিষ্ট্যযুক্ত।
গীত। আমি 'মডেল' শব্দটি ব্যাপকভাবে ব্যবহার করি, আনুষ্ঠানিক মেশিনিকে আনুষ্ঠানিক এবং প্রোগ্রামিং উভয় উদ্দেশ্যেই আবৃত করি।