Apakah jumlah inti yang lebih tinggi atau kecepatan clock yang lebih tinggi lebih bermanfaat untuk kinerja komputer? [Tutup]

16

Dengan menurunkan biaya silikon dan meningkatnya kebutuhan konsumen, produsen tampaknya mendorong satu dari dua hal: kecepatan jam dan / atau jumlah inti. Dengan perkembangan yang terjadi, sepertinya kecepatan clock prosesor tidak lagi naik, tetapi jumlah core prosesor.

Saya ingat hanya beberapa tahun yang lalu, saya memiliki prosesor Pentium 4 single-core cepat yang bagus. Maju cepat ke hari ini, dan saya tidak berpikir Anda bahkan dapat membeli prosesor single-core (belum lagi meningkatnya prosesor multicore bahkan di ponsel ). Cara berjalannya, kita mungkin menemukan komputer dengan ratusan inti dalam beberapa tahun (dan saya tahu banyak sistem operasi sudah mendukungnya).

Apakah lebih bermanfaat bagi kinerja keseluruhan sistem untuk meningkatkan kecepatan clock, atau meningkatkan jumlah core? Asumsikan kita masuk ke ratusan core yang semuanya berjalan bersama, atau clock speed sepuluh kali lebih tinggi dari yang kita miliki saat ini (terlepas dari apakah secara fisik itu mungkin atau tidak).

Apa saja contoh proses umum (misalnya enkripsi, kompresi file, pengeditan gambar / video) yang paling diuntungkan dari satu atau yang lain? Apakah ada beberapa proses yang bisa , tetapi saat ini tidak (karena alasan teknis) dipercepat dengan meningkatkan paralelisme mereka?


Asumsikan prosesor hipotetis memiliki desain inti yang sama persis (ukuran kata, lebar bit alamat, ukuran bus memori, cache, dll ...), jadi satu-satunya variabel di sini adalah kecepatan jam dan jumlah inti. Dan lagi, saya tidak berbicara tentang satu, dua, atau bahkan empat core - bayangkan puluhan hingga ratusan.

Penerobosan
sumber
9
Itu semua akan tergantung pada apa yang ingin Anda lakukan di komputer itu. Multiple core baik untuk beberapa hal, kecepatan clock lebih tinggi untuk yang lain.
ChrisF
@ Chris Saya pribadi tahu jawabannya, tapi saya menanyakan ini karena dua alasan. Yang pertama adalah untuk memiliki informasi ini di situs web (saya hanya melihatnya bertanya sehubungan dengan prosesor dual atau quad core), dan yang kedua adalah mencoba memberi orang ide tentang apa yang akan terjadi "di masa depan" dan untuk menunjukkan apa aplikasi dari kedua sisi persamaan.
Terobosan
3
Saya akan mengatakan bahwa sementara ini adalah pertanyaan yang bagus untuk berbicara sambil minum bir, itu bukan pertanyaan pertukaran tumpukan yang bagus.
EBGreen
1
Ada terlalu banyak variabel, bagaimana jika dan parameter lain + perubahan teknologi yang sedang berlangsung untuk mengembangkan jawaban ringkas yang akan relevan untuk lebih dari periode waktu tertentu. Ini adalah topik yang menarik untuk forum atau blog, tetapi bukan sebagai sesuatu yang harus dijabarkan sebagai 'jawaban'. Saya memilih untuk menutup karena alasan ini, jadi biarkan nyala dimulai !!!
Linker3000

Jawaban:

12

Ada dua situasi dasar yang harus dipertimbangkan:

  1. Prosesor ini digunakan dengan komputer yang hanya melakukan perhitungan untuk satu program

  2. Prosesor ini digunakan untuk beberapa program yang berjalan secara bersamaan

Situasi pertama adalah di mana 'kecepatan' prosesor lebih penting, karena pengguna menginginkan kemampuan untuk membuat perhitungan dengan cepat dan efisien. Situasi ini biasanya untuk pemrosesan intensif perhitungan yaitu menghitung bilangan prima untuk enkripsi / dekripsi

