মাল্টি থ্রেডেড সিপিইউ নিবিড় টাস্ক তাপমাত্রার সীমা ছাড়ানোর আগে সিপিইউয়ের পথকে থ্রোটল করে দেয়


21

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

একই প্রোগ্রাম এবং ডেটা ফাইলগুলিকে আমার ২০১ 13 13 এ ডুয়াল কোর মেশিন সহ ম্যাকবুক প্রো এ নিয়ে যান এবং এটি শুরু করুন, আমি আশা করব যে তাপমাত্রা 100 ° সি এর চিহ্নের কাছাকাছি না আসা পর্যন্ত এটি 3.3-3.4 গিগাহার্টজও বজায় রাখবে। শীর্ষ কমান্ডটি টাস্কটি 350% (প্রতিটি দ্বৈত থ্রেডযুক্ত 2 কোরে) দেখায়, তবে সিপিইউ ফ্রিকোয়েন্সিটি কেবলমাত্র 60 ডিগ্রি সেন্টিগ্রেড তাপমাত্রা সহ 1.6-1-8 গিগাহার্জ হয়ে যায় এবং যদি ভক্তদের নিঃশব্দে শান্ত করে দেয় 4 একক থ্রেডেড সিপিইউ কাজগুলি, মেশিনটি ৩.৩-৩.৪ গিগাহার্টজ বজায় রাখার সাথে সাথে প্রত্যাশা অনুযায়ী আচরণ করে যতক্ষণ না এটি 100 ডিগ্রি সেন্টিগ্রেডে না যায় এবং ভক্তরা ক্র্যাঙ্কিং হয়ে না যায় প্রশ্নটি হল কেন আমার সিপিইউ থ্রটলড হচ্ছে?

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

যদি আমি 3 বা 4 সিপিইউ একক থ্রেড চালায় যাতে মেশিনটি পুরো গতিতে চলেছে, তবে থ্রেডেড প্রোগ্রামটি শুরু করুন, এটি ফ্রিকোয়েন্সিটিও কমিয়ে দেয়।

দুটি মেশিনেই 16 গিগাবাইট র‌্যাম রয়েছে।

সম্পাদন করা

কোডটি নিয়ে ঘুরে দেখার পরে, আমি সন্দেহ করি যে কোনও কাজ যখন খুব বেশি থ্রেড তৈরি করে তখন এটি থ্রটল হয়ে যাচ্ছে। এই প্রোগ্রামটিতে আমি প্রতিটি রেকর্ড নিয়েছি এবং এটির জন্য একটি থ্রেড তৈরি করি। আমি কেবল 20 বা ততোধিক থ্রেডগুলিকে এক সময়ে যেতে দিয়েছি তাই কোনও সময় 21 টির বেশি থ্রেড নেই, তবে 30 মিনিটের মধ্যে 14,400,000 রেকর্ড প্রক্রিয়া করতে হবে বা তাই রেকর্ডগুলির প্রত্যেকটি পৃথক থ্রেড দ্বারা প্রক্রিয়া করা হবে।

আমি একটি তুচ্ছ পাইথ্রেড প্রোগ্রাম তৈরি করেছি যা সিপিইউ সময়কে চুষে ফেলেছে এবং তাদের মধ্যে 10 টি চলমান সেট করেছে। সমস্যাটি ল্যাপটপটি চালিয়েছিল এবং 95 সি পর্যন্ত কোনও সমস্যা ছাড়াই উষ্ণ হয়ে যায়।

আমি অনুমান করি যে আমি আমার কোডটি একই থ্রেডটিকে ধ্বংস করার পরিবর্তে পুনরায় ব্যবহার করতে আবার এটিকে পুনরায় লিখতে লিখব।

5/13/17 আপডেট করুন

বেশ কয়েক ঘন্টা কাজ করার পরে, এটি এখন কেবল এন থ্রেড তৈরি করে এবং কেবল সেগুলি পুনরায় পুনঃব্যবহার করে, তাতে কোনও লাভ হয়নি। সিপিইউ তাপমাত্রা ব্যতীত, কী কারণে এই মেশিনটি হ্রাস পাবে?


1
আমি এই প্রশ্ন ভালোবাসি! কীভাবে একটি পৃথক নির্দিষ্ট মাল্টিথ্রেডেড টাস্ক চালাবেন? আমি ffmpeg টাস্কের মতো কিছু চালানোর পরামর্শ দিচ্ছি (একটি 1080p বা 4K ভিডিওতে, এটি উপলব্ধ যে সমস্ত সিপিইউ রিসোর্স ব্যবহার করে) তা নিশ্চিত করে দেখুন এবং এটি থ্রোটলস হয়েছে কিনা তা দেখুন। এটি সমস্যাটিকে হ্রাস করতে পারে: মেশিনে আপনার প্রোগ্রাম বা in মেশিনে থাকা সমস্ত মাল্টিথ্রেড প্রোগ্রাম
নোএল

