হাইপার থ্রেড কত গতিবেগ দেয়? (ধারণায়)


38

আমি ভাবছি হাইপার থ্রেডেড সিপিইউ থেকে তাত্ত্বিক স্পিডআপটি কী। 100% সমান্তরালতা এবং 0 যোগাযোগ ধরে নেওয়া - দুটি সিপিইউ 2 দিয়ে একটি গতিবেগ দেবে হাইপার থ্রেডযুক্ত সিপিইউ সম্পর্কে কী?

উত্তর:


59

অন্যরা যেমন বলেছে, এটি পুরোপুরি কাজের উপর নির্ভর করে।

এটি চিত্রিত করার জন্য আসুন একটি আসল মানদণ্ডটি দেখুন:

এখানে চিত্র বর্ণনা লিখুন

এটি আমার মাস্টার থিসিস থেকে নেওয়া হয়েছিল (বর্তমানে অনলাইনে উপলভ্য নয়)।

এটি স্ট্রিং মেলানো অ্যালগরিদমের 1 টি আপেক্ষিক গতিবেগ দেখায় (প্রতিটি বর্ণ একটি আলাদা অ্যালগোরিদম)। হাইপারথ্রেডিং সহ দুটি ইন্টেল জিয়ন এক্স 5550 কোয়াড-কোর প্রসেসরের উপর অ্যালগরিদমগুলি কার্যকর করা হয়েছিল। অন্য কথায়: মোট আটটি কোর ছিল, যার প্রতিটিতে দুটি হার্ডওয়্যার থ্রেড কার্যকর করতে পারে (= "হাইপারথ্রেডস")। অতএব, বেঞ্চমার্ক 16 টি থ্রেডের সাথে স্পিড-আপ পরীক্ষা করে (যা এই কনফিগারেশনটি কার্যকর করতে পারে এমন একযোগে একযোগে থাকা থ্রেডের সংখ্যা)।

চারটি অ্যালগরিদমের মধ্যে দুটি (নীল এবং ধূসর) পুরো ব্যাপ্তির উপর কম বা কম রৈখিকভাবে স্কেল করে। অর্থাৎ হাইপারথ্রেডিং থেকে এটি উপকৃত হয়।

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

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

অন্যান্য অ্যালগরিদমগুলির জন্য কম স্মৃতি দরকার এবং বাসের জন্য অপেক্ষা করার দরকার নেই। তারা প্রায় সম্পূর্ণ গণনা আবদ্ধ এবং শুধুমাত্র পূর্ণসংখ্যার গাণিতিক (বিট অপারেশন, বাস্তবে) ব্যবহার করে। অতএব, সমান্তরাল বাস্তবায়নের কোনও সম্ভাবনা নেই এবং সমান্তরাল নির্দেশিকা পাইপলাইন থেকে কোনও সুবিধা নেই।


1 অর্থাত্ 4 এর একটি গতি-বৃদ্ধিকারী ফ্যাক্টরটির অর্থ হল যে অ্যালগরিদম চারগুণ দ্রুত চালিত হয় যেন এটি কেবলমাত্র একটি থ্রেড দিয়ে কার্যকর করা হয়েছিল। সংজ্ঞা অনুসারে, তখন, একটি থ্রেডে কার্যকর প্রতিটি অ্যালগরিদমের 1 এর আপেক্ষিক গতি-আপ গুণক থাকে।


সেরা উত্তর :-)
Sklivvz

1
মূল সংখ্যার বিরুদ্ধে প্লট করা অ্যালগরিদমের আসল গতি কী? অর্থাৎ এই পরীক্ষাগুলিতে দ্রুততম অ্যালগরিদমের গতি লাভ কী? ভাবছি :).
পাগল

@ কৌতুক 2 নীল লাইনের জন্য ( হর্সপুলের অ্যালগরিদম ), চলমান সময়টি 16 টি থ্রেড সহ 4.16 সেকেন্ড থেকে 0.35 সেকেন্ডে যায়। সুতরাং গতি আপ হয় 11.74। তবে, এটি হাইপার-থ্রেডিং সহ with কোরের সংখ্যার বিপরীতে যখন ষড়যন্ত্র করা হয়, তখন 8 টি কোরে এই অ্যালগরিদমের গতি বাড়ানো 7.17 is
কনরাড রুডল্ফ

