কম্পিউটারের নেটওয়ার্কে কীভাবে কাজ ভাগ করবেন?


11

নিম্নরূপ একটি দৃশ্যটি কল্পনা করুন: আসুন বলুন যে আপনার কাছে একটি কেন্দ্রীয় কম্পিউটার রয়েছে যা প্রচুর ডেটা তৈরি করে। এই ডেটা অবশ্যই কিছু প্রক্রিয়াজাতকরণের মধ্য দিয়ে যেতে হবে, যা দুর্ভাগ্যক্রমে উত্পন্ন হতে বেশি সময় নেয়। প্রকৃত সময়ের সাথে প্রসেসিংয়ের জন্য যাতে আমরা আরও বেশি স্লেভ কম্পিউটারে প্লাগ ইন করি।

আরও, আমাদের অবশ্যই মিডল চাকরির নেটওয়ার্ক থেকে বেরিয়ে যাওয়ার পাশাপাশি অতিরিক্ত ক্রীতদাসদের যুক্ত করার সম্ভাবনাও আমলে নিতে হবে। কেন্দ্রীয় কম্পিউটারের উচিত এটি নিশ্চিত করা উচিত যে সমস্ত কাজ তার সন্তুষ্টিতে শেষ হয়েছে এবং দাসের দ্বারা ছেড়ে দেওয়া চাকরিগুলি অন্যটিতে পুনরায় বিক্রয় করা হয়েছে।

মূল প্রশ্নটি: এটি অর্জনের জন্য আমার কোন পদ্ধতির ব্যবহার করা উচিত?

তবে সম্ভবত নিম্নলিখিতটি আমাকে একটি উত্তর পৌঁছাতে সহায়তা করবে: আমি যা করার চেষ্টা করছি তার কোনও নাম বা ডিজাইনের ধরণ রয়েছে?

এই কম্পিউটারগুলি একে অপরের সাথে কথা বলার লক্ষ্য অর্জন করার জন্য আমার কোন ডোমেনের জ্ঞান প্রয়োজন? (উদাহরণস্বরূপ, কোনও ডাটাবেস, যা সম্পর্কে আমার কিছু জ্ঞান আছে সেগুলি কি যথেষ্ট হবে বা এতে সকেটগুলি জড়িত থাকবে, যার এখনও আমার জ্ঞান নেই?)

এই ধরনের সিস্টেমের কোনও উদাহরণ আছে কি? মূল প্রশ্নটি কিছুটা সাধারণ তাই এটির সূচনা পয়েন্ট / রেফারেন্স পয়েন্টটি রাখা ভাল।

দ্রষ্টব্য আমি সি ++ এবং উইন্ডোজের সীমাবদ্ধতাগুলি ধরে নিচ্ছি যাতে সমাধানের দিকটি নির্দেশ করে প্রশংসা করা হবে।


1
কিউ বা কর্মপ্রবাহ সিস্টেমের জন্য লুক, উদাহরণ: aws.amazon.com/sqs en.wikipedia.org/wiki/Message_queue ইত্যাদি। কিউ সিস্টেম বিতরণ, চেক এবং পুনরায় বরাদ্দকরণের যত্ন নিতে পারে।
লুক ফ্রাঙ্কেন

2
আপনি যে শব্দটির সন্ধান করছেন তা সমান্তরালতা । এই রাস্তায় নামার আগে, নিশ্চিত হয়ে নিন যে আপনার সমস্যাটি আসলে সমান্তরালে সমাধান হতে পারে (যেমন, আইটেম এন এর ফলাফল আইটেম এন -1 এর ফলাফলের উপর নির্ভর করে না )।
blrfl

BOINC

@ ব্লারফ্লাল আমি মনে করি যে সমান্তরালতা সাধারণত এর সাথে যুক্ত হয় না, সমান্তরালতা সাধারণত একক মেশিনে একাধিক কোর / প্রসেসর ব্যবহার করে বা একই মেশিনে একযোগে প্রয়োগের সাথে বহু-থ্রেডযুক্ত বা মাল্টি-প্রক্রিয়া সম্পাদনের সাথে যুক্ত হয়। ডিস্ট্রিবিউটেড কম্পিউটিং হ'ল তিনি যা উল্লেখ করছেন এবং তার বিবরণে এটি একত্রীকরণের গ্যারান্টি নেই, কেবল অ্যাসিনক্রোনির গ্যারান্টি রয়েছে (যা অ-নিরঙ্কুশ মৃত্যুদণ্ড যা সমবর্তী, একযোগে বা সারিতে বিলম্বিত হতে পারে)
জিমি হোফা

3
আমি অবাক হয়েছি কেউ হ্যাডুপের কথা উল্লেখ করেনি।
কেভিন

উত্তর:


12

এই ধরনের সিস্টেমের কোনও উদাহরণ আছে কি?

