উত্তর:
অন্যরা যেমন বলেছে, এটি পুরোপুরি কাজের উপর নির্ভর করে।
এটি চিত্রিত করার জন্য আসুন একটি আসল মানদণ্ডটি দেখুন:
এটি আমার মাস্টার থিসিস থেকে নেওয়া হয়েছিল (বর্তমানে অনলাইনে উপলভ্য নয়)।
এটি স্ট্রিং মেলানো অ্যালগরিদমের 1 টি আপেক্ষিক গতিবেগ দেখায় (প্রতিটি বর্ণ একটি আলাদা অ্যালগোরিদম)। হাইপারথ্রেডিং সহ দুটি ইন্টেল জিয়ন এক্স 5550 কোয়াড-কোর প্রসেসরের উপর অ্যালগরিদমগুলি কার্যকর করা হয়েছিল। অন্য কথায়: মোট আটটি কোর ছিল, যার প্রতিটিতে দুটি হার্ডওয়্যার থ্রেড কার্যকর করতে পারে (= "হাইপারথ্রেডস")। অতএব, বেঞ্চমার্ক 16 টি থ্রেডের সাথে স্পিড-আপ পরীক্ষা করে (যা এই কনফিগারেশনটি কার্যকর করতে পারে এমন একযোগে একযোগে থাকা থ্রেডের সংখ্যা)।
চারটি অ্যালগরিদমের মধ্যে দুটি (নীল এবং ধূসর) পুরো ব্যাপ্তির উপর কম বা কম রৈখিকভাবে স্কেল করে। অর্থাৎ হাইপারথ্রেডিং থেকে এটি উপকৃত হয়।
আরও দুটি অ্যালগরিদম (লাল এবং সবুজ বর্ণের; বর্ণ অন্ধ লোকের জন্য দুর্ভাগ্যজনক পছন্দ) 8 টি থ্রেডের জন্য রৈখিক স্কেল করে। এর পরে, তারা স্থির হয়ে যায়। এটি স্পষ্টভাবে ইঙ্গিত করে যে এই অ্যালগোরিদমগুলি হাইপারথ্রেডিং দ্বারা উপকৃত হয় না।
কারন? এই বিশেষ ক্ষেত্রে এটি মেমরি লোড; প্রথম দুটি অ্যালগরিদম গণনার জন্য আরও মেমরির প্রয়োজন এবং মূল মেমরি বাসের পারফরম্যান্স দ্বারা সীমাবদ্ধ। এর অর্থ হ'ল যখন একটি হার্ডওয়্যার থ্রেড মেমরির জন্য অপেক্ষা করছে, অন্যটি কার্যকর করা চালিয়ে যেতে পারে; হার্ডওয়্যার থ্রেডের জন্য একটি প্রাইম ইউজ-কেস।
অন্যান্য অ্যালগরিদমগুলির জন্য কম স্মৃতি দরকার এবং বাসের জন্য অপেক্ষা করার দরকার নেই। তারা প্রায় সম্পূর্ণ গণনা আবদ্ধ এবং শুধুমাত্র পূর্ণসংখ্যার গাণিতিক (বিট অপারেশন, বাস্তবে) ব্যবহার করে। অতএব, সমান্তরাল বাস্তবায়নের কোনও সম্ভাবনা নেই এবং সমান্তরাল নির্দেশিকা পাইপলাইন থেকে কোনও সুবিধা নেই।
1 অর্থাত্ 4 এর একটি গতি-বৃদ্ধিকারী ফ্যাক্টরটির অর্থ হল যে অ্যালগরিদম চারগুণ দ্রুত চালিত হয় যেন এটি কেবলমাত্র একটি থ্রেড দিয়ে কার্যকর করা হয়েছিল। সংজ্ঞা অনুসারে, তখন, একটি থ্রেডে কার্যকর প্রতিটি অ্যালগরিদমের 1 এর আপেক্ষিক গতি-আপ গুণক থাকে।
সমস্যাটি, এটি কাজের উপর নির্ভর করে।
হাইপারথ্রেডিংয়ের পিছনে ধারণাটি মূলত: সমস্ত আধুনিক সিপিইউয়ের একাধিক মৃত্যুদণ্ডের সমস্যা রয়েছে। সাধারণত এখন এক ডজন বা আরও কাছাকাছি। পূর্ণসংখ্যা, ভাসমান পয়েন্ট, এসএসই / এমএমএক্স / স্ট্রিমিংয়ের মধ্যে বিভক্ত (এটি আজ যা বলা হয়)।
অতিরিক্তভাবে, প্রতিটি ইউনিটের বিভিন্ন গতি রয়েছে। উদাহরণস্বরূপ, কোনও কিছু প্রক্রিয়াজাতকরণের জন্য পূর্ণসংখ্যার গণিত ইউনিট 3 চক্র লাগতে পারে তবে একটি 64 বিট ভাসমান পয়েন্ট বিভাগে 7 টি চক্র লাগতে পারে। (এগুলি পৌরাণিক সংখ্যাগুলি কোনও কিছুর উপর ভিত্তি করে নয়)।
আদেশ ছাড়াই কার্যকর করা বিভিন্ন ইউনিটকে যথাসম্ভব পরিপূর্ণ রাখতে সহায়তা করে।
তবে কোনও একক টাস্ক প্রতি মুহূর্তে প্রতিটি একক এক্সিকিউশন ইউনিট ব্যবহার করবে না। এমনকি বিভক্ত থ্রেডও পুরোপুরি সহায়তা করতে পারে না।
সুতরাং তত্ত্বটি সেখানে একটি দ্বিতীয় সিপিইউ রয়েছে বলে ভান করে হয়ে যায়, এটিতে অন্য থ্রেড চলতে পারে, আপনার অডিও ট্রান্সকোডিং যা 98% এসএসই / এমএমএক্স স্টাফ দ্বারা ব্যবহৃত হয় না ব্যবহারের জন্য ব্যবহারযোগ্য নয় এবং ব্যবহারকারীর এবং ভাসমান ইউনিটগুলি সম্পূর্ণরূপে কিছু জিনিস ব্যতীত নিষ্ক্রিয়।
আমার কাছে এটি একক সিপিইউ বিশ্বে আরও বোধগম্য হয়, সেখানে একটি দ্বিতীয় সিপিইউ ফেকিংয়ের ফলে থ্রেডগুলি আরও সহজেই এই নকল দ্বিতীয় সিপিইউ হ্যান্ডেল করার জন্য অতিরিক্ত (যদি থাকে) অতিরিক্ত কোডিংয়ের সাহায্যে সেই প্রান্তিকতাটি অতিক্রম করতে দেয়।
3/4/6/8 মূল বিশ্বে, 6/8/12/16 সিপিইউ থাকা, এটি কী সহায়তা করে? জানিনা। যতটুকু? হাতের কাজগুলিতে নির্ভর করে।
সুতরাং প্রকৃতপক্ষে আপনার প্রশ্নের উত্তর দেওয়ার জন্য, এটি আপনার প্রক্রিয়াটির কার্যাদি, কোন এক্সিকিউশন ইউনিট এটি ব্যবহার করছে এবং আপনার সিপিইউতে নির্ভর করবে যে কোন এক্সিকিউশন ইউনিটগুলি নিষ্ক্রিয় / আন্ডারউজড এবং সেই দ্বিতীয় নকল সিপিইউয়ের জন্য উপলব্ধ।
গণ্য সামগ্রীর কিছু 'শ্রেণি' উপকারের জন্য বলা হয় (অস্পষ্টভাবে সাধারণভাবে)। তবে এখানে কোনও কঠোর এবং দ্রুত নিয়ম নেই এবং কিছু শ্রেণীর জন্য এটি জিনিসকে ধীর করে দেয়।
জিওফসি-র উত্তরে আমার কাছে কিছু কৌতুকপূর্ণ প্রমাণ রয়েছে যেহেতু আমার কাছে হাইপারথ্রেডিং সহ একটি কোর আই 7 সিপিইউ (4-কোর) রয়েছে এবং ভিডিও ট্রান্সকোডিংয়ের সাথে কিছুটা খেলেছি, এটি এমন একটি কাজ যা বেশিরভাগ যোগাযোগ এবং সুসংগতকরণের প্রয়োজন তবে যথেষ্ট রয়েছে সমান্তরালতা যা আপনি কার্যকরভাবে কোনও সিস্টেমকে পুরোপুরি লোড করতে পারেন।
প্রসেসিং পাওয়ারের প্রায় 1 টি অতিরিক্ত CPU মূল্যমানের সমতুল্য 4 হাইপারথ্রেডেড "অতিরিক্ত" কোর ব্যবহার করে আপনাকে কতটি সিপিইউ কার্যবিধে অর্পিত হয় তার সাথে খেলার আমার অভিজ্ঞতা। অতিরিক্ত 4 টি "হাইপারথ্রেডেড" কোর 3 থেকে 4 "রিয়েল" কোর হিসাবে একই পরিমাণে ব্যবহারযোগ্য প্রক্রিয়াকরণ শক্তি যোগ করেছে।
অনুমোদিত এটি কঠোরভাবে একটি নিখুঁত পরীক্ষা নয় কারণ সমস্ত এনকোডিং থ্রেডগুলি সম্ভবত সিপিইউতে একই সংস্থার জন্য প্রতিযোগিতা করবে তবে আমার কাছে এটি সামগ্রিক প্রক্রিয়াকরণ শক্তিতে কমপক্ষে একটি সামান্য উত্সাহ দেখিয়েছিল।
এটি সত্যই সহায়তা করে কি না তা দেখানোর একমাত্র আসল উপায় হায়পারথ্রেডিং সক্ষম এবং অক্ষম একটি সিস্টেমে একই সময়ে কয়েকটি পৃথক পূর্ণসংখ্যার / ভাসমান পয়েন্ট / এসএসই ধরণের পরীক্ষা চালানো এবং একটি নিয়ন্ত্রিত অবস্থায় কতগুলি প্রসেসিং পাওয়ার উপলব্ধ রয়েছে তা দেখুন real পরিবেশ।
এটি সিপিইউ এবং কাজের চাপের উপর অনেক বেশি নির্ভর করে যেমন অন্যেরা বলেছেন।
হাইপার-থ্রেডিং প্রযুক্তি সহ Intel® Xeon® প্রসেসর এমপিতে পরিমাপ করা পারফরম্যান্স এই প্রযুক্তির জন্য সাধারণ সার্ভার অ্যাপ্লিকেশন মানদণ্ডে 30% পর্যন্ত পারফরম্যান্স লাভ দেখায়
(এটি আমার কাছে কিছুটা রক্ষণশীল মনে হয়।)
এবং এখানে আরও সংখ্যার সাথে আরও একটি দীর্ঘ কাগজ রয়েছে (যে আমি এখনও সব পড়িনি) । সেই কাগজটি থেকে একটি আকর্ষণীয় গ্রহণযোগ্যতা হ'ল হাইপারথ্রেডিং কিছু কাজের জন্য পাতলা ধীর করতে পারে ।
এএমডির বুলডোজার আর্কিটেকচার আকর্ষণীয় হতে পারে । তারা প্রতিটি কোরকে কার্যকরভাবে 1.5 কোর হিসাবে বর্ণনা করে। এটি আপনার সম্ভাব্য পারফরম্যান্স সম্পর্কে কতটা আত্মবিশ্বাসী তার উপর নির্ভর করে এটি একধরণের চরম হাইপারথ্রেডিং বা উপ-মানক মাল্টি-কোর। এই অংশের সংখ্যাগুলি 0.5x এবং 1.5x এর মধ্যে একটি মন্তব্যের গতি বাড়ানোর পরামর্শ দেয়।
পরিশেষে, কর্মক্ষমতাও অপারেটিং সিস্টেমের উপর নির্ভরশীল। ওএস আশা করি, কেবলমাত্র সিপিইউ হিসাবে মুখোমুখি হওয়া হাইপারথ্রেডগুলির পক্ষে অগ্রাধিকারে প্রকৃত সিপিইউগুলিতে প্রসেস প্রেরণ করবে । অন্যথায় ডুয়াল-কোর সিস্টেমে আপনার একটি নিষ্ক্রিয় সিপিইউ এবং একটি খুব ব্যস্ত কোর দুটি থ্রেড মারতে পারে। আমি মনে করি যে উইন্ডোজ 2000 এর সাথে এটি ঘটেছে তবে অবশ্যই সমস্ত আধুনিক ওএস উপযুক্তভাবে সক্ষম।