🧠 Parallelism vs Concurrency
১. Concurrency
Concurrency এমন একটি প্রক্রিয়া যেখানে CPU একসাথে অনেকগুলো কাজ একইসাথে run করছে এমন একটি illusion তৈরি করা, এটি এমনভাবে কাজ করে যেন সবগুলো কাজ একইসাথে চলছে অর্থাৎ ব্যবহারকারীর চোখে এটি যেন একসাথে অনেক কাজ হচ্ছে এমন একটি illusion তৈরি করে।
🛠 উদাহরণ :
YouTube অ্যাপ চালানোর সময় তুমি দেখতে পারো:
- ভিডিও প্লে হচ্ছে
- কমেন্ট লোড হচ্ছে
- বিজ্ঞাপন আসছে
- স্ক্রল করলে নতুন ভিডিও সাজেশন আসছে
সবকিছুই একসাথে ঘটছে বলে মনে হয়, কিন্তু মূলত এই কাজগুলো context switching এর মাধ্যমে একে একে execute হচ্ছে।
✅ মূল বৈশিষ্ট্য:
- একসাথে অনেক কাজ handle করা হয়
- CPU এক সময়ে একটিই কাজ করে, কিন্তু দ্রুত context switch করে
- Single-core CPU-তেও কাজ করে
২. Parallelism
Parallelism বোঝায় একাধিক কাজ একই সময়ে, একাধিক CPU বা processor/core ব্যবহার করে execute হওয়া। প্রতিটি কাজ আলাদা processor/core দ্বারা একসাথে চালানো হয়।
🛠 উদাহরণ :
ধরো, তুমি Adobe Premiere Pro তে ভিডিও এক্সপোর্ট দিচ্ছো একি সময়ে
- একটি core ভিডিও প্রসেস করছে
- অন্য core অডিও রেন্ডার করছে
- আরেকটি core এফেক্ট প্রসেস করছে
এই কাজগুলো processor/CPU multiple core দ্বারা একসাথে চলায় যাতে রেন্ডারিং দ্রুত সম্পন্ন হয়। এটি Parallelism।
✅ মূল বৈশিষ্ট্য:
- একাধিক কাজ একই সময়ে সত্যিকারের parallel চলে
- Multi-core processor দরকার
- সময় বাঁচে এবং efficiency বাড়ে
৩. তুলনামূলক পার্থক্য
বিষয় | Concurrency | Parallelism |
---|---|---|
কাজের ধরন | একাধিক কাজ context switch করে execute হয় | একাধিক কাজ একসাথে চলতে থাকে |
প্রয়োজনীয়তা | Single-core CPU-তেও সম্ভব | Multi-core CPU প্রয়োজন |
বাস্তব উদাহরণ | YouTube অ্যাপের বিভিন্ন ফিচার একসাথে চলা | Video rendering-এ একাধিক core কাজ করে |
উদ্দেশ্য | অনেক কাজকে একসাথে handle করা | কাজগুলো দ্রুত এবং একযোগে শেষ করা |
Task Execution Style | Interleaved (ক্রমাগত পালাক্রমে) | Simultaneous (একসাথে একযোগে) |
৪. সংক্ষেপে:
- Concurrency হলো কাজগুলোকে একসাথে handle করার কৌশল, যেখানে একসাথে অনেক কিছু ঘটলেও, CPU এক সময়ে একটিই কাজ করে।
- Parallelism হলো সত্যিকারের একসাথে অনেক কাজ করা, যেখানে প্রতিটি কাজ ভিন্ন ভিন্ন processor/core দ্বারা চলে।
[Author : @shahriar-em0n Date: 2025-06-09 Category: interview-qa/class-wise ]