Saya telah membaca bahwa produsen berhenti berkonsentrasi pada kecepatan clock yang lebih tinggi dan sekarang sedang mengerjakan hal-hal lain untuk meningkatkan kinerja.
Dengan
- mesin Desktop lama dengan Intel® Xeon® Processor E3110 dengan kecepatan clock 3.0GHz
- dan server baru dengan Prosesor AMD Opteron (TM) 6272 dengan kecepatan clock 2.1GHz
ketika dilakukan perbandingan enkripsi sederhana menggunakan (single threaded)
openssl aes256c
kinerja desktop jauh lebih baik daripada server.
Jadi, bahkan dengan optimasi terbaru, mengapa prosesor dengan kecepatan clock yang lebih baik berkinerja lebih baik?
Jawaban:
Alasan produsen berhenti berkonsentrasi pada peningkatan kecepatan clock adalah karena kita tidak bisa lagi mendinginkan prosesor dengan cukup cepat agar ini dapat berjalan. Semakin tinggi kecepatan clock, semakin banyak panas yang dihasilkan, dan kami sekarang telah mencapai tahap di mana tidak lagi efisien untuk meningkatkan kecepatan prosesor karena jumlah energi yang digunakan untuk mendinginkannya.
Jawaban lain menjelaskan secara rinci tentang bagaimana kecepatan clock yang lebih tinggi tidak berarti kinerja yang lebih baik di semua bidang.
sumber
Ada lebih banyak kecepatan pemrosesan daripada laju jam.
CPU yang berbeda dapat melakukan jumlah yang berbeda dalam jumlah siklus clock yang sama, karena varian yang berbeda pada pengaturan pipa dan memiliki beberapa unit komponen (adders dan sebagainya) di setiap core. Sementara dalam pengujian Anda bukan itu masalahnya, Anda sering menemukan chip "lebih lambat" dapat melakukan lebih dari yang cepat (diukur dengan clock rate saja) karena mampu melakukan lebih banyak per tick.
Tes yang Anda lakukan mungkin sangat sensitif terhadap perbedaan dalam arsitektur CPU: itu dapat dioptimalkan untuk arsitektur tertentu, Anda mungkin menemukan kinerjanya berbeda tidak hanya antara chip Intel dan yang AMD tetapi antara chip Intel (atau AMD) dari keluarga yang berbeda. Kemungkinan menggunakan satu utas juga sehingga tidak mengambil keuntungan dari beberapa core CPU.
Ada langkah untuk menurunkan laju clock karena alasan manajemen daya dan panas: meningkatkan laju clock tidak memiliki efek linier pada penggunaan daya dan output panas.
Karena hubungan non-linear di atas, jauh lebih efisien untuk persyaratan saat ini untuk memiliki beberapa unit pemrosesan daripada mendorong kecepatan satu unit yang lebih tinggi. Ini juga memungkinkan trik pintar untuk menghemat daya seperti mematikan inti individu ketika tidak digunakan dan menghidupkannya kembali karena permintaan meningkat lagi. Tentu saja banyak core tidak membantu algoritma single-threaded tentu saja, meskipun itu akan terjadi jika Anda menjalankan dua atau lebih dari itu secara bersamaan.
sumber
Menurut Anda mengapa produsen sebenarnya menurunkan kecepatan clock dengan hanya membandingkan dua prosesor?
Juga kecepatan-jam tidak sama dengan kinerja per siklus-jam. Anda dapat memiliki 3,8 Ghz P4 vs satu 3,2 Ghz inti dari i7-3930K, tetapi itu tidak berarti inti P4 lebih cepat.
Semua yang dikatakan di sini tentang konsumsi daya juga sangat valid dan benar untuk desain 16 inti, di mana Anda secara alami menjadi lebih peduli tentang masalah TDP.
Juga metode benchmark Anda hanya menguji openssl agak sederhana untuk memberikan angka dunia nyata. Mungkin Anda harus mencoba suite benchmark crypto.
sumber
Kasing uji Anda (enkripsi aes-256) sangat sensitif terhadap pengoptimalan khusus prosesor.
Ada berbagai CPU yang memiliki instruksi khusus yang dimaksudkan untuk mempercepat operasi enkripsi / dekripsi. Instruksi khusus ini tidak hanya hadir di desktop Anda - mungkin saja CPU AMD memiliki instruksi khusus yang berbeda. Juga, openssl mungkin mendukung instruksi khusus ini hanya untuk CPU Intel. Apakah Anda memeriksa apakah itu masalahnya?
Untuk mengetahui sistem mana yang lebih cepat, coba gunakan rangkaian benchmark "tepat" - atau lebih baik, gunakan saja beban kerja Anda.
sumber
Sederhana: Chip AMD jauh, jauh lebih cepat karena merupakan chip 16 inti. Pada 115 Watt, itu berarti setiap inti menghasilkan ~ 7 Watt. Ini tidak akan mungkin tercapai jika setiap core beroperasi pada 3 Ghz. Untuk mencapai angka 7 Watt itu, AMD menurunkan frekuensi clock. Menurunkan frekuensi clock sebesar 10% mengurangi konsumsi daya sebesar 20%, yang pada gilirannya memungkinkan Anda untuk menempatkan 25% core ekstra pada sebuah chip.
sumber
Seperti yang dikatakan orang lain, kita tidak bisa lagi mendinginkan CPU secara efektif jika kita mendorong tegangan yang diperlukan untuk peningkatan laju jam relatif yang sama di masa lalu. Ada suatu masa (era P4 dan sebelumnya) ketika Anda dapat membeli CPU baru dan melihat kecepatan "langsung" adalah kecepatan karena laju jam meningkat secara signifikan dibandingkan dengan generasi sebelumnya. Sekarang kita telah menabrak dinding termal.
Setiap generasi prosesor baru yang modern sedikit meningkat dalam clock rate, tetapi ini juga relatif terhadap kemampuan untuk mendinginkannya dengan tepat. Pembuat chip, seperti Intel, terus-menerus berfokus pada penyusutan ukuran die CPU untuk membuat keduanya lebih hemat daya dan menghasilkan lebih sedikit panas pada jam yang sama. Sebagai catatan, ukuran die yang menyusut ini membuat prosesor modern lebih rentan mati karena over-volting daripada overheating. Ini berarti bahwa itu juga membatasi laju clock ceiling dari setiap CPU generasi saat ini tanpa optimasi lain yang dibuat oleh pembuat chip.
Area lain yang sedang sangat difokuskan oleh pembuat chip adalah meningkatkan jumlah core pada chip. Ini memang faktor dalam peningkatan yang signifikan dalam daya komputasi, tetapi hanya ketika menggunakan perangkat lunak yang mengambil keuntungan dari beberapa core. Perhatikan perbedaan antara daya komputasi dan kecepatan di sini. Sederhananya, kecepatan mengacu pada seberapa cepat komputer dapat menjalankan satu instruksi, sedangkan kekuatan komputasi mengacu pada berapa banyak komputasi yang dapat dibuat komputer dalam jumlah waktu tertentu. Sistem operasi modern, dan banyak perangkat lunak modern memang memanfaatkan banyak inti. Masalahnya adalah bahwa pemrograman bersamaan / paralel lebih sulit daripada paradigma pemrograman linier standar. Ini meningkatkan waktu yang dibutuhkan untuk banyak program di pasar untuk mengambil keuntungan penuh dari kekuatan prosesor yang lebih baru ini karena banyak pengembang tidak terbiasa menulis program dengan cara ini. Masih ada beberapa program di pasaran saat ini (baik yang modern maupun yang lama) yang tidak memanfaatkan multi core atau multi-threading. Program enkripsi yang Anda kutip adalah salah satu contohnya.
Kedua area fokus pembuat chip ini secara intrinsik terhubung. Dengan mengurangi ukuran die dan konsumsi daya sebuah chip, mereka kemudian dapat meningkatkan jumlah core pada chip tersebut. Namun akhirnya, ini juga akan menabrak dinding, menyebabkan perubahan paradigma yang lebih drastis.
Alasan pergeseran paradigma ini adalah karena kita mendekati batas silikon sebagai bahan dasar untuk produksi chip. Ini adalah sesuatu yang telah diselesaikan oleh Intel dan lainnya untuk beberapa waktu. Intel telah menyatakan bahwa ia memiliki alternatif untuk silikon dalam karya, dan kami mungkin akan mulai melihatnya beberapa waktu setelah 2017. Selain bahan baru ini, Intel juga melihat ke dalam transistor 3D yang dapat "secara efektif tiga kali lipat kekuatan pemrosesan". Berikut ini adalah artikel yang menyebutkan kedua ide ini: http://apcmag.com/intel-looks-beyond-silicon-for-processors-past-2017.htm
sumber
Kehilangan panas
H
sama dengan frekuensi ke-4f
.H ~ f ^ 4
Jadi, peningkatan frekuensi yang kecil menyebabkan hilangnya panas yang tinggi.
Miniaturisasi lebih jauh
Frekuensi yang lebih tinggi mengarah ke minimalisasi kristal yang lebih jauh. Saat ini kami tidak memiliki teknologi untuk bekerja secara efektif dengan bahan skala nano-meter dan batasnya adalah nano-meter.
sumber
Seperti yang dinyatakan dalam beberapa jawaban lain, produsen CPU ingin menjaga kecepatan clock turun untuk mengontrol konsumsi daya dan pembuangan panas. Untuk melakukan lebih banyak pekerjaan pada kecepatan clock yang sama, beberapa strategi digunakan.
Tembolok besar pada chip memori dapat menyimpan lebih banyak data "dekat" dengan CPU, tersedia untuk diproses dengan penundaan minimal, sebagai lawan dari memori utama, yang jauh lebih lambat untuk mengirimkan data ke CPU.
Instruksi CPU yang berbeda membutuhkan jumlah siklus clock yang berbeda untuk diselesaikan. Dalam banyak kasus, Anda dapat menggunakan sirkuit sederhana untuk mengimplementasikan operasi selama beberapa siklus clock, atau sirkuit yang lebih kompleks untuk melakukannya dalam lebih sedikit.
Contoh paling dramatis dari hal ini dalam evolusi Intel adalah pada Pentium 4, yang merupakan outlier besar dalam kecepatan clock, tetapi tidak bekerja secara proporsional dengan baik. Instruksi pemindahan bit, yang pada chip sebelumnya dapat menggeser 32 bit dalam satu siklus tunggal, menggunakan sirkuit yang jauh lebih sederhana dalam Pentium 4, yang membutuhkan siklus tunggal untuk setiap perubahan bit. Harapannya adalah bahwa arsitektur Pentium 4 akan terukur dengan kecepatan clock yang jauh lebih tinggi karena kesederhanaannya, tetapi itu tidak berhasil, dan sirkuit shift yang cepat dan kompleks kembali pada Core dan arsitektur selanjutnya.
sumber
Dari IEEE:
http://spectrum.ieee.org/computing/hardware/why-cpu-frequency-stalled
sumber