হ্যাঁ. এই প্যাটার্নটি ডিস্ট্রিবিউটেড কম্পিউটিং (বা বিতরণ প্রোগ্রামিং বা যে কোনও শীতল শব্দ আপনি বিতরণের পরে রাখতে চান) হিসাবে পরিচিত। আমার পরামর্শ হ'ল অন্যান্য সমাধানগুলি দেখার আগে এই অভ্যন্তরীণটি তৈরি না করা। বিভিন্ন বিকল্পের জন্য আপনি এই স্ট্যাক ওভারফ্লো প্রশ্নটি দেখতে পারেন । এবং তারপরে গণনার সিদ্ধান্ত নিন।


3
এর জন্য নতুন প্রিয় শব্দটি ভুলে যাবেন না: মেঘ ! বা ক্লাউড কম্পিউটিং। আপনি যদি এটি নিজের কম্পিউটারগুলির সাথে করেন তবে লোকে তাদের ব্যক্তিগত মেঘ বা মিনি মেঘ বলে । বাজে বাজে কথা বলা, এটি বছরের পর বছর ধরে বিতরণ করা কম্পিউটিং হিসাবে আপনি বলেছিলেন, কেবল ওপির জন্য টাসিংয়ের জন্য তিনি মেঘের স্টাফগুলি সম্পর্কে কোথায় পড়েন তা ঠিক এটি সম্পর্কে কথা বলে।
জিমি হোফা

3
@ জিমিহোফা: "ক্লাউড" শব্দটি প্রায়শই বোঝানো হয় যে আপনার ডেটা পাশাপাশি আপনি যে সফ্টওয়্যারটির সাথে এটি কাজ করতে চান তা আপনার স্থানীয় মেশিনের পরিবর্তে কোথাও ইন্টারনেটে রয়েছে। এবং অন্য সময়ে, এর অর্থ হ'ল আপনি একটি ভার্চুয়াল মেশিন ব্যবহার করছেন যা একটি একক একচেটিয়া ভিএম হোস্টের চেয়ে ক্লাস্টারে চলে on স্পষ্ট সুবিধা হ'ল স্বচ্ছ শূন্য-ডাউনটাইম ব্যর্থতা।
tmadmers

2
@ টেডামার্স সত্য, তবে ওপি দ্বারা বর্ণিত সিস্টেমের ধরণের কোনওটিই ক্লাউডের বিপণন মনিকারকে ব্যবহার করার মতো নয়, পাশাপাশি আপনি ব্যবহারিকভাবে সমস্ত কিছু উল্লেখ করেছেন। এটাই এটিকে একটি শব্দগুচ্ছ হিসাবে তৈরি করে, এটি সংজ্ঞা ছাড়াই উদ্ভাবিত হয়েছিল যাতে লোকেদের এটি প্রচুর পরিমাণে বিভিন্ন জিনিস প্রয়োগ করা হয় যাতে এটি কার্যকরভাবে সমস্ত কিছু এবং কিছুই বোঝায় না। বুজওয়ার্ডের জন্য হুরয়।
জিমি হোফা

1
@ জিমিহোফা: এটিই এখানে "মেঘ" শব্দের উল্লেখ সম্পূর্ণরূপে গঠনমূলক নয়।
tdammers

3
এটি পরিচালনার বিরুদ্ধে ব্যবহার করার জন্য একটি ভাল শব্দ তৈরি করতে পারে। "এই ডেটা প্রক্রিয়াকরণ সমস্যার সমাধান কী?" "ঠিক আছে, আমরা এটিকে কম্পিউটারের একটি নেটওয়ার্কে বিতরণ করতে এবং তাদের সমান্তরালে গণনা করতে পারি" " ব্ল্যাক লুক। "আমরা একটি মিনি মেঘ তৈরি করতে পারি" " "ঠিক আছে ক্যারি
মরপুরক

4

অন্যান্য উত্তরের দ্বারা উল্লিখিত হিসাবে, এই ক্ষেত্রটি বিতরণকৃত কম্পিউটিং , গ্রিড কম্পিউটিং , ক্লাস্টার কম্পিউটিং এবং উচ্চ কার্যকারিতা কম্পিউটিং হিসাবে পরিচিত ।

আমি এই পার্থক্যটি যুক্ত করব যে, যখন কাজের চাপ মেলাতে শুরু করার পরে কোনও সিস্টেমকে পুনরায় আকার দেওয়া যায়, তখন এটি " স্থিতিস্থাপক " বলা হয়, এবং এটি প্রচলিত গ্রিড কম্পিউটিং থেকে পৃথক। এটি " ক্লাউড কম্পিউটিং " শব্দের অন্যতম (বিপণনবিহীন) কারণ : ব্যবহারকারীর পক্ষে সক্ষমতা নিয়ে পরিকল্পনা করার দরকার নেই এবং গণনা চালানো মেশিনগুলির সংখ্যা এবং অবস্থান মেঘ হিসাবে তাঁর কাছে বৈশিষ্ট্যহীন থেকে যায়।