5
এই উত্তরটির সাথে একমাত্র সমস্যা হ'ল আমি কেবল একবার এটি উত্সাহ দিতে পারি। একটি মানসিক প্রশ্নের জন্য তার অবিশ্বাস্যরূপে উদ্দেশ্য উত্তর;)
মজুর গিক


20

সমস্যাটি, এটি কাজের উপর নির্ভর করে।

হাইপারথ্রেডিংয়ের পিছনে ধারণাটি মূলত: সমস্ত আধুনিক সিপিইউয়ের একাধিক মৃত্যুদণ্ডের সমস্যা রয়েছে। সাধারণত এখন এক ডজন বা আরও কাছাকাছি। পূর্ণসংখ্যা, ভাসমান পয়েন্ট, এসএসই / এমএমএক্স / স্ট্রিমিংয়ের মধ্যে বিভক্ত (এটি আজ যা বলা হয়)।

অতিরিক্তভাবে, প্রতিটি ইউনিটের বিভিন্ন গতি রয়েছে। উদাহরণস্বরূপ, কোনও কিছু প্রক্রিয়াজাতকরণের জন্য পূর্ণসংখ্যার গণিত ইউনিট 3 চক্র লাগতে পারে তবে একটি 64 বিট ভাসমান পয়েন্ট বিভাগে 7 টি চক্র লাগতে পারে। (এগুলি পৌরাণিক সংখ্যাগুলি কোনও কিছুর উপর ভিত্তি করে নয়)।

আদেশ ছাড়াই কার্যকর করা বিভিন্ন ইউনিটকে যথাসম্ভব পরিপূর্ণ রাখতে সহায়তা করে।

তবে কোনও একক টাস্ক প্রতি মুহূর্তে প্রতিটি একক এক্সিকিউশন ইউনিট ব্যবহার করবে না। এমনকি বিভক্ত থ্রেডও পুরোপুরি সহায়তা করতে পারে না।

সুতরাং তত্ত্বটি সেখানে একটি দ্বিতীয় সিপিইউ রয়েছে বলে ভান করে হয়ে যায়, এটিতে অন্য থ্রেড চলতে পারে, আপনার অডিও ট্রান্সকোডিং যা 98% এসএসই / এমএমএক্স স্টাফ দ্বারা ব্যবহৃত হয় না ব্যবহারের জন্য ব্যবহারযোগ্য নয় এবং ব্যবহারকারীর এবং ভাসমান ইউনিটগুলি সম্পূর্ণরূপে কিছু জিনিস ব্যতীত নিষ্ক্রিয়।

আমার কাছে এটি একক সিপিইউ বিশ্বে আরও বোধগম্য হয়, সেখানে একটি দ্বিতীয় সিপিইউ ফেকিংয়ের ফলে থ্রেডগুলি আরও সহজেই এই নকল দ্বিতীয় সিপিইউ হ্যান্ডেল করার জন্য অতিরিক্ত (যদি থাকে) অতিরিক্ত কোডিংয়ের সাহায্যে সেই প্রান্তিকতাটি অতিক্রম করতে দেয়।

3/4/6/8 মূল বিশ্বে, 6/8/12/16 সিপিইউ থাকা, এটি কী সহায়তা করে? জানিনা। যতটুকু? হাতের কাজগুলিতে নির্ভর করে।

সুতরাং প্রকৃতপক্ষে আপনার প্রশ্নের উত্তর দেওয়ার জন্য, এটি আপনার প্রক্রিয়াটির কার্যাদি, কোন এক্সিকিউশন ইউনিট এটি ব্যবহার করছে এবং আপনার সিপিইউতে নির্ভর করবে যে কোন এক্সিকিউশন ইউনিটগুলি নিষ্ক্রিয় / আন্ডারউজড এবং সেই দ্বিতীয় নকল সিপিইউয়ের জন্য উপলব্ধ।

