সর্বশেষ সংবাদ
ঢাকা, এপ্রিল ২০, ২০২৪, ৬ বৈশাখ ১৪৩১
ICT NEWS (আইসিটি নিউজ) | Online Newspaper of Bangladesh |
মঙ্গলবার ● ৪ ডিসেম্বর ২০১২
প্রথম পাতা » আইসিটি পড়াশোনা » ক্লাউডের নানা প্রোগ্রামিং মডেল
প্রথম পাতা » আইসিটি পড়াশোনা » ক্লাউডের নানা প্রোগ্রামিং মডেল
৬২০ বার পঠিত
মঙ্গলবার ● ৪ ডিসেম্বর ২০১২
Decrease Font Size Increase Font Size Email this Article Print Friendly Version

ক্লাউডের নানা প্রোগ্রামিং মডেল

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

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

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

এ তো গেলো সহজ একটা সার্ভিসের কথা। কিন্তু ধরা যাক, ক্লাউডের ক্ষমতাকে কাজে লাগিয়ে আপনি করতে চাচ্ছেন বিশাল আকারের একটা হিসাব। যেমন ধরুন, এসএসসি পরীক্ষার ফল বের করে জিপিএ হিসাব করতে চান। প্রতি বছর কয়েক মিলিয়ন করে ছাত্র সারা দেশে এই পরীক্ষা দেয়। ট্যাবুলেশনের কাজটা কম্পিউটারে এখন যেভাবে করা হয়, তাতে লাখ লাখ ছাত্রের সব ফলাফল হিসাবে সময় লাগে অনেক। এর বদলে ক্লাউড দিয়ে কীভাবে কাজটা করা যায়? সেটা বুঝতে হলে আমাদের জানতে হবে ক্লাউড তথা ডিস্ট্রিবিউটেড সিস্টেমে বিশাল আকারের হিসাব করার একটি পদ্ধতির কথা। এই পদ্ধতিটির নাম হলো ম্যাপ-রিডিউস (MapReduce)। বর্তমান বিশ্বে ক্লাউডের মাধ্যমে জটিল কোনো সমস্যা সমাধানের এটাই সবচেয়ে বেশি প্রচলিত পদ্ধতি। চলুন দেখা যাক, এই ম্যাপরিডিউস এর মূল ধারণাটি কী।

ম্যাপরিডিউসের মূল ধারণা

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

ম্যাপরিডিউসের দুইটি অংশ - ম্যাপ (Map) এবং রিডিউস (Reduce)। ম্যাপ পর্যায়ে মূল ডেটা আইটেমকে (অর্থাৎ একটি বিষয়ের একটি খাতার নম্বর) প্রসেস করা হয়। ম্যাপ পর্যায়ের উদ্দেশ্য হলো তথ্যগুলাকে বিশ্লেষণ করা এবং কোনো একটি নিয়মের অধীনে প্রতিটি তথ্যকে একটি key বা ট্যাগ দেয়া। ম্যাপ পর্যায়ের আউটপুট হলো এরকম key এবং ভ্যালু অর্থাৎ মান এরকম জোড়া জোড়া তথ্য।

উদাহরণ

উদাহরণ দেই। ধরা যাক অসীম, আব্বাস, করিম, খায়রুল, গনেশ এরা সবাই পরীক্ষা দিয়েছে এবং এদের খাতার নম্বর ইনপুট দেয়া হয়েছে। ধরা যাক, এরা পেয়েছে যথাক্রমে ৬০, ৯৩, ৪৫, ৯২, এবং ৮৬। ম্যাপরিডিউস ক্লাউডে এরকম প্রতিটি খাতার নম্বর পাঠানোর পরে প্রথমে একটি মাস্টার নোড বা কম্পিউটার এই ডেটাগুলোকে ছোট ছোট ভাগে ভাগ করবে (মানে প্রতিটি ওয়ার্কার বা শ্রমিক কম্পিউটারে অল্প কিছু ডেটা যাবে)। ওয়ার্কার কম্পিউটারের মধ্যএ কিছু করবে ম্যাপ অপারেশন, আর কিছু করবে রিডিউস অপারেশন। শুরুতে মাস্টার নোড ডেটা পাঠাবে ম্যাপ ওয়ার্কারের কাছে।

