উপস্থাপনের জন্য আমি একটি AMD64 চিপসেটে কার্নেল 3.2 দিয়ে দেবিয়ান হুইজি ব্যবহার করছি। আমার মেশিনটিতে দুটি জিওন ই 5-2690 কোর রয়েছে। আমি বুট প্যারামিটারগুলি সেট আপ করেছি যাতে একটি সিপিইউতে সমস্ত কোর একক প্রক্রিয়াতে উত্সর্গীকৃত হয়। এটি করতে আমি গ্রাবগুলিতে আইসলকপাস = 8,9,10,11,12,13,14,15 সেট করেছি।
এ পর্যন্ত সব ঠিকই. এখন বলা যাক আমি একটি নির্দিষ্ট কমান্ডের জন্য বিচ্ছিন্ন সিপিইউগুলি ব্যবহার করতে চাই, সহজ হতে আমি কেবল একটি সাধারণ অসীম লুপ ব্যবহার করব:
$ টাস্কসেট -c 8-15 বাশ-সি 'সত্য হলেও; ইকো হ্যালো> / দেব / নাল; সম্পন্ন' &
এখন পর্যন্ত এত ভাল, শীর্ষগুলি দেখায় যে কোর 8 স্পিঞ্জ করে প্রায় 100% ব্যবহারের জন্য। এখন বলা যাক আমি আবার সেই আদেশটি চালু করি:
$ টাস্কসেট -c 8-15 বাশ-সি 'সত্য হলেও; ইকো হ্যালো> / দেব / নাল; সম্পন্ন' &
এখন শীর্ষগুলি দেখায় যে কোর 9-15 টি অলস থাকে এবং দুটি প্রক্রিয়া কোর 8 ভাগ করে নিচ্ছে তবে পরিবর্তে আমি যদি এটি করি:
$ Tassetset -c 8 bash -c 'সত্য হলেও; ইকো হ্যালো> / দেব / নাল; সম্পন্ন' &
$ টাস্কসেট -c 9 বাশ-সি 'সত্য হলেও; ইকো হ্যালো> / দেব / নাল; সম্পন্ন' &
8 এবং 9 টি কোর প্রতিটি তাদের উচিত হিসাবে 100% ব্যবহার করে। এটি কেবল আইলকপাসের ক্ষেত্রেই প্রযোজ্য কারণ 1-7 কোরের একই টাস্কসেটটি প্রাসঙ্গিক কোরগুলিতে যথাযথভাবে ছড়িয়ে দেয়। তদ্ব্যতীত "টাস্কসেট-পি" দেখায় যে 8-15 প্রসেসের জন্য অ্যাফিনিটি মাস্কটি সঠিকভাবে সেট করা আছে। এটি প্রদর্শিত হয় যে কর্নেল সিডিউলার আইসলকপাস অ্যাফিনিটি মাস্কের উপরে বর্ণিত সর্বনিম্ন কোর ব্যতীত অন্য কিছু ব্যবহার করতে অস্বীকার করেছে।
এখন সাধারণত আমার উপরের উদাহরণগুলির সাথে এটি কোনও বড় বিষয় হবে না, প্রতিটি প্রক্রিয়ার জন্য কেবল পৃথক কোর নির্দিষ্ট করুন। তবে আমি ডেডিকেটেড সিপিইউতে একটি উচ্চ মাল্টিথ্রেডেড অ্যাপ্লিকেশনটি চালাতে চাই। আমি মূল সেটটি নির্দিষ্ট করতে এবং থ্রেড পুলটি স্বয়ংক্রিয়ভাবে ব্যবহার করতে চাই, প্রতিটি পৃথক থ্রেডের জন্য প্রসেসরের সত্ত্বাকে স্বতন্ত্রভাবে পুনরায় সেট না করেই।
আইসলকপু সেট থেকে আমাকে একাধিক কোর দেওয়ার জন্য শিডিয়ুলার কীভাবে পাবেন সে সম্পর্কে কারও কি ধারণা আছে?