Bagaimana memperlambat kecepatan clock prosesor

12

Baru-baru ini saya membeli MacBook Pro baru yang terkadang berjalan terlalu cepat. Saya sering memprogram untuk Mathematica , dan pada 2007 MacBook Pro lama saya, saya biasanya merasa bahwa kode tidak efisien ketika berjalan lamban (saat itulah saya memutuskan "wah, saya menulis beberapa kode sampah. Mungkin saya harus menghabiskan beberapa jam untuk menyelaraskannya "). Namun, pada Mac baru saya, semuanya berjalan cepat dan cepat.

Apakah ada saklar di Mac yang memungkinkan saya memperlambat CPU, katakanlah, 1 GHz?

QuantumDot
sumber
Mari kita pindahkan diskusi panjang ke obrolan .
bmike
Anda harus melihat apple.stackexchange.com/questions/24998/…
Max Ried
Saya langsung ingat komik ini: xkcd.com/1172
justhalf

Jawaban:

19

Saya tidak berpikir itu mungkin untuk memanipulasi bar speed clock minimum, hanya karena hubungan langsung antara daya, frekuensi dan kecepatan clock dari prosesor mikro. Jelas jam memiliki rentang, jadi misalnya untuk menjalankan simulasi, sistem membutuhkan lebih banyak daya untuk berjalan lebih cepat di bawah rentang, dan kemudian ketika Anda berhenti mensimulasikan Anda melihat drop.

Solusi : Atau apakah Anda mempertimbangkan, menjalankan program dalam MAC OS tetapi pada virtualizer (misalnya, kotak virtual)? Anda kemudian dapat membatasi jumlah core / RAM yang mendedikasikan untuk menjalankan OS kedua. Dalam hal ini, program dapat dipaksa untuk berjalan jauh lebih lambat; karena virtualizer memiliki sumber daya yang jauh lebih rendah. Ini akan memberi Anda lebih banyak fleksibilitas dan jika terjadi kegagalan, Anda dapat kembali dan mengubah pengaturan virtualizer. Lebih menarik lagi, Anda dapat membawa pengaturan paket yang berjalan di virtualizer ke komputer lain dan menjalankannya di sana, dengan memiliki virtualizer di sana tentunya.

o-0
sumber
3
VirtualBox bukan emulator. Ini virtualizer. Itu sebabnya ini disebut "VirtualBox". Ini membuat virtualisasi CPU, tidak meniru itu. QEmu, misalnya, adalah sebuah emulator. (Meskipun dapat menggunakan virtualisasi, dan secara default akan melakukannya, jika memungkinkan.)
Jörg W Mittag
1
@ JörgWMittag Ini bukan virtualizer. Ini disebut hypervisor tipe-2.
Max Ried
1
@DaveRose Vm tidak perlu karena batasan pada jumlah prosesor (afinitas), memori, waktu cpu maks, dan banyak sumber daya lainnya dapat diatur untuk satu proses melalui baris perintah menggunakan utilitas unix, ulimit dan sysctl - Saya tidak ingat apakah ini Utilitas diinstal secara default, Anda mungkin perlu menginstal alat pengembang baris perintah melalui XCode. Anda akan mengatur ulimit dan menjalankan Mathematica dari shell
crasic
25

Jika kekhawatiran Anda adalah seberapa efisien perangkat lunak Anda, izinkan saya menyarankan solusi yang lebih berorientasi pada rekayasa yang memungkinkan Anda menjalankan MacBook Anda dengan kecepatan penuh:

Gunakan profiler yang dibangun ke dalam Mathematica . Ini akan memungkinkan Anda mengidentifikasi bagian-bagian dari perhitungan Anda yang menghabiskan waktu paling banyak tanpa harus menggunakan pengukuran seat-of-the-celana yang hanya bekerja pada perangkat keras yang lambat.

Blrfl
sumber
1
Bagaimana ini memperlambat kode pada satu Mac dan tidak pada yang lain? Ini informasi yang bagus, tetapi tampaknya tidak relevan untuk utas ini.
bmike
@bmike Ini informasi yang bagus. Saya tidak tahu tentang profiler Mathematica. Meskipun tidak secara langsung menjawab pertanyaan saya, mungkin membantu membuatnya menjadi tidak perlu (+1). Mungkin sebaiknya dibiarkan sebagai komentar.
QuantumDot
6
@bmike itu tidak memperlambat apa pun, itu mengatasi masalah OP sebenarnya mencoba untuk mendapatkan yaitu apakah kode Mathematica-nya efisien atau tidak.
nekomatik
1