1
যদি আমি সিনেমাবেঞ্চ আর 15 বেঞ্চমার্ক পরিচালনা করি তবে এটি থ্রেডেড টাস্কগুলি ব্যবহার করে এবং প্রত্যাশা অনুযায়ী চালানো হয়, তাপমাত্রা প্রায় 100 সেন্টিগ্রেড পর্যন্ত যায় এবং ভক্তরা উঠে আসে। ইন্টেল পাওয়ার গ্যাজেট দেখায় যে সিপিইউ ফ্রিকোয়েন্সিটি এখনও 3.3 গিগাহার্টজের কাছে রয়েছে। সুতরাং এটি একটি হার্ডওয়্যার ইস্যুর মতো দেখাচ্ছে না। সমস্ত কোড হ'ল সি কোড যা p_threads এবং ন্যূনতম নীরব লকগুলি ব্যবহার করে অভিনব নয় with প্রোগ্রামটি বেশিরভাগ ডিএনএ সিকোয়েন্স প্রসেসিংয়ের সাথে একটি থ্রেডের সাথে 16 গিগা ডেটার মতো কিছু টানতে থাকে এবং ভারী সংখ্যার ক্রাঞ্চিংয়ের জন্য এটি পৃথক থ্রেডে প্রেরণ করে।
মার্কাটলঙ্ক

1
দেখে মনে হচ্ছে যে অন্যান্য প্রোগ্রামগুলি আপনি যে সিলিংটি লক্ষ্য করছেন তা হিট করতে পারে? যদি সমস্যাটি কেবল আপনার বিশেষ কোড থেকে হয় তবে আমাদের সেই কোডটি সম্পর্কিত আরও তথ্যের প্রয়োজন হতে পারে। তবুও, আপনার ডেটা প্রক্রিয়া করার জন্য কোথায়? এক্সটার্নাল? কার্নেল_টাস্ক কত কাজ রিপোর্ট করে? অন্যান্য টেম্প সেন্সর?
LаngLаngС

1
আপনার সিপিইউতে 4 টি নয়, 8 টি লজিক্যাল কোর রয়েছে, সুতরাং 4 টি থ্রেড 50% মোট সিপিইউ হিসাবে ব্যবহার করবে। এটি আপনার সিস্টেমের লোড অনুমানকে প্রভাবিত করে কিনা তা আমি অবাক করি।
sudo

আপনি যদি সমস্যার মধ্যে দিয়ে যেতে চান তবে আমি জানি না, তবে আপনি ডিবাগ কার্নেল দিয়ে কার্নেল স্তরে ডিবাগ করার চেষ্টা করতে পারেন। আপনি যদি অ্যাপল দেব সাইটে ডাউনলোডগুলিতে আরও ক্লিক করেন তবে আপনি এটি পেতে পারেন।
ব্যবহারকারী 3052786

উত্তর:


1

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

আমি অনুমান করছি কারণ আপনি ইঙ্গিত করেছেন যে একক থ্রেড প্রসেসগুলি সমস্ত কোরে সম্পূর্ণ গতি চালাতে পারে এবং একটি সাধারণ মাল্টি-থ্রেড প্রোগ্রাম সমস্ত কোরগুলিতে পূর্ণ গতি চালাতে পারে।

এটি আমাকে ভাবতে বাধ্য করে যে আপনার বাস্তব কাজের চাপের বনাম পরীক্ষার মাল্টি-থ্রেড কাজের চাপের প্রোগ্রাম ডিজাইনে এমন কিছু রয়েছে যা সিপিইউগুলিকে সার্বক্ষণিকভাবে কাজ করতে দেয় না


0

কার্নেল এক্সটেনশন / সিস্টেম / লাইব্রেরি / এক্সটেনশনস / অ্যাপলএসিপিআইপিপ্ল্যাটফর্ম.কেক্সট প্রচুর তাপমাত্রা এবং সিপিইউ সুরক্ষা নিয়ন্ত্রণ করে। এটি ইতিমধ্যে আপনার সিস্টেমে সংকলিত, স্পষ্টতই, তবে এটি https://opensource.apple.com এ উপলব্ধ হতে পারে (আমি এটি খুঁজে পাচ্ছি না, তবে আমি কেবল এটির তাত্ক্ষণিক দৃষ্টি দিয়েছি)। অ্যাপল সিপিইউ সক্ষমতায় খুব রক্ষণশীল সেটিংস থাকলে এটি আমাকে অবাক করে না।


3
অ্যাপল কেেক্সটগুলি ওপেন সোর্স নয় AF (আশ্চর্যরকম?) ড্রাইভারগুলির ইনজেক্ট করার প্রয়োজনীয়তার কারণে হ্যাকিনটোশিং সম্প্রদায় এটির তথ্যের সর্বোত্তম উত্স।
JMY1000

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

0

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


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