গণ্য সামগ্রীর কিছু 'শ্রেণি' উপকারের জন্য বলা হয় (অস্পষ্টভাবে সাধারণভাবে)। তবে এখানে কোনও কঠোর এবং দ্রুত নিয়ম নেই এবং কিছু শ্রেণীর জন্য এটি জিনিসকে ধীর করে দেয়।


2
যদিও আমি "১.7 টাইম স্পিডআপ" এর মতো কিছু সন্ধান করছিলাম এই উত্তরটি খুব সুন্দর কারণ এটি এই সমস্যাটির উপর কালো এবং সাদা বর্ণকে চড় দেয় না।
মিখাইল

@ মিখাইল: মুল বক্তব্যটি হ'ল কোনও সাধারণ কারণ নেই - এটি নির্ভর করে যেমন জীবনের প্রায়শই :-)।
sleske

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

@ কনরাড: আমি মনে করি যে পয়েন্টটি আমি পৌঁছেছিলাম তা হল একটি কোর এবং দুটি কোরের মধ্যে পার্থক্য 4 এবং 8 বা 2 এবং 4 এর মধ্যে পার্থক্যের চেয়ে বেশি মূল্যবান হতে পারে e অর্থাত্ একটি দ্বিতীয় কোর থাকা, কারণ একটি দুর্বল থ্রেডযুক্ত অ্যাপ্লিকেশন সহায়তা করতে পারে একটু বেশি.
জিওফক

"একটি খারাপ থ্রেডেড অ্যাপের জন্য" - এটি গুরুত্বপূর্ণ বিষয়। তবে বাস্তবে, বেশিরভাগ অ্যাপ্লিকেশনগুলির থ্রেডিং সমর্থনটি দুর্বল তাই আপনার একটি বক্তব্য রয়েছে।
কনরাড রুডল্ফ

5

জিওফসি-র উত্তরে আমার কাছে কিছু কৌতুকপূর্ণ প্রমাণ রয়েছে যেহেতু আমার কাছে হাইপারথ্রেডিং সহ একটি কোর আই 7 সিপিইউ (4-কোর) রয়েছে এবং ভিডিও ট্রান্সকোডিংয়ের সাথে কিছুটা খেলেছি, এটি এমন একটি কাজ যা বেশিরভাগ যোগাযোগ এবং সুসংগতকরণের প্রয়োজন তবে যথেষ্ট রয়েছে সমান্তরালতা যা আপনি কার্যকরভাবে কোনও সিস্টেমকে পুরোপুরি লোড করতে পারেন।

প্রসেসিং পাওয়ারের প্রায় 1 টি অতিরিক্ত CPU মূল্যমানের সমতুল্য 4 হাইপারথ্রেডেড "অতিরিক্ত" কোর ব্যবহার করে আপনাকে কতটি সিপিইউ কার্যবিধে অর্পিত হয় তার সাথে খেলার আমার অভিজ্ঞতা। অতিরিক্ত 4 টি "হাইপারথ্রেডেড" কোর 3 থেকে 4 "রিয়েল" কোর হিসাবে একই পরিমাণে ব্যবহারযোগ্য প্রক্রিয়াকরণ শক্তি যোগ করেছে।

অনুমোদিত এটি কঠোরভাবে একটি নিখুঁত পরীক্ষা নয় কারণ সমস্ত এনকোডিং থ্রেডগুলি সম্ভবত সিপিইউতে একই সংস্থার জন্য প্রতিযোগিতা করবে তবে আমার কাছে এটি সামগ্রিক প্রক্রিয়াকরণ শক্তিতে কমপক্ষে একটি সামান্য উত্সাহ দেখিয়েছিল।

এটি সত্যই সহায়তা করে কি না তা দেখানোর একমাত্র আসল উপায় হায়পারথ্রেডিং সক্ষম এবং অক্ষম একটি সিস্টেমে একই সময়ে কয়েকটি পৃথক পূর্ণসংখ্যার / ভাসমান পয়েন্ট / এসএসই ধরণের পরীক্ষা চালানো এবং একটি নিয়ন্ত্রিত অবস্থায় কতগুলি প্রসেসিং পাওয়ার উপলব্ধ রয়েছে তা দেখুন real পরিবেশ।


