নেটওয়ার্কিংয়ে আমরা ফাইল (ডিস্ক ড্রাইভার) বা ডাটাবেসগুলি ভাগ করি। তবে কীভাবে আমরা নেটওয়ার্কের মাধ্যমে সিপিইউ বা র্যাম ভাগ করতে পারি।
নেটওয়ার্কিংয়ে আমরা ফাইল (ডিস্ক ড্রাইভার) বা ডাটাবেসগুলি ভাগ করি। তবে কীভাবে আমরা নেটওয়ার্কের মাধ্যমে সিপিইউ বা র্যাম ভাগ করতে পারি।
উত্তর:
এটি করার জন্য সিপিইউ / র্যাম রিসোর্সগুলি অ্যাক্সেস করার প্রোগ্রামটি (গুলি) অবশ্যই নির্দিষ্ট উত্সগুলিতে অ্যাক্সেস করার জন্য তৈরি করতে হবে। এই পদ্ধতিতে সেট আপ করা সিস্টেমকে ক্লাস্টার বলা হয়, এবং সাধারণত যেভাবে উত্সগুলি ভাগ করা হয় তা হ'ল এমপিআই (বার্তা পাসিং ইন্টারফেস) নামক একটি প্রোটোকল থাকে। এটি একটি নিখরচায় ডাউনলোড এবং লিনাক্সের সাথে এটি ব্যবহার করে ন্যূনতম ব্যয়ের জন্য একটি শক্তিশালী ক্লাস্টার (সম্ভবত একটি সুপার কম্পিউটার) পাওয়া যায়, তবে আপনার যদি এমপিআইয়ের সুবিধা নেওয়ার জন্য বিশেষত ডিজাইন করা প্রোগ্রাম না থাকে তবে তা অযথাযুক্ত। এখানে কয়েকটি ভাল ক্লাস্টার টিউটোরিয়াল রয়েছে, আপনি যদি এখনও আগ্রহী হন তবে আপনার একটি পরীক্ষা করা উচিত।
সম্পাদনা:
আপনি যদি একটি ক্লাস্টার সেটআপ করতে চান তবে আমি টিউটোরিয়ালটি এখানে সুপারিশ করব । আমি প্রায় এক বছর আগে এই টিউটোরিয়াল অনুসরণ করে একটি গুচ্ছ তৈরি করেছি এবং এটি বেশ ভাল কাজ করেছে। টিউটোরিয়ালটি কিছুটা পুরাতন, তাই কিছু ফাইল ঠিক সেই জায়গায় নাও হতে পারে যেখানে টিউটোরিয়াল বলে যেগুলি (কখনও কখনও ফাইলগুলি বিভিন্ন / নতুন লিনাক্স ডিস্ট্রোজে স্থানান্তরিত হয়) তবে আপনি যদি লিনাক্সের সাথে সামান্যতম পরিচিত হন তবে এটি কোনও সমস্যা হওয়া উচিত নয়। টিউটোরিয়ালটি এমপিআই এর একটি পুরানো সংস্করণ ব্যবহার করে তবে আমি নতুন সংস্করণটি ব্যবহার করেছি এবং এমন কোনও সমস্যা নেই যা সহজে সমাধান করা যায় নি। আপনি সেখানে কী করছেন তার উপর নির্ভর করে সেখানে কোনও প্রোগ্রাম থাকতে পারে যা এমপিআইর সুবিধা নিতে পারে। আমি জানি এমন কিছু ভিডিও এনকোডিং এবং নম্বর ক্রাঞ্চিং প্রোগ্রাম রয়েছে যা এমপিআইয়ের সুবিধা নেয় যা সর্বজনীন উত্স থেকে ডাউনলোড করা যায়।
আপনি র্যাম ডিস্ক ব্যবহার করে র্যাম ভাগ করতে পারেন তবে এটিকে অন্য ডিস্কের র্যামের ব্যতীত সাধারণ ডিস্কগুলি ভাগ করার মত দেখাচ্ছে। কোনও কম্পিউটারের জন্য অন্য কম্পিউটারের র্যাম ব্যবহার করার কোনও সরাসরি উপায় নেই যেন এটি তার নিজস্ব র্যাম, তবে অন্য কম্পিউটারের র্যাম ব্যবহারের কিছু উপায় রয়েছে। এর পরের অনুচ্ছেদে আরও।
সিপিইউ ভাগ করে নেওয়ার ক্ষেত্রে এটি সম্ভব তবে এটির জন্য কোনও একক মান নেই। আপনি কেবল এটি ভাগ করতে পারবেন না এবং অন্য কম্পিউটারকে প্রয়োজনীয় সংস্থান গ্রহণ করতে দিন। পরিবর্তে আপনার বিশেষভাবে ডিজাইন করা অ্যাপ্লিকেশন থাকা দরকার যা একাধিক কম্পিউটারে একসাথে কাজ করতে পারে। এটিকে প্রায়শই বিতরণ করা কম্পিউটারিং বলা হয় এবং কিছু গবেষণা প্রকল্প যেমন এসটিআই @ হোম, আইনস্টাইন @ হোম, জলবায়ুসংস্থান ডটকম এবং আরও অনেকগুলি দ্বারা এটি ব্যবহার করা হয়।
মূলত প্রোগ্রামগুলি এমনভাবে কাজ করে যে একটি কেন্দ্রীয় সার্ভার রয়েছে যা কাজটি বিতরণ করে যা কাজ করা দরকার। নেটওয়ার্কের কম্পিউটারগুলি কম্পিউটার থেকে কেন্দ্রীয় কম্পিউটার থেকে ইউনিট ডাউনলোড করে এবং তাদের প্রক্রিয়া করে। এর পরে কেন্দ্রীয় কম্পিউটার ক্লায়েন্টদের কাছ থেকে ফলাফল গ্রহণ করে এবং তাদের একত্রী ফলাফলের সাথে একীভূত করে। এই পদ্ধতিতে কম্পিউটারগুলি নেটওয়ার্কের মাধ্যমে সিপিইউ এবং র্যামের সংস্থানগুলিকে "ভাগ করে" দেয়। এর খারাপ দিকটি হ'ল প্রোগ্রামগুলি এমনভাবে তৈরি করা দরকার যেগুলি নেটওয়ার্কের মাধ্যমে কাজ করতে পারে এবং এখনই বিতরণ করা কম্পিউটিং কম্পিউটারের সাধারণ ব্যবহারগুলির মধ্যে যথেষ্ট জনপ্রিয় নয় তাই কেবলমাত্র একটি বিশেষ সংখ্যক বিশেষ প্রোগ্রাম এটি সমর্থন করে। অন্যদিকে, এটি সাধারণত বৈজ্ঞানিক উদ্দেশ্যে ব্যবহৃত হয় কারণ এটি একটি মেইনফ্রেম কম্পিউটারে অ্যাক্সেস পাওয়ার চেয়ে বেশি সংখ্যক ব্যক্তিগত কম্পিউটার বা প্লেস্টেশন 3 পাওয়ার পক্ষে সস্তা।
আপনি একটি এক্সওয়াই সমস্যার মধ্যে পড়েছেন , আপনার "জিজ্ঞাসা করা উচিত নয় আমি কীভাবে সিপিইউ এবং র্যাম অ্যাক্রো কম্পিউটারগুলি শেয়ার করতে পারি" তবে "জেডজেডজেডজেড দ্রুত ব্যবহারে আমার রেন্ডারগুলি তৈরি করতে আমি কীভাবে একাধিক কম্পিউটার ব্যবহার করতে পারি?"
আপনি কোন সফ্টওয়্যারটি ব্যবহার করছেন এবং আপনি কী রেন্ডার করছেন তার উপর এটি নির্ভরশীল (আপনি কি ভিডিও ট্রান্সকোড করছেন , বা আপনি কোনও 3D মডেল / ভিডিও রেন্ডার করছেন?)।
কয়েকটি উদাহরণ বাছাই করার জন্য ফ্রি 3 ডি সফ্টওয়্যার ব্লেন্ডার বিতরণিকৃত রেন্ডারিংকে সমর্থন করে যেখানে একটি আউটপুট জেনারেট করার জন্য আপনার অনেক কম্পিউটার একসাথে কাজ করতে পারে। আপনি যদি ভিডিও রেন্ডারিং করে থাকেন কিছু দ্রুত গুগলিং ওপেন সোর্স প্রকল্প মিডিয়া এনকোডিংক্লাস্টারকে পেয়েছে যা আপনাকে একাধিক কম্পিউটার ব্যবহার করে ভিডিও এবং অডিও ফাইলগুলি রেন্ডার করতে দেয়।
আমি জানি যে একমাত্র অপারেটিং সিস্টেমটি সিপিইউ / র্যাম ভাগ করার অনুমতি দেয় প্ল্যান 9। সেখানে আপনি প্রায় কিছু রফতানি / মাউন্ট করতে পারেন। এর অর্থ এই নয় যে পারফরম্যান্স অবশ্যই ভাল।
নেটওয়ার্কের মাধ্যমে কাজের জন্য সিপিইউ / র্যাম ভাগ করে নেওয়া একটি দুর্দান্ত বৈশিষ্ট্য হবে। বর্তমানে আমরা বাক্সে প্রোগ্রামগুলি রাখার জন্য কিছু পুরানো ধারণা আবদ্ধ করছি যেখানে জিনিসগুলি ঘটে থাকে, তবে আমরা একই মেশিনে একাধিক সিপাসকে কোডের একই স্নিপলেট অ্যাক্সেসের অনুমতি দিতে পারি। আমাদের একটি পদ্ধতি আছে (কমপক্ষে) যা এরকম কিছু করে। ওয়েব পৃষ্ঠাগুলিতে জাভা সার্ভার এবং ক্লায়েন্ট উভয়ই ব্যবহার করে কাজ করে তবে এটি কাজ করার জন্য একটি সার্ভার-ক্লায়েন্ট পদ্ধতিতে লক থাকে (যেখানে সার্ভার বেশিরভাগ ডেটা ধারণ করে)। আমাদের একাধিক সিপাস থাকাকালীন আমরা মেশিনগুলিতে টাস্কগুলি একইভাবে নির্ধারণ করতে সক্ষম হতে হবে (মেশিন বাদে যা কাজটির জন্য প্রোগ্রাম স্নিপ এবং ডেটা স্নিপ বরাদ্দ করা দরকার This এটি নেটওয়ার্কে একটি ভারী ভার চাপায় যদিও যদি কাজগুলি নিজেরাই সহজ প্রকৃতির না হয় এবং এর ফলে নতুন বাধা তৈরি হতে পারে I