Yang kedua adalah di mana banyak core berguna, karena setiap program dapat ditugaskan ke inti yang terpisah, sehingga membebaskan setiap program dari 'neck-necking' satu sama lain. Di dunia saat ini, rata-rata pengguna akan menggunakan komputer mereka untuk beberapa program sekaligus, sehingga membuat pemrosesan multi-core menjadi hal yang diinginkan.

Namun, multi-core ! = Kecepatan lebih tinggi atau kinerja lebih tinggi dalam semua kasus. Karena sebagian besar program ditulis untuk pemrosesan inti tunggal * , kecepatan clock masih penting untuk dilihat. Kombinasi keduanya harus dipertimbangkan (bersama dengan banyak faktor lain juga) .


* Ada beberapa program, dan semoga segera akan dibuat lebih banyak, di mana beberapa core dapat digunakan pada saat yang sama. Masa depan perangkat lunak ditemukan dengan " Pemrograman Paralel " ini:

Pengembang perangkat lunak tidak lagi dapat mengandalkan peningkatan kecepatan clock sendiri untuk mempercepat aplikasi single-threaded; alih-alih, untuk mendapatkan keunggulan kompetitif, pengembang harus belajar cara mendesain aplikasi mereka agar berjalan dengan baik di lingkungan berulir. Arsitektur multi-inti memiliki paket prosesor tunggal yang berisi dua atau lebih "inti eksekusi" prosesor, atau mesin komputasi, dan menghadirkan — dengan perangkat lunak yang sesuai — eksekusi paralel sepenuhnya dari beberapa utas perangkat lunak.

- Intel

James Mertz
sumber
Jawaban terbaik yang pernah saya lihat sejauh ini, +1. Apakah Anda tahu apakah mungkin untuk mempercepat enkripsi / dekripsi dengan semacam algoritma paralel (atau apakah hal semacam itu ada)?
Terobosan
2

Saya pribadi berpikir bahwa jumlah inti adalah jalan yang harus ditempuh. Pengembangan perangkat lunak telah bergeser ke sistem jaringan sehingga tidak lagi sumber daya lokal satu-satunya sumber daya yang tersedia untuk Anda. Faktor terpenting dalam cara Anda bekerja sekarang adalah jaringan tempat Anda menjadi bagiannya.

Perhatikan pergeseran ke broadband seluler, konektivitas konstan, akses jarak jauh, dll. Dengan itu, konektivitas konstan membutuhkan masa pakai baterai. Meskipun masih bisa diperdebatkan faktor CPU mana yang lebih optimal untuk masa pakai baterai (Anda sudah mendapatkan persamaan optimasi klasik dari nilai kerja vs waktu), saya pribadi berpikir, jika Anda harus memilih satu, saya akan memilih lebih banyak core.

Intel sekarang memungkinkan Anda untuk memberi daya pada permintaan. Meskipun tidak seoptimal mungkin tanpa inti untuk tidur, memiliki opsi untuk menggunakan lebih banyak inti memberikan Anda fleksibilitas untuk menjalankan lebih banyak aplikasi dari platform perangkat keras yang sama.

surfasb
sumber
2

Seperti yang disebutkan ChrisF dalam komentar, itu tergantung. Tetapi karena jawaban seperti itu tidak benar-benar jawaban, saya akan mencoba membuat beberapa skenario di mana satu akan lebih menguntungkan daripada yang lain:

Dalam sebagian besar proses umum yang Anda sebutkan, jumlah inti tidak akan terlalu berarti, karena sebagian besar pekerjaan dilakukan dalam satu utas yang hanya dapat dijalankan pada satu inti (pada satu waktu). Untuk proses seperti itu, satu inti tetapi sangat kuat akan berkinerja lebih baik daripada beberapa inti yang lebih lambat. Enkripsi dan kompresi file dapat menjadi pengecualian untuk ini, tetapi sangat tergantung pada algoritma apa yang digunakan, dan apakah mereka dapat dieksekusi secara paralel.