1
ভাল একটি পরিষ্কার পয়েন্ট - এটি প্রয়োগ নির্ভর করে। আমি নিশ্চিত যে মূল 0 এবং কোরিয়ার 0-h একই ধরণের র‍্যাম ব্যবহার না করে একই ক্যাশে যোগাযোগ করবে বলে উচ্চ যোগাযোগের কম্পিউটিং গতি বাড়তে পারে sure
মিখাইল

1
@ মিখাইল, তারপরে সমস্যাটি হ'ল যদি উভয় থ্রেডকে যদি প্রচুর পরিমাণে প্রক্রিয়াকরণ শক্তি প্রয়োজন হয় তবে তারা উভয়ই একই সংস্থানগুলির জন্য প্রতিযোগিতা করবে এবং সিপিইউ ভাগ করে নেওয়া এল 3 ক্যাশে দিয়ে যোগাযোগ করার চেয়ে অনেক ভাল হবে (আই 7 টিতে এল 1 এবং এল 2 ক্যাশে রয়েছে) প্রতি কোর এবং একটি ভাগ করা L3 ক্যাশে) বা এমনকি সিস্টেম মেমরি এবং পৃথকভাবে তাদের কাজগুলি করে। এটা সব একটি বৃহদায়তন এর সোমালিয়ার দিকে নিচ্ছে-এবং-চৌমাথার ব্যায়াম ...
Mokubai

3

এটি সিপিইউ এবং কাজের চাপের উপর অনেক বেশি নির্ভর করে যেমন অন্যেরা বলেছেন।

ইন্টেল বলেছেন :

হাইপার-থ্রেডিং প্রযুক্তি সহ Intel® Xeon® প্রসেসর এমপিতে পরিমাপ করা পারফরম্যান্স এই প্রযুক্তির জন্য সাধারণ সার্ভার অ্যাপ্লিকেশন মানদণ্ডে 30% পর্যন্ত পারফরম্যান্স লাভ দেখায়

(এটি আমার কাছে কিছুটা রক্ষণশীল মনে হয়।)

এবং এখানে আরও সংখ্যার সাথে আরও একটি দীর্ঘ কাগজ রয়েছে (যে আমি এখনও সব পড়িনি) । সেই কাগজটি থেকে একটি আকর্ষণীয় গ্রহণযোগ্যতা হ'ল হাইপারথ্রেডিং কিছু কাজের জন্য পাতলা ধীর করতে পারে ।

এএমডির বুলডোজার আর্কিটেকচার আকর্ষণীয় হতে পারে । তারা প্রতিটি কোরকে কার্যকরভাবে 1.5 কোর হিসাবে বর্ণনা করে। এটি আপনার সম্ভাব্য পারফরম্যান্স সম্পর্কে কতটা আত্মবিশ্বাসী তার উপর নির্ভর করে এটি একধরণের চরম হাইপারথ্রেডিং বা উপ-মানক মাল্টি-কোর। এই অংশের সংখ্যাগুলি 0.5x এবং 1.5x এর মধ্যে একটি মন্তব্যের গতি বাড়ানোর পরামর্শ দেয়।

পরিশেষে, কর্মক্ষমতাও অপারেটিং সিস্টেমের উপর নির্ভরশীল। ওএস আশা করি, কেবলমাত্র সিপিইউ হিসাবে মুখোমুখি হওয়া হাইপারথ্রেডগুলির পক্ষে অগ্রাধিকারে প্রকৃত সিপিইউগুলিতে প্রসেস প্রেরণ করবে । অন্যথায় ডুয়াল-কোর সিস্টেমে আপনার একটি নিষ্ক্রিয় সিপিইউ এবং একটি খুব ব্যস্ত কোর দুটি থ্রেড মারতে পারে। আমি মনে করি যে উইন্ডোজ 2000 এর সাথে এটি ঘটেছে তবে অবশ্যই সমস্ত আধুনিক ওএস উপযুক্তভাবে সক্ষম।


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