ম্যাপ পর্যায়ে ঐ কম্পিউটারের কাজটি হলো এগুলোকে <অসীম, ৬০>, <আব্বাস, ৯৩>, <করিম, ৪৫>, <খায়রুল, ৯২>, <গনেশ, ৮৬> এভাবে আউটপুট দেয়া। এখানে যদি অসীমের আরেকটা বিষয়ের খাতার নম্বরও দেয়া হতো, যাতে সে পেয়েছে ৭৬, তাহলে আরেকটি আউটপুট আসতো <অসীম, ৭৬> এরকম।

ম্যাপিং পর্যায়ের আউটপুট গুলাকে এবার পাঠানো হয় মাস্টার নোডে, যার কাজ হবে key এর ভিত্তিতে আগের ম্যাপ পর্যায় হতে পাওয়া ডেটা গুলাকে গ্রুপ করে জড়ো করা। যেমন, অসীমের সব নম্বরের ডেটা যাবে একই রিডিউস কম্পিউটারে।

রিডিউস পর্যায়ের ওয়ার্কারের কাজ হলো একই key এর অধীন যে ডেটা সে পেয়েছে, সেগুলোর উপরে কাজ করা। যেমন, অসীমের দুইটা ডেটা <অসীম, ৬০> এবং <অসীম, ৭৬> পেলে ওয়ার্কার নোডটি এই দুইটা ডেটা থেকে অসীমের জিপিএ হিসাবের কাজ করতে পারে এবং ফলাফল বানিয়ে সেটা ফাইল আকারে লিখে রাখতে পারে।

মোটের উপর ম্যাপরিডিউস এভাবেই কাজ করে। খুব সহজ আইডিয়া, কিন্তু বিশাল আকারের ডেটার উপরে কাজ করার জন্য এইরকম কম্পিউটিং এর তুলনা হয়না।

ম্যাপরিডিউসের আরেকটা উদাহরণ নিচে দেখানো হলো সিউডোকোডের মাধ্যমে। এখানে কোনো ডকুমেন্টে কোন শব্দ কতবার আছে তার হিসাবে করা হয়েছে।

function map(String name, String document):
// name: document name
// document: document contents
for each word w in document:
emit (w, 1)

function reduce(String word, Iterator partialCounts):
// word: a word
// partialCounts: a list of aggregated partial counts
sum = 0
for each pc in partialCounts:
sum += pc
emit (word, sum)

হাদুপ (Hadoop)
হাদুপ ক্লাস্টারের আর্কিটেকচার

হাদুপ ক্লাস্টারের আর্কিটেকচার

ম্যাপরিডিউসকে জনপ্রিয় করে তুলে গুগল। কিছুদিন আগে পর্যন্তও গুগলের সার্চের ইন্ডেক্স বানানোর কাজটা এভাবেই করা হতো। ম্যাপরিডিউস করার সফটওয়ারের মধ্যে রয়েছে অ্যাপাচি হাদুপ (Hadoop)। এটা অনেকেই ব্যবহার করে। এর মধ্যে রয়েছে ফেইসবুক নিজেই। ম্যাপরিডিউস দিয়ে কী বিশাল আকারের ডেটা প্রসেস করা যায়, একটা হিসাব দেই। সাম্প্রতিক সময়ে ফেইসবুকের হাদুপ ক্লাস্টারে ৩০ পেটাবাইট ডেটা আছে। (১ পেটাবাইট = ১০২৪ টেরাবাইট = প্রায় ১০,৪৮,৫৭৬ গিগাবাইট) । ক্লাউড ছাড়া অন্য কোনো মডেলে এতো বিশাল পরিমাণ ডেটা নিয়ে কাজ করাটা প্রায় অসম্ভব। এখানেই বোঝা যায় ক্লাউড কম্পিউটিং এর শক্তি!!

রাগিব হাসান 



আইসিটি পড়াশোনা এর আরও খবর