এছাড়াও, আপনার প্রয়োজনীয়তার যে মাস্টার পুনরায় সময়সূচী ব্যর্থ কাজগুলিকে সেই সিস্টেমের " ফল্ট সহনশীলতা " সম্পত্তি বলে। ( এই কার্টুনের বাধ্যতামূলক লিঙ্ক )

আপনার নিজস্ব, ব্যক্তিগত মেঘ তৈরি করতে আপনার কোন পদ্ধতির ব্যবহার করা উচিত? আমার ক্রম বা পছন্দ অনুসারে:

  1. নিজের মেঘ তৈরি করবেন না , অন্যের সরবরাহিত পরিকাঠামো ব্যবহার করুন। আমাজন এই ভার্চুয়াল প্রাইভেট ক্লাউড , র্যাকস্পেসকে কেবল প্রাইভেট ক্লাউড বলে ; আমি নিশ্চিত আপনি অন্যান্য অফার এবং তুলনা করতে পারেন।

  2. আপনার নিজস্ব বিতরণ করা কম্পিউটিং ইঞ্জিন তৈরি করবেন না , অন্যের সরবরাহকৃত ইঞ্জিনটি ব্যবহার করুন। আপনি যদি নিজের মেশিনগুলি ব্যবহারের জন্য জেদ করেন তবে কমপক্ষে যতটা সম্ভব সফ্টওয়্যার ব্যবহার করুন যা অন্যরা সরবরাহ করে এবং পরীক্ষা করে থাকে। আপনি পাইপ ইন্টারফেসের মাধ্যমে সি ++ থেকে অথবা স্ট্রিমিং এপিআইয়ের মাধ্যমে যে কোনও নির্বাহযোগ্য থেকে হ্যাডোপ ব্যবহার করতে পারেন । একটা হল স্পার্ক অনুরূপ স্ট্রীমিং ইন্টারফেস

  3. স্ক্র্যাচ থেকে সমস্ত উপাদান কোড করবেন না , সম্প্রদায় থেকে উপাদান ব্যবহার করুন। যদি কোনও কারণে আপনি এতক্ষণ পড়েছেন এবং নিজের মেঘের উপাদানগুলি রোলআউট করতে চান তবে সি ++ এর স্ট্যান্ডার্ড লাইব্রেরি থেকে শুরু করবেন না। আপনার প্রয়োজনীয় প্রধান উপাদানগুলি হ'ল:

    • একটি কুইউিং সিস্টেম, যেমন একটি মন্তব্যে উল্লিখিত হয়েছে , মাস্টার থেকে প্রসেসিং নোডগুলিতে কাজগুলি প্রেরণ করা এবং প্রসেসিং নোডগুলি মাস্টারের কাছে ফলাফল নিশ্চিতকরণ প্রেরণ করা
    • একটি বিতরণ ফাইল সিস্টেম, যাতে প্রক্রিয়াকরণ নোডগুলি কাজ করতে ডেটা অ্যাক্সেস করতে পারে।

    উভয়ের জন্য অনেকগুলি বিকল্প রয়েছে। কিউয়িং জন্য, RabbitMQ করে, একটি উইন্ডোজ ইনস্টলার হয়েছে ZeroMQ । বিতরণকৃত ফাইলসিস্টেমগুলির জন্য, আমার উইন্ডোজটিতে সত্যিকারের পর্যাপ্ত অভিজ্ঞতা নেই: দেখে মনে হচ্ছে আপনি এসএমবি শেয়ারগুলি ডিএফএসে সংগঠিত করতে পারেন তবে আমি আপনাকে এখানে কোনও ইঙ্গিত দিতে পারি না। আপনি অন্য উত্তরে উল্লিখিত হিসাবে ভাবতে পারেন, ডেটার জন্য মংগোডিবি-র মতো বিতরণ করা ডাটাবেস ব্যবহার করতে; এটি উইন্ডোতে চলতে পারে

আপনি এমপিআই ব্যবহার করার বিষয়েও ভাবতে পারেন (সাধারণত ওপেনএমপিআই বাস্তবায়ন , সাধারণত এটির বুস্ট র‍্যাপারের মাধ্যমে ) তবে লক্ষ্য করুন যে এমপিআই প্রোগ্রামগুলি কোনও স্থিতিস্থাপক বা ত্রুটি সহনীয় নয়; আপনার নিজের এটি যত্ন নিতে হবে (কমপক্ষে তারা এটি অর্জনের জন্য কিছু ব্যবস্থা সরবরাহ করে )। এই কারণেই আমি আপনাকে প্রথমে বিতরণ করার জন্য এমন কাঠামোর মূল্যায়নের জন্য সুপারিশ করব যাতে এর মধ্যে এমন বৈশিষ্ট্য রয়েছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.