প্রক্রিয়াটি একটি কোরের পরিবর্তে এক থ্রেডে ধীর গতিতে চলবে


2

এতগুলি সিপিইউ এখন 2/4 কোর এবং 4/8 থ্রেড সহ আসে।

কিছু সিপিইউ রয়েছে যা 4 টি মূল এবং 4 টি থ্রেড are

তার অর্থ কি যে তুলনামূলক প্রক্রিয়া 4/4 সিপিইউর তুলনায় 8/4 সিপিইউর সাথে একই ঘড়ি চক্র সিপিইউতে ধীরে ধীরে চলবে কারণ এটি কোরটির অর্ধেক ব্যবহার করে?

সিপিইউকে কেবলমাত্র প্রতি 1 টি থ্রেডে সেট করার কোনও প্রোগ্রামিক উপায় আছে (ওএস স্তরটি বলুন)?


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

উত্তর:


1

তার মানে কি এই যে কোরটির মাত্র অর্ধেক ব্যবহার করা হচ্ছে বলে তুলনামূলক প্রক্রিয়াটি 4 কোর 8 থ্রেডসিপিইউয়ের চেয়ে 4 কোর 8 থ্রেড সিপিইউ সহ একই ঘড়ি চক্র সিপিইউতে ধীরে চলবে?

বাছাই, হ্যাঁ, এবং না।

যদি আমি এএ 8 কোর (8 ট্রেড) সিপিইউতে 8 অননির্ভর একক ট্রেডেড প্রোগ্রামগুলি চালনা করি তবে প্রতিটি কোর একটি ট্র্যাড চালাবে এবং এগুলি সর্বোচ্চ গতিতে চলবে (যেমন সমস্ত সময় নির্ধারণ করুন, ওএসের মতো বিষয়গুলিকে উপেক্ষা করে যা কিছু সিপিইউ সময় চায়)।

যদি আমি এএ 4 কোর (4 টি ট্রেড) সিপিইউতে 8 অননির্ভর একক ট্রেডেড প্রোগ্রামগুলি চালনা করি তবে অ্যাভারেজের উপরে প্রতিটি কোর এর দুটি চালিত হবে। প্রোগ্রামটি অর্ধেক দ্রুত চলবে।

এখনও অবাক হওয়ার কিছু নেই।

এখন একটি 4 কোর (8 টি ট্রেড) সিপিইউ দিয়ে ওএস মনে করে যে সেখানে 8 টি কোর রয়েছে। এটি তাদের প্রথম কেস হিসাবে চালিত করবে। তবে এটি আসলে ঘটনা নয়; অর্ধেক কোর নিয়মিত কোর হিসাবে তৈরি হয় না। সাধারণত কার্যকারিতার কেবলমাত্র অংশটিই নকল হয় এবং যদি আপনার ভাগ্য খারাপ হয় তবে কোনও একটি পদক্ষেপ স্টল হয়ে যাবে। এটি কোনও 4c / 4t সিপিইউ এর পরে আর দ্রুত হবে না।

তবে আপনি যদি খুব ভাগ্যবান হন (যেমন ALU গুলি দ্বিগুণ হয়ে গেছে এবং আপনি স্মৃতি থেকে তথ্য আনার জন্য এবং আচরণের মধ্যে বিকল্প পরিবর্তন করছেন) তবে উভয়ই পুরো গতিতে চলতে পারে।

গড়ে , এটি 30% গতি বৃদ্ধির দিকে নিয়ে যায়।


এটিকে আরও জটিল করে তোলার জন্য: আপনি যদি প্রোগ্রামগুলি বড় ডেটাসেট ব্যবহার করেন তবে এর মধ্যে 4 টিরও বেশি চালানো কম ক্যাশে হিট হতে পারে। শেষগুলি আসলে জিনিসকে ধীর করতে পারে।


সিপিইউকে কেবলমাত্র প্রতি 1 টি থ্রেডে সেট করার কোনও প্রোগ্রামিক উপায় আছে (ওএস স্তরটি বলুন)?

হ্যাঁ, হাইপার ট্র্যাডিংয়ের পালা।

আপনি ফার্মওয়্যার এ (উদাহরণস্বরূপ BIOS বা UEFI এ), বা ওএস থেকে এটি করতে পারেন।

উদাহরণস্বরূপ 8 টি 4 কোরের সিপিইউর জন্য কোরের সাথে 1 1 2 3 প্রথম কোর এবং 4 5 6 7 টি ট্র্যাডযুক্ত সেট যা আপনি ব্যবহার করতে পারেন:

echo 0 > /sys/devices/system/cpu/cpu4/online
echo 0 > /sys/devices/system/cpu/cpu5/online
echo 0 > /sys/devices/system/cpu/cpu6/online
echo 0 > /sys/devices/system/cpu/cpu7/online

আইআইআরসি ফ্রিবিএসডি সিসকন্ট্রোল দিয়ে একই কাজ করেছিল। ওএসএক্স বা উইন্ডোজের জন্য আপনার চারপাশে গুগল করা দরকার।


-1

থ্রেডিংটি সফ্টওয়্যার দ্বারা নিয়ন্ত্রণ করা হয় (ভাবেন জাভা ভিএম) এবং কোরগুলি হার্ডওয়্যার। একটি প্রসেসরের বিভিন্ন আন্তঃসংযোগ প্রকল্পগুলির সাথে ভিতরে বেশ কয়েকটি কোর থাকতে পারে। প্রতিটি কোর একটি থ্রেড প্রক্রিয়া করতে পারে তবে এটি ওএস প্রতিটি থ্রেড পরিচালনা করে তার উপর নির্ভর করে।

প্রসেসরের হার্ডওয়ারের সর্বশেষ এবং সর্বশ্রেষ্ঠ জন্য আমি অ্যাপ্রেসের "বিশেষজ্ঞের ভয়েস ইন মাইক্রোপ্রসেসারস" সিরিজটি সুপারিশ করি।

আমি থ্রেড সম্মতিতে পল বাচারের দুর্দান্ত বইয়ের পরামর্শ দিচ্ছি কারণ তিনি জিপিইউ'র (সাত সপ্তাহে সাতটি কনকুরન્સી মডেলস )ও কভার করেন।

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