নারীদের জন্য ব্রিটিশ কাউন্সিলের স্টেম স্কলারশিপ নারীদের জন্য ব্রিটিশ কাউন্সিলের স্টেম স্কলারশিপ
আইডিপি এডুকেশনের সঙ্গে গ্রামীণফোনের চুক্তি আইডিপি এডুকেশনের সঙ্গে গ্রামীণফোনের চুক্তি
ব্রিটিশ কাউন্সিলের স্কুলস নাও সম্মেলন অনুষ্ঠিত ব্রিটিশ কাউন্সিলের স্কুলস নাও সম্মেলন অনুষ্ঠিত
ট্যালেন্ট হান্টের মাধ্যমে মেধাবীদের জন্য দেশে বিশ্বমানের শিক্ষার পরিবেশ নিশ্চিত করা হবে: প্রতিমন্ত্রী পলক ট্যালেন্ট হান্টের মাধ্যমে মেধাবীদের জন্য দেশে বিশ্বমানের শিক্ষার পরিবেশ নিশ্চিত করা হবে: প্রতিমন্ত্রী পলক
বই মেলায় আলতামিশ নাবিল এর ‘কন্টেন্ট রাইটিং এর মহারাজা’ বই মেলায় আলতামিশ নাবিল এর ‘কন্টেন্ট রাইটিং এর মহারাজা’
কম্পিউটার হার্ডওয়্যার সার্ভিস খাতে বিসিএস এর প্রশিক্ষণ কর্মসূচি কম্পিউটার হার্ডওয়্যার সার্ভিস খাতে বিসিএস এর প্রশিক্ষণ কর্মসূচি
বইমেলায় তিতাস সরকারের প্রযুক্তি বিষয়ক বই বইমেলায় তিতাস সরকারের প্রযুক্তি বিষয়ক বই
এটুআই এবং নেটকম লার্নিং এর মধ্যে চুক্তি এটুআই এবং নেটকম লার্নিং এর মধ্যে চুক্তি
ইনোভেট স্কীলস এর আয়োজনে ইফেক্টিভ বিজনেস কমিউনিকেশন বিষয়ক প্রশিক্ষণ কর্মশালা ইনোভেট স্কীলস এর আয়োজনে ইফেক্টিভ বিজনেস কমিউনিকেশন বিষয়ক প্রশিক্ষণ কর্মশালা
তারুণ্য ও প্রযুক্তির শক্তির সমন্বয়ে গড়ে উঠবে স্মার্ট বাংলাদেশ: জুনাইদ আহমেদ পলক তারুণ্য ও প্রযুক্তির শক্তির সমন্বয়ে গড়ে উঠবে স্মার্ট বাংলাদেশ: জুনাইদ আহমেদ পলক

আর্কাইভ

পাঠকের মন্তব্য

(মতামতের জন্যে সম্পাদক দায়ী নয়।)
হুয়াওয়ে আইসিটি কম্পিটিশনের এশিয়া প্যাসিফিক পর্বে রুয়েট তৃতীয়
অনারের মিডরেঞ্জ ফ্ল্যাগশিপ স্মার্টফোন এক্স৯বি
২০২৪ এএফআই ইনক্লুসিভ ফিনটেক শোকেস পুরস্কার পেলো আইফার্মার
বিকাশ অ্যাপে ‘সেন্ড মানি’ এখন আরও সুরক্ষিত
বেসিস নির্বাচনে ওয়ান টিম
ওরাকল ক্লাউড ওয়ার্ল্ড ট্যুর সিঙ্গাপুর- প্রোগ্রামে স্মার্ট বাংলাদেশের রূপরেখা তুলে ধরেন প্রতিমন্ত্রী পলক
বাংলালিংক, বার্জার ও এশিয়াটিক এর আয়োজনে বিশ্বের দীর্ঘতম আলপনা
সোনার দোকানের কর্মী দেবাশিষের দল জিতল নগদের জমি
বিওয়াইডি’র ৭০ লাখ নিউ এনার্জি ভেহিকল উৎপাদন
রবির ডেটা স্পিড এবং ভয়েস কোয়ালিটি বৃদ্ধি