Profil, seperti yang disarankan dalam jawaban Blrfl, adalah cara yang lebih tepat untuk mengidentifikasi apakah kode Mathematica Anda efisien atau tidak. Namun jika Anda benar-benar ingin memperlambat pelaksanaannya, Anda mungkin dapat melakukan ini dengan mengubah prioritas proses Mathematica. Saya belum mencoba ini tetapi Anda mungkin menemukan informasi atau perangkat lunak yang bermanfaat di antara tautan ini:

Apakah ada cara untuk mengatur prioritas proses di Mac OS X?

Bagaimana cara "mengubah nama" proses secara permanen pada Mac OS X (atau iOS, dll)?

Appriority (sebelumnya Renicer) oleh Northern Softworks

Beberapa dari diskusi itu agak lama, jadi Anda mungkin perlu bereksperimen atau mencari lebih jauh untuk menemukan apa yang berfungsi pada versi Mac dan OS X Anda. Anda juga dapat menemukan teknik ini bekerja lebih efektif jika Anda mengatur Mac Anda beberapa tugas pemrosesan berat lainnya untuk dijalankan pada saat yang sama - mengonversi file video besar, katakanlah.

tidak otomatis
sumber
Mengubah prioritas suatu proses bukan jaminan bahwa proses itu akan berjalan lambat. Ini hanya petunjuk untuk sistem operasi bahwa jika ada pendapat untuk waktu prosesor, proses dengan prioritas yang lebih tinggi harus berjalan terlebih dahulu. Tanpa ada yang menghalangi, proses prioritas rendah akan berjalan dengan kecepatan penuh.
Blrfl
1

Sayangnya tidak ada. Anda tidak dapat mengubah kecepatan jam di komputer Macintosh. Mereka tidak memiliki BIOS dengan cara yang sama seperti motherboard Windows, jadi tidak ada cara pengguna dapat mengubah kecepatan jam atau bermain-main dengan hal-hal I / O.

Alasan untuk ini sebagian besar karena pada Mac, Anda tidak perlu mengubah hal-hal ini secara manual. Perangkat keras sudah dibuat sebelumnya dan OS tahu perangkat keras apa yang akan / dapat dilampirkan.

JamEngulfer
sumber
Mac OS X DAPAT mengubah kecepatan jam prosesor secara dinamis, misalnya untuk memprioritaskan kinerja ketika dicolokkan ke masa pakai baterai saat menggunakan baterai, jadi ini tidak benar-benar benar - atau setidaknya jika benar itu karena alasan yang salah yaitu OS tidak membuat pengaturan ini mudah diakses.
nekomatik
Poin yang bagus. Saya mengedit posting untuk mengklarifikasi ini
JamEngulfer
0

Ya, tapi itu tidak disarankan. Kecepatan clock dikendalikan oleh OS dan prosesor itu sendiri karena sejumlah faktor, termasuk beban prosesor, suhu, dan ketersediaan daya.

Jika Anda mengurangi baterai hingga 10-20%, lepaskan semua sumber daya eksternal, dan panaskan laptop hingga suhu pengoperasian maksimum, 95F (35C) , itu pasti akan memasuki kondisi daya yang lebih rendah, termasuk mengurangi jam prosesor secara signifikan. Bantalan pemanas kecil, seperti yang digunakan untuk sakit punggung, di bawah laptop mungkin cukup, dan selama musim dingin mungkin sangat nyaman bagi Anda.

Namun, akan lebih baik menggunakan alat yang benar untuk penyetelan kinerja. Ya, Anda dapat mensimulasikan lingkungan lama Anda dan karenanya menggunakan jam internal Anda sendiri, namun perangkat lunak yang Anda gunakan memiliki jam, timer, dan alat lain untuk memahami kinerja pekerjaan Anda. Mengingat bahwa Anda mungkin akan melakukan peningkatan lagi dalam beberapa tahun, atau Anda dapat menggunakan komputer dan platform komputasi yang berbeda dalam waktu yang bersamaan, menggunakan kruk seperti emulator bukanlah solusi jangka panjang yang baik.

Saya sarankan Anda menggunakan alat bawaan. Penggunaan reguler akan memungkinkan Anda untuk menggunakannya tanpa terlalu banyak upaya tambahan, sehingga Anda dapat mengintegrasikannya ke dalam perangkat lunak saat itu juga.

Adam Davis
sumber