Apakah Ubuntu mendukung Core Parking?

13

Core parking adalah fitur baru yang diperkenalkan pada Windows 7 untuk mendapatkan kinerja baterai yang lebih baik .

Bergantung pada penggunaan sumber daya sistem operasi, sistem ini dapat memarkir satu atau beberapa inti multi-core cpu untuk mengurangi konsumsi daya komputer dan emisi termal. Setelah operasi membutuhkan lebih banyak kekuatan pemrosesan, inti yang diparkir diaktifkan kembali untuk membantu dalam tugas

Jadi pertanyaan saya adalah apakah ada cara saya dapat melakukannya di Ubuntu 12.04 "Core Parking" ?

Qasim
sumber
3
Pertanyaan bagus!
NlightNFotis

Jawaban:

9

Untuk saat ini, saya tidak memiliki jawaban yang jelas untuk ini, namun jelas bahwa linux Kernel menggunakan beberapa mekanisme penghematan energi .

Namun, melakukan beberapa riset cepat, saya segera menyadari bahwa kernel Linux terbaru menggunakan fitur yang disebut ACPI yang merupakan akronim untuk Konfigurasi Lanjut dan Antarmuka Daya .

Apa yang dilakukan ACPI:

spesifikasi Advanced Configuration and Power Interface (ACPI) menyediakan standar terbuka untuk konfigurasi perangkat dan manajemen daya oleh sistem operasi.

via Wikipedia .

Pada dasarnya ACPI memungkinkan untuk mengontrol berbagai kondisi CPU, untuk memungkinkan manajemen daya yang lebih baik.

Status CPU ACPI yang berbeda:

CPU C-States (manajemen daya)

Pada dasarnya, mungkin tidak ada yang perlu Anda khawatirkan tentang "status C" CPU. Ini secara otomatis dikendalikan oleh sistem kernel + ACPI dengan mempertimbangkan beban sistem saat ini. (CAVEAT: lihat catatan tentang prosesor AMD Athlon dan Duron di bawah). Kode ACPI di kernel yang lebih baru (2,6+) secara otomatis membuat CPU Anda tidur ketika ada waktu idle (catatan: ini tidak mengubah frekuensi CPU. Itu dikendalikan oleh "negara P" - lihat di bawah).

Satu-satunya hal yang perlu disadari adalah bahwa sistem Anda benar-benar "sadar" ketika CPU dihentikan sejenak - Anda tidak akan melihat banyak perbedaan. Namun, penghematan daya bisa sangat besar. Anggap saja CPU Anda mengambil ribuan "micro-naps" setiap kali idle.

Status CPU-T (pembatasan)

Ini sangat mirip dengan "status C" (instruksi HLT yang sama digunakan), namun perbedaannya adalah bahwa pelambatan "dipaksa oleh Anda" (seperti setiap siklus ke-4 dipaksa menjadi siklus tidur, berbeda dengan "kondisi C "di atas yang secara otomatis ditentukan oleh beban sistem). Perhatikan bahwa frekuensinya TIDAK diubah ... lihat "status P" di bawah ini.

Status CPU-P (kinerja)

Banyak prosesor hari ini (terutama laptop) dapat membuat frekuensi jam benar-benar melambat "on the fly". Ini menambah penghematan daya yang sangat besar. Intel menyebutnya "SpeedStep" dan AMD menyebutnya "Cool'n'Quiet" atau "PowerNow". Lebih umum negara-negara ini disebut "negara P". Anda hampir pasti harus masuk ke BIOS dan mengaktifkan fitur ini untuk CPU Anda PERTAMA!

** Beberapa tolok ukur konsumsi: **

Apa penghematan daya dari kondisi CPU di atas? Data berikut ini diambil dari situs web AMD. Pertimbangkan AMD 64 3400 + / 2200MHz dengan 1 MB L2 cache. Ngomong-ngomong, saat saya di sini, izinkan saya mengeluh tentang konvensi penamaan AMD. Angka 3400+ tidak berarti jack squat. Ini hanya cara AMD untuk mengatakan bahwa prosesor ini "mirip" sebuah Intel Pentium-4 yang berjalan pada 3400MHz. Saya kira ini adalah cara mereka untuk tidak kehilangan pangsa pasar. Berikut adalah nilai konsumsi daya status P dan T (status C adalah instruksi HLT yang sama dengan status T):

  • Status Performa 0 (Sepenuhnya Aktif) (2200MHz): 89 Watt
  • Kinerja 1 (2000MHz): 70 Watt
  • Kinerja 2 (800MHz): 35 Watt
  • Throttled (instruksi HLT): 2,2 Watt

Beberapa referensi untuk bacaan lebih lanjut

EDIT

[EDIT # 1]: Googling, saya menemukan beberapa posting lain di beberapa forum juga (forum OpenSuse tampaknya relevan dengan apa yang Anda cari) dan menemukan bahwa ini bukan masalah bagi Linux seperti untuk windows dan terutama di game. Saya juga menggali beberapa informasi dalam dua surat (yang pertama dan yang kedua [tindak lanjut] ) di milis RedHat yang tampaknya terkait. Saat ini saya sedang meneliti informasi di dalamnya.

[EDIT # 2]: Saya telah sedikit meneliti masalah ini, dan saya semakin yakin bahwa tidak ada mekanisme parkir inti di Linux, kecuali ada satu ACPI yang tidak saya sadari. Beberapa temuan menarik adalah beberapa bagian dari perangkat lunak yang memungkinkan untuk memanipulasi cpu secara langsung dan proses berjalan di atasnya, seperti cpuset , numactl dan yang terakhir, CPUfreq . Akan melanjutkan penelitian saya.

NlightNFotis
sumber
Saya pikir beberapa perangkat Android dapat menonaktifkan satu atau lebih inti. Tidak yakin apakah ini dikelola langsung oleh perangkat keras atau kernel.
Leo
2

Ada sebuah artikel di sini yang menyebutkan bahwa parkir inti berhubungan dengan pengaturan core untuk memajukan c-state untuk menghemat daya. c-state diatur dengan instruksi berhenti. Seperti NlightNFotis menyebutkan ini dilakukan dengan menggunakan dukungan linux untuk ACPI.

Anda mungkin bisa mendapatkan beberapa informasi lebih lanjut tentang status tempat inti Anda diletakkan oleh linux dengan program open source powertop( sudo apt-get install powertop) yang ditulis oleh Intel. Jika perangkat keras Anda mendukung berbagai kondisi-c, ia harus dapat memberi tahu Anda berapa persen waktu inti Anda yang dimasukkan ke dalam kondisi pengurangan daya ini oleh Ubuntu Linux. Lihat di bawah. Semakin tinggi angka c-nyatakan semakin banyak daya yang disimpan.

Ini memberikan lebih banyak informasi juga.

Juga, seperti Windows, ketika ada pekerjaan yang harus dilakukan Linux dapat menyesuaikan frekuensi di mana core berjalan tergantung pada jumlah permintaan, keinginan untuk menghemat daya, dll.

Laptop saya tidak mendukung c-state, meskipun dapat ditangguhkan. Acer kecil yang kami miliki dengan prosesor Atom mendukung mereka, seperti yang Anda lihat di bawah.

masukkan deskripsi gambar di sini

John S Gruber
sumber