লিনাক্স: স্লিপ স্টেটের পরিবর্তে সিপিইউ কোর শাটডাউন


10

লিনাক্সে আপনি সিপিইউ কোর্স (বা শারীরিক সিপিইউ) বন্ধ করতে পারেন প্রতিধ্বনি 0> / sys / ডিভাইস / সিস্টেম / সিপিইউ / সিপিই 1 / অনলাইন ধরে ধরে ধরে নিন যে হার্ডওয়্যারটি সিপিইউ পুরোপুরি বন্ধ করে দিয়েছে এবং পাওয়ারটি কেটে দেয় এটি অক্ষম করা ভাল না would প্রসেসরের বিভিন্ন ঘুমের অবস্থার উপর নির্ভর করার পরিবর্তে কোরগুলি সম্পূর্ণরূপে?

করতে চিত্রিত নীতি আমি চার সিপিইউ এর একটি সিস্টেমের জন্য এই লাইন (pseudocode হয়) বরাবর কিছু চিন্তা ছিল:

if(loadavg > 3.00) echo 1 > /sys/devices/system/cpu/cpu3/online
if(loadavg < 3.00) echo 0 > /sys/devices/system/cpu/cpu3/online

if(loadavg > 2.00) echo 1 > /sys/devices/system/cpu/cpu2/online
if(loadavg < 2.00) echo 0 > /sys/devices/system/cpu/cpu2/online

if(loadavg > 1.00) echo 1 > /sys/devices/system/cpu/cpu1/online
if(loadavg < 1.00) echo 0 > /sys/devices/system/cpu/cpu1/online

উত্তর:


6

সিপিইউ কোরের অনলাইন স্ট্যাটাস সেট করা প্রসেস শিডিউলারকে কেবল কোনও প্রক্রিয়ার জন্য সেই কোরটি ব্যবহার না করার জন্য বলে। একটি হার্ডওয়্যার স্তরে, কোরটি কেবল অলস বসে ( NOPতবে) তবে এখনও চালিত। এটি বিদ্যুৎ সাশ্রয় করবে, কম্পিউটারকে ঘুমিয়ে রাখার মতো প্রায় শক্তি সঞ্চয় করবে না। কেন?

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

আবার, আমি একমত হওয়ার পরে এটি শক্তি সাশ্রয় করবে, এমনকি আপনার সিপিইউ অর্ধেক কোর বন্ধ করা প্রসেসরের শক্তি খরচ অর্ধেক করে দিতে পারে (যদিও বাস্তবে, আপনি কেবল 30-40% সাশ্রয় করতে পারেন যেহেতু সেই কোরগুলি এখনও অলস থাকা দরকার) তবে এটি শক্তি ব্যবহার করে সিস্টেমের একমাত্র উপাদান থেকে অনেক দূরে। আপনি এটি করে 50 ডাব্লু সাশ্রয় করলেও, আপনি পুরো কম্পিউটারটি এখনও স্লিপ মোডে কেবল ওয়াটের চেয়ে অনেক বেশি শক্তি আঁকছেন ।


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

এটি কাজ করে, কারণ একটি সিএমওএস সার্কিটের বিদ্যুৎ ব্যবহারের জন্য জেনেরিক সমীকরণ নিম্নলিখিত:

পি = সিভি 2 এফ, যেখানে সি = ক্যাপাসিট্যান্স (ধার্য স্থির করুন), ভি = ভোল্টেজ এবং এফ = ফ্রিকোয়েন্সি।

সুতরাং, 2 দ্বারা ফ্রিকোয়েন্সি বিভক্ত করা আসল বিদ্যুৎ খরচ অর্ধেক হবে। ভোল্টেজকে 2 দ্বারা ভাগ করলে বিদ্যুতের খরচ আসল 1/4 এ হ্রাস পাবে।


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

@ ওয়াক্সহেড একবার আপনি সিপিইউতে শক্তি কাটলে, পুরো কম্পিউটারটি যৌক্তিকভাবে "বন্ধ" হয়ে যায় (এবং কেবলমাত্র বাইরের বাধা দিয়ে কেবল চালু করা যেতে পারে), এমনকি অন্যান্য হার্ডওয়্যার চালিত থাকলেও। এছাড়াও, আপনি HLTপরিবর্তে ব্যবহার সম্পর্কে সঠিক হতে পারেন NOP, তবে এটি আবার বাধা ব্যবহারের সাথে জড়িত (এটি কীভাবে প্রসেসরকে আটকানো অবস্থা থেকে আনা যায়)। কাটা শক্তির পরিবর্তে, বেশিরভাগ প্রসেসর গতিশীলভাবে ঘড়ির গতি এবং ভোল্টেজ পরিবর্তন করে (আমার উত্তরে সমীকরণ যুক্ত করে)।
ব্রেকথ্রু

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

@ ব্র্যাকথ্রু আপনার সুন্দর পোস্টের জন্য ধন্যবাদ। আমরা কীভাবে কম বিদ্যুৎ অবস্থায় সিপিইউ রাখতে পারি (
রিবুটিং

@ ব্র্যাকথ্রু "কোরটি কেবল অলস বসে থাকে (এনওপিগুলি করে)," যখন আমরা কোনও নির্দিষ্ট সিপিইউ কোরটিতে অফলাইন করি তখন এটি "/ proc / interrupts" থেকে অদৃশ্য হয়ে যায়। আপনি কীভাবে বলতে পারেন কোর এনওপি অপারেশন প্রক্রিয়া করছে?
iDebD_gh
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.