গণনার জন্য আমার কতটি কোর ব্যবহার করা উচিত? # কোরস বা # কোরস -1?


12

আমার এক বিশাল হিসাব আছে। যদিও আমি সমস্ত কোর ব্যবহার করতে পারি, আমি ভেবেছিলাম যে 1 টি কোর ছেড়ে যাওয়ার এবং এটি ব্যবহার না করার কোনও কারণ আছে? (গণনা সিপিইউ কেবল কোনও আইও নেই)। বা আমি ওএসকে হ্রাস করছি যা আমি সমস্ত কোর ব্যবহার করেও সঠিক প্রসঙ্গে স্যুইচিং পরিচালনা করতে এবং পরিচালনা করতে জানে না?


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

অনেক ক্ষেত্রে # কোর + 1 ব্যবহার করা অনেক অর্থবোধ করে। যদি আপনি কেবল # স্কোর ব্যবহার করেন তবে কোনও অপ্রত্যাশিত অবরুদ্ধকরণ (যেমন একটি পৃষ্ঠা ত্রুটি) অকারণে কোনও কোরকে নিষ্ক্রিয় হতে বাধ্য করে।
ডেভিড শোয়ার্জ

উত্তর:


28

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

মূল সংখ্যা নির্ধারণের সময় গণনাটি সম্পাদন করার সময় আপনার অন্য কিছু করার অভিপ্রায়ের উপর আরও নির্ভর করে।

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

অন্যদিকে, যদি আপনার অগ্রাধিকারটি যত দ্রুত সম্ভব গণনা করা হয়, আপনাকে সমস্ত কর ব্যবহার করতে হবে।


