দ্বিতীয় ভার্চুয়াল কোর অবদান যখন প্রথম অন্যথায় আটকে যাবে অনুমোদিত হয়, তাহলে এটি চেয়ে ভালো না , তাই আপনি (অন্তত) একটু অতিরিক্ত কাজ সম্পন্ন করুন।
প্রশ্নটি হয়ে ওঠে: দুটি ভিন্ন থ্রেড থাকার কারণে কখন একটি খারাপ হয়ে যায়? নির্দেশাবলীর মধ্যে শাখার পূর্বাভাস এবং নির্ভরতা পরিবর্তিত হবে না। এখন মেমোরি অ্যাক্সেসের জন্য অপেক্ষা করা হচ্ছে ... দুটি থ্রেড মেমরি অ্যাক্সেসের প্রতিযোগিতা করে, উভয়ই ক্যাশে ব্যবহার এবং ব্যান্ডউইদথ in
যদি আপনার কিছু সিপিইউ এইচটি এবং অন্যদের সাথে চলছে না, তবে এর অর্থ কি আপনি এক প্রকার বা অন্যকে নির্দিষ্ট থ্রেড বরাদ্দ করবেন? আমি মনে করি না: আপনার প্রোগ্রামগুলি এলোমেলো ভার্চুয়াল কোরগুলিতে তাদের থ্রেডগুলি চালাবে। সুতরাং কিভাবে বিভাজন কনফিগারেশন সাহায্য করে? যেহেতু প্রতিটি সিপিইউর নিজস্ব ক্যাশে রয়েছে, কেবলমাত্র মেমরি ব্যান্ডউইথ এবং ক্যাশে সংযুক্তির বোঝার কারণে প্রভাবিত হয়।
সাধারণভাবে, আপনি একটি পয়েন্ট পৌঁছানোর যেখানে থাকার আরো কিছু করছ যেতে পারে লেট কিছু সিপিইউ সঞ্চালনের ইউনিট অলস হয়ে যেতে চেয়ে বেশি ব্যয়বহুল। এটি সরাসরি থ্রেডের সংখ্যার উপর নির্ভর করে না, তবে থ্রেডগুলি কী করছে এবং বিভিন্ন উপাদানগুলির বিশদ মেমরি আর্কিটেকচার এবং পারফরম্যান্স সূক্ষ্মতার উপর নির্ভর করে না ।
কোন সহজ উত্তর নেই। এমনকি একটি নির্দিষ্ট প্রোগ্রাম মনে রেখে, মেশিনটি তাদের নিজস্ব অভিজ্ঞতা সম্পর্কিত লোকদের থেকে পৃথক হতে পারে।
আপনাকে এটি চেষ্টা করতে হবে এবং সেই নির্ভুল মেশিনে নির্দিষ্ট কাজটি সহ সবচেয়ে দ্রুত কী পরিমাপ করতে হবে। এবং তারপরেও এটি সময়ের সাথে সাথে সফ্টওয়্যার আপডেট এবং স্থানান্তরিত ব্যবহারের মাধ্যমে পরিবর্তন হতে পারে।
অ্যাঞ্জারের ম্যাগনাম ওপাসের ভলিউম 3 একবার দেখুন । আপনি যদি কিছু নির্দিষ্ট প্রসেসরের দিকে মনোযোগ সহকারে লক্ষ্য করেন তবে কোড কার্যকর করতে প্রয়োজনীয় পদক্ষেপগুলির গভীর পাইপলাইনগুলির মধ্যে সীমাবদ্ধ সংস্থানগুলি পেতে পারেন। আপনাকে এমন একটি মামলা খুঁজে বের করতে হবে যেখানে অতিরিক্ত কাজ করার কারণে এটি বেশি কাজ না করার বিরোধিতা করে ধীরে ধীরে কার্যকর হয়। সাধারণভাবে এর অর্থ একরকম ক্যাশিং; এবং যেখানে থ্রেডগুলির মধ্যে সম্পদ ভাগ করা আছে।
সিপিইউ মিটার বলতে কী বোঝায়: এটি অলস থ্রেড চালাতে ব্যয় না করা সমস্ত সময় রিপোর্ট করে। কোনও কোরকে বরাদ্দ করা উভয় যৌক্তিক থ্রেড নিষ্ক্রিয় হবে না যদিও তার মধ্যে একটিতে প্রকৃত কাজটি ছোট হতে পারে। ফলাফল প্রস্তুত না হওয়া, স্মৃতিশক্তি পাওয়া না যাওয়া, পারমাণবিক ক্রিয়াকলাপগুলি বেড় করা ইত্যাদি ইত্যাদি পাইপলাইনটির সাথে আটকে থাকা সময় একইভাবে থ্রেডটিকে "প্রস্তুত নয়" হিসাবে আচ্ছাদিত করে না তাই এটি নিষ্ক্রিয় হবে না, এবং সময় এখনও ব্যবহার হিসাবে প্রদর্শিত হয়। র্যামের জন্য অপেক্ষা করা নিষ্ক্রিয় হিসাবে প্রদর্শিত হবে না। কেবলমাত্র I / O এর মতো কিছু থ্রেডটিকে ব্লক করে দেবে এবং এর দিকে সময় চার্জ করা বন্ধ করবে। সাধারণভাবে একটি অপারেটিং-সিস্টেম মুটেেক্স এটি করবে, তবে মাল্টিকোর সিস্টেমগুলির উত্থানের সাথে এটি আর একটি নিশ্চিত বিষয় নয়, কারণ "স্পিনলক" থ্রেডটি শেল্ফটিতে ফিরে যেতে পারবে না ।
সুতরাং, সিপিইউ মিটারটি 100% এর অর্থ এই নয় যে সব মসৃণ নৌযান, যদি সিপিইউ প্রায়শই স্মৃতির জন্য অপেক্ষা করে থাকে। 90% দেখানো লজিক্যাল কোরগুলির কয়েকটি সংখ্যক খুব বেশি কাজ করা হতে পারে, কারণ এটি ক্রাঞ্চিং সংখ্যাটি শেষ করে এখন ডিস্কের জন্য অপেক্ষা করছে।
সুতরাং সিপিইউ মিটার সম্পর্কে চিন্তা করবেন না। প্রকৃত অগ্রগতি দেখুন, শুধুমাত্র ।