Computer software গুলি এমন ভাবে তৈরি করা হয় যাতে সেগুলি serial computing environment এ ভালো ভাবে কাজ করতে পারে। সুতরাং এই ধরনের serial computing algorithm কোন problem solve করার সময় প্রথমে সেই problem টিকে ছোট ছোট instruction এ ভাগ করে নেয়। তার পর Central Processing Unit সেই instruction গুলি কে একের পর এক execute করে। এক্ষেত্রে একটি instruction execute করা শেষ হলে তবেই অন্য instruction execute করা শুরু হয়।
সুতরাং কোন একটি নির্দিষ্ট সময়ে কেবল মাত্র একটি instruction execute হয়। এক ফলে কম্পিউটার এর অন্য সব hardware resource অপেক্ষা করে থাকে instruction execute করার শেষ পর্যন্ত। অর্থাৎ বলা যায় সেই সময় পুকুতে শুধু মাত্র Central Processing Unit এ কাজ করে।
Parallel Computing কি ?
parallel computing অনেক টা parallel processing ( বা concurrent computing) এর মত। এক্ষেত্রে কোন একটি নির্দিষ্ট problem solve করার জন্য আকাধিক processing element কে কাজে লাগান হয়। Problems গুলিকে প্রথমে ছোট ছোট instructionএ ভাগ করে নেওয়া হয় তার পর আকাধিক CPU সে গুলিকে simultaneously এক সঙ্গে process করে। এই ধরনের Computing খুব বড় computational problem এর জন্য ব্যবহার করা হয়।
Parallel processing সাধারনত broad spectrum এর application যেখানে অনেক বেশি amounts এর calculation প্রয়োজন সেখানে ব্যবহার করা হয়। এটি বাবহারের প্রধান কারন essential application এর জন্য computational power বাড়ান। সাধারনত এই ধননের infrastructure ব্যবহার করা হয় যেখানে server এ একাধিক processor থাকে বা আলাদা আলাদা server কোন computational problem solve করার জন্য একে অপরের সাথে connected থাকে।
Parallel Computing ব্যবহার করার পেছনে প্রধান কারন গুলি হল:
- Save time and money.
- Solve larger problems.
- Provide concurrency.
- Multiple execution units
Parallel Computing এর ব্যবহার:
- Data bases এবং Data mining।
- কোন systems এর Real time simulation করা।
- Science এবং Engineering.।
- Advanced graphics, augmented reality এবং virtual reality।
Parallel computing এর বিভিন্ন Type
- Bit-level parallelism
- Instruction-level parallelism (ILP)
- Data Parallelism
- Task Parallelism