Namun, Anda telah melupakan salah satu tugas paling umum yang dilakukan pada komputer saat ini: menjelajah. Beberapa browser populer membuka setiap tab dalam proses yang terpisah (Chrome menjadi satu-satunya yang saya yakin melakukan ini, karena ini adalah yang saya gunakan), yang berarti bahwa jika Anda memiliki empat tab terbuka pada sistem quad-core, setiap jendela penelusuran dapat (secara teori) memiliki inti "untuk dirinya sendiri" (mengabaikan utas dan hal-hal OS), dan secepat jika tidak ada tab browser lain / jendela terbuka. Bagi orang yang menjelajah dengan banyak tab terbuka pada satu waktu, ini bisa menjadi peningkatan kinerja yang serius tanpa harus membangun core CPU yang sangat cepat.

Kunci untuk mengetahui apakah sistem multi-core dengan core lebih lambat akan lebih cepat daripada sistem single-core dengan core cepat adalah mengetahui apakah Anda akan melakukan banyak hal yang berbeda secara bersamaan atau beberapa, tetapi hal-hal yang berat . Karena ini akan sangat berbeda dari pengguna ke pengguna, demikian juga jawaban untuk pertanyaan Anda.


Jawaban lainnya juga memberikan beberapa poin penting:

  • kinerja prosesor tidak lagi tentang kecepatan clock atau jumlah core - bagian lain dari prosesor menjadi leher botol seiring dengan meningkatnya kecepatan clock dan jumlah core.
  • untuk sebagian besar pengguna, kinerja prosesor bahkan bukan leher botol. Jika Anda menghabiskan waktu di aplikasi yang di-host seperti Google Documents, kecepatan kartu jaringan Anda akan lebih penting daripada kecepatan inti prosesor Anda. Jika Anda menonton atau mengedit materi film beresolusi tinggi, kinerja hard disk akan lebih berarti. Dll ...
Tomas Aschan
sumber
+1 untuk menaruh beberapa pemikiran dan benar-benar menghasilkan penjelasan, tapi saya ingin menunjukkan satu hal: ya, beberapa browser menempatkan setiap tab dalam proses yang terpisah , tapi itu baru saja selesai jika proses macet. Sebagian besar browser paling tidak menjalankan setiap tab di utas terpisah, dan sistem operasi memiliki kemampuan untuk menjalankan banyak utas (dari proses yang sama) pada inti yang berbeda.
Terobosan
IE 9 melakukan metode multi-proses. Namun, saya percaya mereka menggunakan sejumlah proses dan hanya berbagi semua tab di antara proses tersebut. Ini menghasilkan banyak proses yang lebih sedikit daripada yang bisa dihasilkan Chrome, sementara itu tetap berarti Anda hanya akan kehilangan beberapa tab jika semuanya muncul dalam satu tumpukan Redmond.
music2myear
Oh, dan itu juga tergantung pada perangkat lunaknya. Sementara OS umumnya dapat menangani manajemen lalu lintas dan mengirim utas menunggu ke core yang tersedia (gambaran mental match.com terjadi di dalam silikon saya yang kasar), program yang multi-threaded sendiri (sebagian besar produk Adobe Creative Suite dan lainnya yang didukung dengan baik , alat pengembangan multimedia modern) akan mengambil keuntungan yang jauh lebih baik dari kemampuan sistem multi-core.
music2myear
2

Pertama-tama, kecepatan single-core belum terlalu turun. Satu-satunya alasan jajaran Sandy Bridge Intel saat ini tidak berada di puncak Pentium 4 single-core dalam hal megahertz adalah bahwa Intel tidak memiliki kompetisi, sehingga mereka tidak perlu memaksakan itu.

