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

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

সিপিইউ নামক এই ছোট চিপটির ভেতরে বেশ কয়েকটি লজিক ব্লক লুকানো থাকে, যেগুলো সম্পূর্ণ স্বাধীন কম্পিউটিং ইউনিট হিসেবে কাজ করে । এই ব্লকগুলোই হলো কোর। প্রতিটি কোর র্যাম থেকে নির্দেশনা গ্রহণ করতে পারে, প্রসেসরের ক্লকের সাথে তাল মিলিয়ে সেগুলোকে প্রসেস করতে পারে এবং ফলাফল ফেরত দিতে পারে; অনেকটা মূল চিপের ভেতরে থাকা একটি ক্ষুদ্র মস্তিষ্কের মতো।
পুরোনো প্রসেসরগুলিতে কেবল একটি কোর থাকত যা প্রতি ক্লক সাইকেলে একটি নির্দেশনা সম্পাদন করতে পারত । এই ক্ষমতা মেগাহার্টজ (MHz) বা গিগাহার্টজ (GHz) এককে পরিমাপ করা হত: ফ্রিকোয়েন্সি যত বেশি হত, এটি প্রতি সেকেন্ডে তত বেশি নির্দেশনা সম্পন্ন করতে পারত। বর্তমানে, ক্লক স্পিড বাড়ানোর পাশাপাশি, নির্মাতারা কোরের সংখ্যা বহুগুণে বাড়িয়ে দিয়েছে, যার ফলে এর প্রক্রিয়াকরণ ক্ষমতা ব্যাপকভাবে বৃদ্ধি পেয়েছে।
প্রতিটি কোর একই প্যাকেজের মধ্যে সমন্বিত একটি ভৌত সাবপ্রসেসর হিসেবে কাজ করে । একটি কোয়াড-কোর সিপিইউ হলো একই চিপে সমান্তরালভাবে কাজ করা চারটি প্রসেসর থাকার মতো। এর মানে হলো, একটি একক সাইকেলে সিপিইউ একই সাথে চারটি ভিন্ন নির্দেশনা পরিচালনা করতে পারে, যা কম্পিউটিং শক্তিকে বহুগুণে বাড়িয়ে দেয়, যতক্ষণ পর্যন্ত অপারেটিং সিস্টেম এবং প্রোগ্রামগুলো এর সুবিধা নিতে পারে।
এটা জোর দিয়ে বলা গুরুত্বপূর্ণ যে কোরগুলো হলো ভৌত উপাদান, কোনো ভার্চুয়াল বা সফটওয়্যার দ্বারা অনুকৃত জিনিস নয় । এগুলো লক্ষ লক্ষ ট্রানজিস্টর এবং সার্কিট দিয়ে গঠিত, যেগুলো অ্যারিথমেটিক ইউনিট, কন্ট্রোল ইউনিট, অভ্যন্তরীণ রেজিস্টার এবং অন্যান্য উপাদানগুলো বাস্তবায়ন করে, যা ইনস্ট্রাকশন সাইকেলকে (ফেচ, ডিকোড, এক্সিকিউট এবং ফলাফল লেখা) বারবার সম্পাদন করতে সক্ষম করে।
বর্তমানে, সাধারণ ব্যবহারকারীদের বাজারে ২, ৪, ৬, ৮, এমনকি ১০টিরও বেশি কোরযুক্ত প্রসেসর পাওয়া যায় , যেখানে ওয়ার্কস্টেশন এবং সার্ভারগুলিতে সাধারণত আরও বেশি সংখ্যক কোর থাকে, যেমন ১৬, ৩২ বা তারও বেশি ফিজিক্যাল কোর। কোরের সংখ্যা যত বেশি হয়, তত বেশি কাজ একই সাথে সম্পন্ন করা যায়, যা বিশেষ করে পেশাদার অ্যাপ্লিকেশন, সার্ভার বা উচ্চ প্যারালাল ওয়ার্কলোডযুক্ত ওয়ার্কফ্লোর জন্য খুবই উপযোগী।
প্রসেসরের থ্রেড কী এবং কীভাবে কাজ করে?
কার্নেল হলো ভৌত উপাদান, অন্যদিকে থ্রেড (বা সাবপ্রসেস) হলো যৌক্তিক বা ভার্চুয়াল সত্তা যা একটি প্রোগ্রামের মধ্যে কার্য সম্পাদনের প্রবাহকে প্রতিনিধিত্ব করে এবং অপারেটিং সিস্টেম এক বা একাধিক কার্নেলের মধ্যে যার কার্যসূচি নির্ধারণ করতে পারে। একটি থ্রেড মূলত নির্দেশাবলীর একটি অনুক্রম যা তার নিজস্ব প্রেক্ষাপট তথ্যসহ বাকিগুলো থেকে স্বাধীনভাবে কার্যকর হতে পারে।
আমরা একটি থ্রেডকে প্রসেসরের মধ্য দিয়ে কোনো কোডের চলার পথ হিসেবে দেখতে পারি । প্রতিটি থ্রেডের নিজস্ব এক্সিকিউশন রেজিস্টার, নিজস্ব স্ট্যাক এবং একটি প্রোগ্রাম কাউন্টার থাকে, যা নির্দেশ করে যে কোনো নির্দিষ্ট সময়ে কোন নির্দেশনাটি কার্যকর করা উচিত। অপারেটিং সিস্টেমের দায়িত্ব হলো এই থ্রেডগুলোকে উপলব্ধ কোরগুলোতে বরাদ্দ করা এবং সেগুলোর মধ্যে সিপিইউ-এর সময় যতটা সম্ভব দক্ষতার সাথে বন্টন করা।
প্রোগ্রামিং-এ সিঙ্গেল-থ্রেডেড এবং মাল্টি-থ্রেডেড অ্যাপ্লিকেশনের মধ্যে পার্থক্য করা হয় । একটি সিঙ্গেল-থ্রেডেড প্রোগ্রামের কার্য সম্পাদনের ধারা কেবল একটাই থাকে: নির্দেশাবলী কঠোরভাবে অনুক্রমিক পদ্ধতিতে একের পর এক সম্পাদিত হয়। অন্যদিকে, একটি মাল্টি-থ্রেডেড অ্যাপ্লিকেশনে কাজটি একাধিক থ্রেডের মধ্যে ভাগ করে দেওয়া হয়, যেগুলো সমান্তরালভাবে চলতে পারে, রিসোর্স ভাগাভাগি করে কিন্তু একই সাথে কার্য সম্পাদন করে।
কাজের চাপ ভাগ করার এই পদ্ধতি একটি প্রোগ্রামকে একই সাথে একাধিক অপারেশন সম্পাদন করার সুযোগ দেয় । উদাহরণস্বরূপ, একজন ভিডিও এডিটর গ্রাফিক্যাল ইন্টারফেসের জন্য একটি থ্রেড, রেন্ডারিংয়ের জন্য আরেকটি, অডিওর জন্য আরেকটি, ইত্যাদি নির্দিষ্ট করতে পারেন। যদি পর্যাপ্ত সিপিইউ কোর এবং থ্রেড থাকে, তবে প্রোগ্রামের এই অংশগুলো একযোগে চলে, যা রেসপন্স টাইম উন্নত করে এবং ল্যাগ বা ধীরগতির অনুভূতি কমায়।
বাস্তবে, অনেক আধুনিক প্রসেসর SMT বা হাইপার-থ্রেডিং-এর মতো সাইমালটেনিয়াস মাল্টিথ্রেডিং প্রযুক্তি ব্যবহার করে, যা প্রতিটি ফিজিক্যাল কোরকে একই সাথে দুটি এক্সিকিউশন থ্রেড পরিচালনা করার সুযোগ দেয়। এ কারণেই আপনি, উদাহরণস্বরূপ, ৬টি কোর এবং ১২টি থ্রেডযুক্ত সিপিইউ দেখতে পান: এখানে ছয়টি ফিজিক্যাল ইউনিট থাকলেও, প্রতিটি ইউনিট একই সময়ে দুটি ভিন্ন ইন্সট্রাকশন স্ট্রিম বহন করতে পারে, যার ফলে অভ্যন্তরীণ ইউনিটগুলোর আরও ভালো ব্যবহার নিশ্চিত হয়, যেগুলো অন্যথায় নিষ্ক্রিয় থাকত। ইন্টেলের হাইপার-থ্রেডিং প্রযুক্তি এর একটি সুপরিচিত উদাহরণ।
প্রোগ্রাম, প্রক্রিয়া এবং থ্রেডের মধ্যে সম্পর্ক
থ্রেডের ভূমিকা পুরোপুরি বোঝার জন্য, অপারেটিং সিস্টেমে কাজ কীভাবে সংগঠিত হয় তা এক ধাপ পেছনে গিয়ে দেখা সহায়ক। একটি প্রোগ্রাম হলো ডিস্কে বাইনারি ফরম্যাটে সংরক্ষিত নির্দেশাবলীর একটি সেট (অ্যাপ্লিকেশন, ড্রাইভার, স্বয়ং অপারেটিং সিস্টেম, ইত্যাদি), যা প্রয়োজনের সময় মেমরিতে লোড হওয়ার জন্য প্রস্তুত থাকে।
যখন আপনি কোনো প্রোগ্রাম চালান, তখন সিস্টেম অন্তত একটি প্রসেস তৈরি করে যা র্যামে লোড হয় । এই প্রসেসের মধ্যে থাকে এক্সিকিউটেবল কোড, ডেটা, এর প্রয়োজনীয় রিসোর্স (ফাইল ডেসক্রিপ্টর, সংরক্ষিত মেমরি ইত্যাদি) এবং একটি কনটেক্সট যা অপারেটিং সিস্টেম সতর্কতার সাথে পরিচালনা করে। প্রতিটি প্রসেস অন্যগুলো থেকে বিচ্ছিন্ন একটি নির্দিষ্ট মেমরি স্পেসে অবস্থান করে, যা স্থিতিশীলতা এবং নিরাপত্তা প্রদান করে।
একটি প্রসেসের কাজ করার জন্য কিছু মৌলিক উপাদানের প্রয়োজন হয়: একটি প্রোগ্রাম কাউন্টার যা পরবর্তী কোন নির্দেশনাটি কার্যকর করা হবে তা নির্দেশ করে, একাধিক রেজিস্টার যেখানে অস্থায়ী ডেটা এবং নিয়ন্ত্রণ সংক্রান্ত তথ্য সংরক্ষিত থাকে, এবং একটি স্ট্যাক যা সক্রিয় ফাংশনগুলো থেকে ডেটা সংরক্ষণ করে। সিস্টেম যখন একটি প্রসেস থেকে অন্য প্রসেসে স্থানান্তরিত হয়, তখন এই সবকিছু ক্রমাগত সংরক্ষণ ও পুনরুদ্ধার করা হয়।
মজার ব্যাপার হলো, প্রতিটি প্রসেস অন্যগুলো থেকে স্বাধীনভাবে চলে । এই স্বাধীনতার ফলে, যদি কোনো একটি অ্যাপ্লিকেশন ক্র্যাশ করে, সিস্টেমের বাকি অংশ কাজ চালিয়ে যেতে পারে। একাধিক প্রসেস পরিচালনা করার এই ক্ষমতা একটি মাল্টিটাস্কিং পরিবেশ তৈরি করে: যেমন গান শুনতে শুনতে ইন্টারনেট ব্রাউজ করা, ইমেল চেক করা এবং একই সাথে ফাইল ডাউনলোড করা।
প্রতিটি প্রসেসের ভেতরে এক্সিকিউশনের থ্রেড থাকে। থ্রেড হলো কাজের ক্ষুদ্রতম একক যা অপারেটিং সিস্টেম সিপিইউ-তে বরাদ্দ করতে পারে । একটি প্রসেস একটিমাত্র থ্রেড (সবচেয়ে সরল অবস্থা) অথবা এমন অনেকগুলো থ্রেড নিয়ে গঠিত হতে পারে, যেগুলো একই মেমরি স্পেস ও প্রসেসিং রিসোর্স ভাগ করে নেয় কিন্তু সমান্তরালভাবে চলে।
একক-তার এবং বহু-তার প্রক্রিয়া
একটি সিঙ্গেল-থ্রেডেড প্রসেসে, প্রোগ্রামের সমস্ত কোড নির্দেশাবলীর একটি একক প্রবাহে নির্বাহ হয় । এর মানে হলো, যদি প্রোগ্রামের কোনো একটি অংশে বেশি সময় লাগে (উদাহরণস্বরূপ, একটি ধীরগতির ডিস্ক অপারেশন বা কোনো জটিল গণনা), তবে সেই অপারেশনটি শেষ না হওয়া পর্যন্ত অ্যাপ্লিকেশনের বাকি অংশ আটকে থাকতে পারে, যা ধীরগতি বা স্থবিরতার অনুভূতি তৈরি করে।
যখন কোনো প্রসেস মাল্টিথ্রেডেড হয়, তখন এর কাজকে থ্রেড নামক কয়েকটি ছোট ছোট উপ-প্রসেসে ভাগ করা হয় । এই থ্রেডগুলো মেমরি এবং রিসোর্স ভাগাভাগি করে ব্যবহার করে, কিন্তু প্রতিটির নিজস্ব রেজিস্টার স্ট্যাক এবং প্রোগ্রাম কাউন্টার থাকে। এভাবে, প্রোগ্রামের দুই বা ততোধিক অংশ একই সাথে চলতে পারে, যা অপেক্ষার সময় কমিয়ে দেয় এবং উপলব্ধ কোরগুলোর আরও ভালো ব্যবহার নিশ্চিত করে।
উদাহরণস্বরূপ, একটি ওয়েব ব্রাউজারে ইন্টারফেসের জন্য একটি থ্রেড, পৃষ্ঠা লোড করার জন্য আরেকটি, জাভাস্ক্রিপ্ট কোড চালানোর জন্য আরেকটি এবং ভিডিও চালানোর জন্য আরেকটি থাকতে পারে। যদি একাধিক সিপিইউ কোর এবং থ্রেড থাকে, তবে এই সমস্ত থ্রেড একই সাথে চলতে পারে , যার ফলে ব্যবহারকারীর অভিজ্ঞতা অনেক বেশি মসৃণ হয়।
মূল বিষয়টি হলো, থ্রেডের সংখ্যা বাড়লে একই সাথে চলমান গণনার পরিমাণ উল্লেখযোগ্যভাবে বৃদ্ধি পায় । এর মানে এই নয় যে সিপিইউ নিজে দ্রুততর, বরং এটি তার অভ্যন্তরীণ ইউনিটগুলোকে আরও বেশি সমান্তরাল কাজে ব্যস্ত রাখতে পারে। এর ফলে হার্ডওয়্যারের ব্যবহার আরও উন্নত হয়, বিশেষ করে সেইসব প্রোগ্রামের ক্ষেত্রে যেগুলো অনেকগুলো থ্রেডের সাথে কাজ করার জন্য বিশেষভাবে ডিজাইন করা হয়েছে।
মাল্টিথ্রেডিং প্রযুক্তিযুক্ত প্রসেসরগুলিতে, একটি ডুয়াল-থ্রেডেড কোর আক্ষরিক অর্থে একই সাইকেলে দুটি নির্দেশনা ১০০% দক্ষতায় সম্পাদন করে না, কিন্তু এটি দুটি থ্রেডের মধ্যে এত দ্রুত সুইচ করতে পারে যে মনে হয় যেন তারা সমান্তরালভাবে কাজ করছে। অপারেটিং সিস্টেম প্রতিটি থ্রেডের জন্য সিপিইউ সময়ের ছোট ছোট অংশ বরাদ্দ করে, এবং তাদের মধ্যে সুইচিং সেকেন্ডের ভগ্নাংশে ঘটে, যা ব্যবহারকারীর কাছে অলক্ষ্য থাকে।
কোর এবং স্ট্র্যান্ডের মধ্যে মৌলিক পার্থক্য
মূল পার্থক্যটি হলো, কোর হলো ভৌত প্রসেসিং ইউনিট , অন্যদিকে থ্রেড হলো যৌক্তিক সত্তা যা সেই কোরগুলিতে চলমান কাজ বা উপ-প্রক্রিয়াকে প্রতিনিধিত্ব করে। একটি কোর অতিরিক্ত SMT থ্রেড ছাড়াই থাকতে পারে (কেবলমাত্র একটি একক নির্দেশ প্রবাহ কার্যকর করে), কিন্তু একটি থ্রেড, তা যতই ভার্চুয়াল হোক না কেন, কার্যকর হওয়ার জন্য কোনো না কোনো সময়ে সর্বদা একটি ভৌত কোরের প্রয়োজন হয়।
সিপিইউ স্পেসিফিকেশন দেখার সময়, আপনি "৪ কোর / ৮ থ্রেড" বা "৬ কোর / ১২ থ্রেড"-এর মতো সংমিশ্রণ দেখতে পাবেন। এর মানে হলো, প্রতিটি ফিজিক্যাল কোর একই সাথে দুটি এক্সিকিউশন থ্রেড পরিচালনা করতে পারে । একটি ৬-কোর, ১২-থ্রেড প্রসেসরে, অপারেটিং সিস্টেম টাস্ক শিডিউল করার জন্য ১২টি লজিক্যাল ইউনিট দেখতে পায়, যদিও সিলিকন লেভেলে মাত্র ৬টি সম্পূর্ণ এক্সিকিউশন ব্লক থাকে।
বাস্তবিক অর্থে, কোরগুলো নির্ধারণ করে যে সিপিইউ একই সাথে কতগুলো সত্যিকারের স্বাধীন কাজ সম্পাদন করতে পারবে , অন্যদিকে থ্রেডগুলো সেই কোরগুলোর ব্যবহারকে সূক্ষ্মভাবে সমন্বয় করে, নিষ্ক্রিয় সময় কমিয়ে আনে এবং আরও বেশি সংখ্যক থ্রেডকে একই সাথে কাজ করার সুযোগ করে দেয়। এই কারণেই বলা হয় যে থ্রেড কর্মদক্ষতা বাড়ায়, কিন্তু প্রকৃত সক্ষমতার উল্লেখযোগ্য উল্লম্ফন সবসময় আরও বেশি ফিজিক্যাল কোর যুক্ত করার মাধ্যমেই আসে।
সংক্ষেপে, কোরগুলো সিস্টেমের মূল চালিকাশক্তি জোগায়, আর থ্রেডগুলো কাজকে আরও ভালোভাবে সংগঠিত করে । এই দুটির মধ্যে একটি ভালো ভারসাম্য সিস্টেমের সার্বিক পারফরম্যান্সে ব্যাপক পার্থক্য গড়ে দেয়, বিশেষ করে যখন নিবিড় মাল্টিটাস্কিং বা উচ্চ চাহিদাসম্পন্ন প্রফেশনাল সফটওয়্যার নিয়ে কাজ করা হয়।
কোর বা স্ট্র্যান্ড: ব্যবহারের উপর নির্ভর করে কোনটি বেশি গুরুত্বপূর্ণ
সিপিইউ কেনার সময় সাধারণ প্রশ্নটি হলো, বেশি ফিজিক্যাল কোর নাকি বেশি লজিক্যাল থ্রেডকে অগ্রাধিকার দেওয়া উচিত । এর উত্তর মূলত নির্ভর করে আপনি কম্পিউটারটি কীভাবে ব্যবহার করতে চান এবং আপনার ব্যবহৃত অ্যাপ্লিকেশনগুলো কীভাবে প্রোগ্রাম করা হয়েছে তার ওপর।
যেসব কাজে হার্ডওয়্যারের ব্যাপক ব্যবহার হয়, যেমন—ভারী গেম, উন্নত ভিডিও এডিটিং, থ্রিডি রেন্ডারিং বা ভার্চুয়াল মেশিন চালানো, সেসব ক্ষেত্রে বেশি সংখ্যক ফিজিক্যাল কোর থাকা সাধারণত অধিক সুবিধাজনক । এই ধরনের ওয়ার্কলোডগুলো কয়েকটি কোরের লজিক্যাল থ্রেডের উপর সম্পূর্ণরূপে নির্ভর না করে, একাধিক ফিজিক্যাল কোরের মধ্যে বড় কাজগুলো ভাগ করে দেওয়ার সুবিধা পায়।
দৈনন্দিন ব্যবহারের ক্ষেত্রে, যেমন ব্রাউজিং, ডকুমেন্ট নিয়ে কাজ করা, একই সাথে কয়েকটি হালকা অ্যাপ্লিকেশন ব্যবহার করা বা মাল্টিমিডিয়া কন্টেন্ট উপভোগ করার জন্য, কার্যকর থ্রেড ম্যানেজমেন্ট একটি বড় পার্থক্য গড়ে তুলতে পারে । কোরের সংখ্যা কম হলেও, যদি সিপিইউ প্রতি কোরে একাধিক থ্রেড সমর্থন করে এবং সিস্টেম সেগুলোকে ভালোভাবে বন্টন করে, তবে সামগ্রিক অভিজ্ঞতা হবে মসৃণ ও দ্রুত সাড়াদানকারী।
সফটওয়্যার ডেভেলপমেন্টে, কোর এবং থ্রেড কীভাবে পরিচালিত হয় সে সম্পর্কে পুঙ্খানুপুঙ্খ ধারণা থাকা অপরিহার্য। একটি দুর্বলভাবে প্যারালাইজড প্রোগ্রাম অনেক থ্রেড বা অনেক কোরযুক্ত প্রসেসরের সুবিধা নিতে পারে না , অন্যদিকে একটি সু-পরিকল্পিত অ্যাপ্লিকেশন উপলব্ধ কোরের সংখ্যা বাড়ার সাথে সাথে খুব ভালোভাবে স্কেল করে। কিছু সফটওয়্যার অনেক লজিক্যাল থ্রেডের জন্য অপ্টিমাইজ করা থাকে, আবার অন্য কিছু সফটওয়্যার কেবল কয়েকটি অত্যন্ত শক্তিশালী কোরের সুবিধা নিতে জানে।
খুব সহজভাবে বলতে গেলে, বেশিরভাগ সাধারণ ব্যবহারকারীর জন্য, যথেষ্ট সংখ্যক থ্রেডসহ একটি ৪ থেকে ৬ কোরের সিপিইউ সাধারণত দাম এবং পারফরম্যান্সের মধ্যে একটি চমৎকার ভারসাম্য প্রদান করে । কন্টেন্ট ক্রিয়েটর, উৎসাহী গেমার বা পেশাদারদের জন্য, যারা ভারী প্রোগ্রাম ব্যবহার করেন, তাদের জন্য ৮, ১০ বা তার বেশি কোরে আপগ্রেড করা অনেক বেশি যুক্তিযুক্ত, বিশেষ করে যদি সেই অ্যাপ্লিকেশনগুলো মাল্টিথ্রেডিংয়ের সুবিধা নেওয়ার জন্য ডিজাইন করা হয়ে থাকে।
আপনার সিপিইউতে কয়টি কোর এবং থ্রেড আছে তা কীভাবে খুঁজে বের করবেন
আপনার কম্পিউটারে কতগুলো কোর এবং থ্রেড আছে তা যদি আপনি পরীক্ষা করতে চান, তবে অতিরিক্ত কিছু ইনস্টল না করেই অপারেটিং সিস্টেম নিজেই খুব সহজ কিছু টুল সরবরাহ করে । আপনার হার্ডওয়্যার কোনো নির্দিষ্ট প্রোগ্রাম বা গেমের প্রয়োজনীয়তা পূরণ করে কিনা, তা জানতে অথবা আপনার প্রসেসর আপগ্রেড করাটা সত্যিই লাভজনক হবে কিনা, তা মূল্যায়ন করতে এটি সহায়ক।
Windows 10 বা 11-এ, আপনি স্টার্ট বাটনের কনটেক্সট মেনু খুলে "সিস্টেম" বিভাগে গিয়ে ইনস্টল করা প্রসেসরের মডেলটি দেখতে পারেন । সেই তথ্য দিয়ে, আপনি প্রস্তুতকারকের ওয়েবসাইটে অনুসন্ধান করে দেখতে পারেন যে এটি কতগুলি কোর এবং থ্রেড সমর্থন করে। এছাড়াও, টাস্ক ম্যানেজারের "পারফরম্যান্স" ট্যাবে প্রতিটি লজিক্যাল সিপিইউ-এর জন্য গ্রাফ প্রদর্শিত হয়, যা থেকে সিস্টেমটি কতগুলি থ্রেড ব্যবহার করছে সে সম্পর্কে একটি ধারণা পাওয়া যায়।
আপনি যদি আরও বিস্তারিত তথ্য চান, তাহলে টাস্ক ম্যানেজারের মধ্যেই রিসোর্স মনিটরের একটি লিঙ্ক রয়েছে , যেখানে আপনি প্রসেস ও থ্রেডগুলোর সিপিইউ ব্যবহারসহ বিস্তারিত বিবরণ দেখতে পারবেন। সেখানকার প্রতিটি 'থ্রেড' এন্ট্রি সিস্টেম দ্বারা পরিচালিত একটি এক্সিকিউশন থ্রেডকে নির্দেশ করে।
ম্যাকওএস-এ, সিপিইউ-এর প্রাথমিক তথ্য অ্যাপল মেনুর "অ্যাবাউট দিস ম্যাক" এবং তারপর "সিস্টেম রিপোর্ট "-এ পাওয়া যায়। সেখানে আপনি প্রসেসরের নাম দেখতে পারেন এবং অফিসিয়াল স্পেসিফিকেশন দেখে ফিজিক্যাল কোর ও থ্রেডের সংখ্যা জানতে পারেন। অ্যাক্টিভিটি মনিটর প্রতিটি খোলা অ্যাপ্লিকেশনের থ্রেডের সংখ্যাও প্রদর্শন করে।
এই টুলগুলোর সাহায্যে আপনি একটি স্পষ্ট ধারণা পেতে পারেন যে আপনার আসলে কী পরিমাণ প্যারালাল প্রসেসিং ক্ষমতা উপলব্ধ আছে এবং আপনার প্রোগ্রামগুলো কোরগুলোকে পুরোপুরি ব্যবহার করছে, নাকি কেবল এক বা দুটি ব্যবহার করে বাকিগুলোকে প্রায় নিষ্ক্রিয় রাখছে।
আপনার ব্যবহারের উপর নির্ভর করে কতগুলি CPU কোর নির্বাচন করা উচিত?
সবার জন্য কোরের আদর্শ সংখ্যা এক নয়। এটি নির্ভর করে আপনি প্রতিদিন কী ধরনের কাজ করেন এবং আপনার পছন্দের অ্যাপ্লিকেশনগুলো একাধিক কোর ও থ্রেডের সুবিধা নেওয়ার জন্য অপ্টিমাইজ করা আছে কি না তার উপর । বেশি হলেই যে সবসময় ভালো, তা নয়, তবে সঠিক পরিসরটি খুঁজে বের করা জরুরি।
খুব সাধারণ ব্যবহারের জন্য (ব্রাউজিং, অফিসের সাধারণ কাজ, ইমেল, ভিডিও দেখা) সাধারণত ২টি ফিজিক্যাল কোরই যথেষ্ট , যদিও ভবিষ্যতের সফটওয়্যার আপডেট এবং কিছুটা বেশি ইনটেনসিভ মাল্টিটাস্কিংয়ের জন্য বাড়তি সুবিধা রাখতে আজকাল অন্তত ৪টি কোর ব্যবহার করার পরামর্শ দেওয়া হয়।
আপনি যদি সাধারণত কম চাহিদার গেম খেলেন, হালকা ফটো বা ভিডিও এডিটিং করেন এবং একই সাথে একাধিক অ্যাপ্লিকেশন খুলে রাখেন, তবে মাল্টি-থ্রেডিং সাপোর্টসহ একটি কোয়াড-কোর প্রসেসর খোঁজাই সবচেয়ে বুদ্ধিমানের কাজ । সামগ্রিক মসৃণতা, লোডিং টাইম এবং একই সাথে একাধিক প্রোগ্রাম সামলানোর ক্ষমতার দিক থেকে একটি ডুয়াল-কোর প্রসেসরের তুলনায় এর উন্নতি উল্লেখযোগ্য।
উচ্চ-ক্ষমতাসম্পন্ন গেম, আরও গুরুত্বপূর্ণ কন্টেন্ট তৈরি (যেমন উচ্চ-রেজোলিউশনের ভিডিও এডিটিং, ঘন ঘন ৩ডি রেন্ডারিং), বা ভার্চুয়াল মেশিন ব্যবহারের ক্ষেত্রে, ৬-৮ কোরের সিস্টেমে আপগ্রেড করলে পারফরম্যান্সে বিশাল উন্নতি দেখা যায়। অনেক আধুনিক গেমই ৬ বা ৮টি কোর বেশ দক্ষতার সাথে ব্যবহার করতে পারে, এবং এডিটিং ও রেন্ডারিং প্রোগ্রামগুলো সাধারণত প্রতিটি অতিরিক্ত কোরের সাথে খুব ভালোভাবে কাজ করতে পারে।
১০টি কোরের উপরে, আমরা এমন সিস্টেমের কথা বলছি যা অত্যন্ত চাহিদাপূর্ণ পরিস্থিতির জন্য ডিজাইন করা হয়েছে: যেমন একই সাথে স্ট্রিমিং সহ হাই-এন্ড গেমিং , পেশাদার ৩ডি রেন্ডারিং এবং অ্যানিমেশন, জটিল সিমুলেশন, অথবা ওয়ার্কস্টেশন এবং সার্ভার যা সমান্তরালভাবে অনেক কাজ চালায়। এই ক্ষেত্রে, যত বেশি কোর এবং থ্রেড থাকবে (যদি সফটওয়্যার দ্বারা সেগুলোর সঠিক ব্যবহার নিশ্চিত করা হয়), বিশাল কাজের চাপ সামলানোর ক্ষমতাও তত ভালো হবে।
কর্মক্ষমতার উপর কোর এবং থ্রেড গণনার প্রভাব
বেশি কোর এবং থ্রেড থাকলে লোডের অধীনে সিস্টেমের আচরণে উল্লেখযোগ্য পরিবর্তন আসে। একাধিক কোরযুক্ত একটি সিপিইউ একটির কাজে বাধা না দিয়েই একই সাথে অনেকগুলো কাজ সামলাতে পারে , যার ফলে আপনার পিসি যখন পূর্ণ ক্ষমতায় চলে তখন দ্রুততর প্রতিক্রিয়া, কম স্টাটার এবং অধিক স্থিতিশীলতা পাওয়া যায়।
মাল্টিটাস্কিং এমন একটি ক্ষেত্র যেখানে এটি সবচেয়ে বেশি লক্ষণীয়। একাধিক কোর এবং থ্রেড থাকার ফলে অপারেটিং সিস্টেম বিভিন্ন লজিক্যাল সিপিইউ-এর মধ্যে অ্যাপ্লিকেশনগুলোকে ভাগ করে দিতে পারে , যাতে একটি সিপিইউ যখন কোনো দীর্ঘ গণনা সামলায়, তখন অন্যগুলো ব্যবহারকারীকে সাড়া দেওয়া চালিয়ে যেতে পারে। এর ফলেই, উদাহরণস্বরূপ, ব্যাকগ্রাউন্ডে কোনো কিছু রেন্ডার হওয়ার সময় বা গেমপ্লে ভিডিও রেকর্ড হওয়ার সময় একটি গেম খেলা সম্ভব হয়।
ভিডিও গেমের ক্ষেত্রে, বেশিরভাগ আধুনিক গেম সাধারণত ৪ বা ৬টি কোরে ভালোভাবে কাজ করে এবং কিছু হাই-এন্ড গেম ৮টি ফিজিক্যাল কোরের সুবিধা গ্রহণ করে । এইসব ক্ষেত্রে, গ্রাফিক্স কার্ডের পাশাপাশি প্রসেসরকে ফিজিক্স, আর্টিফিশিয়াল ইন্টেলিজেন্স, গেম লজিক, নেটওয়ার্কিং ইত্যাদি সামলাতে হয়। এই কাজগুলো একাধিক কোর এবং থ্রেডে ভাগ করে দিলে আরও স্থিতিশীল ফ্রেম রেট বজায় রাখতে সাহায্য করে, বিশেষ করে খুব বেশি চাহিদাসম্পন্ন দৃশ্যগুলোতে।
পেশাদার ভিডিও এডিটিং, থ্রিডি রেন্ডারিং বা বড় আকারের ফটো প্রসেসিং-এর মতো কন্টেন্ট তৈরির ক্ষেত্রে কোরের সংখ্যা একটি অত্যন্ত গুরুত্বপূর্ণ ভূমিকা পালন করে। অনেক রেন্ডারিং ইঞ্জিন, ভিডিও এনকোডার এবং পেশাদার টুল এমনভাবে ডিজাইন করা হয়েছে যে প্রতিটি অতিরিক্ত কোরের সাথে তাদের কর্মক্ষমতা প্রায় রৈখিকভাবে বৃদ্ধি পায় । তাই, ৪ থেকে ৮ কোরে আপগ্রেড করলে নির্দিষ্ট কিছু কাজের ক্ষেত্রে এক্সপোর্টের সময় অর্ধেক হয়ে যেতে পারে।
সার্ভার এবং ওয়ার্কস্টেশন পরিবেশে, কয়েক ডজন ব্যবহারকারী, ভার্চুয়াল মেশিন বা যুগপৎ পরিষেবা পরিচালনা করার জন্য অত্যন্ত উচ্চ সংখ্যক কোরের প্রয়োজন হয় , যা প্রায়শই ১৬ বা তার বেশি হয়ে থাকে। প্রতিটি পরিষেবা বা মেশিনের জন্য বেশ কয়েকটি কোর এবং থ্রেড সংরক্ষিত রাখা যায় এবং তারপরেও নতুন কাজের জন্য জায়গা থাকে, যা সামগ্রিক সিস্টেমের ধারণক্ষমতা উল্লেখযোগ্যভাবে বৃদ্ধি করে।
তবে, এটা মনে রাখা জরুরি যে সব প্রোগ্রাম অতিরিক্ত কোরের সম্পূর্ণ সুবিধা নিতে পারে না । অনেক প্রোগ্রাম এখনও একটিমাত্র প্রধান থ্রেডের উপর ব্যাপকভাবে নির্ভরশীল, তাই প্রতিটি কোরের গতি (ফ্রিকোয়েন্সি এবং প্রতি সাইকেলে পারফরম্যান্স) অত্যন্ত গুরুত্বপূর্ণ থাকে। আদর্শগতভাবে, শুধুমাত্র থ্রেড সংখ্যা নিয়ে বিপণনের চটকদার প্রচারণায় প্রভাবিত না হয়ে, আপনার উচিত যুক্তিসঙ্গত সংখ্যক কোরের সাথে একটি ভালো ফ্রিকোয়েন্সির সমন্বয় করা।
এই সবকিছু বিবেচনা করলে এটা স্পষ্ট যে, সিপিইউ-এর প্রকৃত আচরণ নির্ধারণ করতে কোর এবং থ্রেড একসাথে কাজ করে : কোর নির্ধারণ করে কতগুলো স্বাধীন কাজ সমান্তরালভাবে পরিচালনা করা যাবে, এবং থ্রেড এই কাজগুলোকে আরও ছোট ও সুসমন্বিত অংশে বিভক্ত করতে সাহায্য করে। প্রতিটি উপাদান কীভাবে একসাথে কাজ করে তা বুঝতে পারলে, আপনার দৈনন্দিন কাজের উপর ভিত্তি করে সঠিক প্রসেসর বেছে নিতে এবং আপগ্রেড করাটা সত্যিই লাভজনক হবে কিনা তা মূল্যায়ন করতে সুবিধা হয়।