7
আধুনিক ওএস শিডিয়ুলারগুলি আসলে উচ্চতর সিপিইউ ব্যবহারের সময় ইন্টারেক্টিভ প্রোগ্রামগুলিকে ইন্টারেক্টিভ রাখতে যথেষ্ট ভাল, যতক্ষণ না ইন্টারেক্টিভ প্রোগ্রামগুলি প্রচুর সিপিইউ ব্যবহার না করে (যা অনুমোদিত, আধুনিক
ব্লোয়েটেড

দ্রষ্টব্য: এমনকি সার্ভারগুলিতে, আপনি যদি ssh করতে সক্ষম হন এবং একটি চমকপ্রদ উত্তর পেতে চান তবে মূল 0 কে একা রেখে দেওয়া কার্যকর হতে পারে।
ম্যাথিউ এম।

11

এটা নির্ভর করে.

মেশিনটি যদি এই গণনায় উত্সর্গীকৃত হয় তবে আপনার সমস্ত কোর ব্যবহার করা উচিত - অব্যবহৃত কম্পিউটিং সংস্থানগুলি জিনিসগুলিকে গতি দেয় না

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

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


3
"আপনি যদি গণনাটি চলাকালীন কোনও ওয়েব ব্রাউজার ব্যবহার করছেন তবে […] এটি স্বাচ্ছন্দ্য বোধ করবে the গণনার মতো থ্রূট-ওরিয়েন্টেড কাজগুলি আসলেই কমিয়ে দেওয়া হবে না, তবে জিইউআইয়ের মতো বিলম্ব-সংবেদনশীল কাজগুলি তত দ্রুত প্রতিক্রিয়া দেখাবে না। [ …] সাধারণ কাজগুলির তুলনায় গণনার জন্য স্পষ্টভাবে নিম্ন অগ্রাধিকার ব্যবহার করা এই সমস্যাটিকে সমাধান করতে পারে "- এবং এই কারণেই ইউনিক্সে প্রক্রিয়াটির অগ্রাধিকার মানটিকে" niceness "বলা হয় এবং নামক একটি ইউটিলিটি ব্যবহার করে কনফিগার করা হয়েছে nice
জার্গ ডব্লু মিট্টাগ

2
প্রযুক্তিগতভাবে "অব্যবহৃত কম্পিউটিং সংস্থানগুলি জিনিসগুলিকে গতি দেয় না" they কম কোর ব্যবহার করা উচ্চ ঘড়ির হারকে মঞ্জুরি দেয় এবং সিঙ্ক্রোনাইজেশনকে হ্রাস করতে পারে, এটি জিনিসগুলিকে গতি বাড়িয়ে দিতে বা নাও করতে পারে।
ডেভিডমাহ

2
সাধারণত ডেভিড্ম নোটগুলি ছাড়াও সাধারণত সিপিইউ দিকে এল 1 L এবং এল 2-তে কিছুটা থ্রেড এবং এল 3 এর মধ্যে ভাগ করা হয় যাতে আরও থ্রেড ব্যবহার করা বাড়তে পারে increased মিসেস প্রসেসকে ধীর করে দেয়। বিশেষত যদি প্রক্রিয়াটি প্রসেসরের বাউন্ডের পরিবর্তে মেমরির সাথে আবদ্ধ থাকে।
ম্যাকিয়েজ পাইচোটকা

যদি আপনি থ্রেড / প্রক্রিয়া অগ্রাধিকার স্তরগুলি যথাযথভাবে সেট করেন তবে আপনি ইন্টারেক্টিভ প্রক্রিয়াগুলিতে পটভূমি কাজের প্রভাবকে হ্রাস করতে পারেন। আমি এক দশকেরও বেশি সময় ধরে আমার ব্যক্তিগত মেশিনে বিতরণ করা কম্পিউটিং অ্যাপস চালিয়েছি; এবং সিপিইউ কম্পিউট কাজগুলি সহ কম অগ্রাধিকারে চলমান আমার ব্রাউজারগুলি এবং অন্যান্য সাধারণ ডেস্কটপ অ্যাপ্লিকেশনগুলি ব্যবহার করার ক্ষমতা অযৌক্তিক। জিপিইউতে রিসোর্স ভাগ করে নেওয়া তেমন উন্নত নয় এবং পটভূমিতে জিপিইউ কম্পিউট চালানোর সময় আমি জিপিইউ এক্সিলারড এইচটিএমএল 5 ভিডিওর (গেমসের কিছু মনে করি না) নিয়ে মাঝে মাঝে সমস্যার মধ্যে পড়েছি। মাল্টি-থ্রেড গেমগুলি হালকা জিএফএক্স এমনকি সমস্যাযুক্ত হতে পারে;
স্টার স্ট্রেড

1

আমি তার নেতিবাচক ভোটের কারণে নীচে @MotDrizzt এর সাথে একমত হওয়ার বিষয়ে কিছুটা সতর্কতা অবলম্বন করছি, তবে এটি আমার আসল অভিজ্ঞতা - আরও ভাল, এমনকি কোরের প্রকৃত সংখ্যার বাইরেও (হাজার হাজার নয়)। উদাহরণস্বরূপ, http://www.forkosh.com/images/avoronoi.gif দেখুন যেখানে সেই 3 ডি-ভোরোনাই_ডায়াগ্রামের প্রতিটি 2D- প্লেন স্বাধীনভাবে তৈরি করা যায়। এবং প্রোগ্রামটি "একসাথে" এন প্লেনগুলির গণনাগুলি কাঁটাচামচ করার জন্য একটি এনফার্ক = এন ক্যুরি_ স্ট্রিং বৈশিষ্ট্যটি গ্রহণ করে ।

একটি ফোর-কোর প্রসেসরের সাথে, ডায়াগ্রামটি সম্পূর্ণ করার সময় (ব্যবহারকারী) প্রায় এনফোরক = 8 (চারটি কোর হাইপারথ্রেডেড) অবধি এনফোর্কের সাথে লাইনারিভাবে হ্রাস পায়। তবে 8 এর বাইরেও সময় কমছে যদিও আরও ধীরে ধীরে। এবং প্রায় 16 বা তার বাইরে, আর কোনও লক্ষণীয় উন্নতি হয়নি। আমি এই আচরণটি মোটেও বিশ্লেষণ করিনি, তবে সামগ্রিক অলস সময়কে আরও কমাতে এমনকি জালিয়াতির প্রক্রিয়াগুলিকে অজস্রভাবে এটিকে (লিনাক্স স্ল্যাকওয়্যার 14.2x64) জগলিং প্রক্রিয়াগুলিতে বিশিষ্ট করে।


0

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

এবং তারপরে আপনার হাইপারথ্রেডিং বিবেচনা করা উচিত। চারটি কোর প্লাস হাইপারথ্রেডিং সহ আপনি 8 টি কোর বা 7 কোর ব্যবহার করতে পারেন। আবার, সিস্টেমটির প্রতিক্রিয়াশীলতা এবং সময় শেষ করার চেষ্টা করুন।

এবং পরিশেষে, আপনার কাজকে থ্রেডের চেয়ে বেশি ব্লকে বিভক্ত করার বিষয়টি বিবেচনা করুন। কারণটি হ'ল বিভিন্ন থ্রেড বিভিন্ন সময়ে কাজ শেষ করবে এবং তারপরে আপনি দ্রুত থ্রেডগুলির হাতে কিছু কাজ রেখে যেতে চান। অন্যথায় আপনাকে শেষ থ্রেড শেষ না হওয়া পর্যন্ত অপেক্ষা করতে হবে।

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


-4

আমি কীভাবে এটি "খারাপ" না বলে এমনভাবে লিখতে জানি না, তাই এটি কেবল বন্ধুত্বপূর্ণ মন্তব্য হিসাবে গ্রহণ করুন, ঠিক আছে?

একটি গড় পিসি ইতিমধ্যে সাধারণত হাজার বা ততোধিক থ্রেড রয়েছে তা দিয়ে আপনি কী ভাবেন যে 8 বনাম 7 ব্যবহার করে কোনও তফাত হবে? :-)

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


3
তবে এই হাজার হাজার থ্রেডের বেশিরভাগই 100% সিপিইউ ব্যবহার করেন না, তাই না?
Andreas Rejbrand

1
কোরের দ্বিগুণ সংখ্যা ব্যবহার করা সাধারণত গণনার সময়গুলিতে উন্নতি করে না। প্রকৃতপক্ষে, শারীরিক কোরের সংখ্যার বেশি ব্যবহার করা সাধারণত উপকারী হয় না, এমনকি আপনার যদি আরও যৌক্তিক কোর থাকে (হাইপারথ্রেডিং ইত্যাদির মাধ্যমে; যদিও এটি আপনি সম্পাদন করছেন সঠিক কাজের উপর নির্ভর করে)। উত্স: ম্যাটল্যাব সমান্তরাল প্রসেসিং ব্যবহার করে অতীত থেকে অভিজ্ঞতা।
Sanchises

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