Kedua, kecepatan clock bukanlah segalanya, bahkan pada inti tunggal. Saat melihat kinerja aplikasi, lagi-lagi terhadap Pentium 4, jajaran Intel saat ini sekitar 50% lebih cepat per siklus clock . Alasan mengapa Sandy Bridge lebih cepat per siklus clock daripada Pentium 4 (Prescott menjadi inkarnasi terakhir) sangat beragam, tetapi memiliki pre-fetching pengontrol memori cerdas, memiliki pengontrol memori pada die yang sama dengan CPU dan Instruction Level Parallelism (ILP) yang lebih tinggi berkontribusi untuk itu.

Paralelisme level instruksi pada dasarnya berarti bahwa prosesor melihat instruksi dan dependensinya dan jika dua instruksi tidak tergantung satu sama lain, CPU dapat mulai memuat data untuk keduanya pada saat yang sama dan mungkin menyusun ulang instruksi, data untuk salah satu mereka tiba sebelum yang lain.

Ketiga, beberapa aplikasi memang mendapat manfaat sangat baik dari banyak core. Misalnya Photoshop hampir selalu lebih suka core lebih dari frekuensi operasi. Yaitu. bahkan quad-core lambat hampir selalu mengalahkan chip dual-core, dan setiap dual-core mengalahkan chip single-core. Tri-core adalah tas campuran, mereka sering menang atas dual-core, tetapi tidak selalu.

Umumnya aplikasi yang melakukan jenis operasi yang sama untuk banyak set data yang berbeda paling diuntungkan dari paralelisme. Misalnya kompresi video atau mengedit foto sering dapat diparalelkan dengan mudah. Di sisi lain, permainan komputer terbukti sulit diparalelkan. Grafik pada mereka tentu saja berparalel dengan sangat baik, tetapi bagian itu dijalankan pada GPU, bukan CPU. Fisika yang tersisa, pembukuan dunia game, dan AI tidak paralel dengan mudah.

Zds
sumber
1

Sebenarnya hari ini faktor yang paling penting bukanlah kecepatan clock prosesor, ada banyak fitur baru yang diluncurkan karena "faktor pembanding" ini tidak dapat digunakan lagi.

Hari ini Anda harus melihat banyak faktor untuk menyimpulkan tentang kinerja prosesor. Hal-hal seperti:

  • jumlah inti
  • jumlah utas operasi paralel
  • keluarga prosesor (Dual core, Pentium, Core i / Calpella, Sandy Bridge, dll.)
  • generasi prosesor (ke-2, ke-6, dll.) lalu
  • kecepatan jam prosesor.

Sebenarnya, ketika saya ingin membandingkan kecepatan prosesor saya berkonsultasi Passmark dari Notebookcheck tabel patokan. Benchmark, menurut saya, adalah faktor terbaik untuk mengukur dan membandingkan kecepatan dan kinerja prosesor.

Diogo
sumber
Ya, tetapi untuk menyederhanakan banyak hal, mari kita asumsikan semua yang lain sama (jumlah cache yang sama per inti, lebar bus alamat yang sama, ukuran kata yang sama, dll ...). Core-nya sendiri sama persis, hanya a) berapa banyak, atau b) seberapa cepat.
Terobosan
Um, keluarga dan generasi prosesor tidak ada kaitannya dengan kecepatan prosesor. Lagipula, procs Atom jauh lebih baru daripada P4 atau Core dan Core2, tetapi tidak ada yang pernah berpendapat mereka lebih cepat. Hal lain yang memiliki efek lebih langsung pada kecepatan CPU adalah cache on-die, jumlah register, arsitektur chip, ukuran jalur konduktif (proses pengaturan), kemampuan operasi floating point, dll.
music2myear
@ music2myear - Ketika merujuk ke generasi, saya berbicara tentang keluarga ( superuser.com/questions/314757/… ). Sebenarnya Atom D525 lebih baik daripada banyak Core 2 ( cpubenchmark.net/cpu_lookup.php?cpu=Intel+Atom+D525+%40+1.80GHz )
Diogo