Telah ditunjukkan dalam pertanyaan lain bahwa karena keadaan aplikasi komputer, prosesor multi-core mengalami penurunan hasil. Apakah ini masih terjadi di dunia saat ini?
Apakah sebagian besar aplikasi baru merangkul multi-threading, dan dengan demikian mengambil keuntungan dari memiliki beberapa core? Jika tidak, apakah OS 64-bit yang lebih baru membantu memanfaatkan core dengan menugaskan tugas / proses ke core yang berbeda? Atau apakah prosesor multi-core masih terus menderita dari pengembalian yang sama (atau serupa)?
Harap buat cadangan segala klaim dengan referensi.
cpu
multi-core
community-faq-proposed
rishimaharaj
sumber
sumber
Jawaban:
Itu sangat tergantung pada apa yang Anda lakukan.
Untuk Word, Excel, dan Minesweeper reguler, dan apa pun yang digunakan ibumu, satu inti masih cukup dan lebih dari dua adalah kerja keras. Aplikasi semacam ini menghabiskan sebagian besar waktu idle, menunggu input pengguna.
Untuk bermain game, Anda akan mendapat manfaat dari setidaknya dua. Setelah itu tergantung permainannya. Secara teoritis Anda bisa menjalankan setiap lawan AI pada utas yang terpisah, tetapi logika game sentral tidak dapat dengan mudah diparalelkan - Anda memerlukan satu tempat di mana semua hasil disatukan untuk membentuk kondisi permainan yang koheren. Jadi biasanya ada satu utas "utama" yang ditunggu semua orang.
Untuk multimedia, bilangan real, dan sains, setiap inti penting. Ini adalah tugas-tugas yang secara inheren multithreaded atau dapat dengan mudah dibuat, dan pengembang memiliki insentif yang kuat untuk mengambil keuntungan dari semua kekuatan pemrosesan yang tersedia.
Pengguna yang kuat suka melakukan banyak tugas. Torrent, VirtualBox, tangkapan layar, video, minecraft, dan penelusuran web semuanya berjalan pada saat yang sama. Jadi, Anda akan mendapat manfaat dari setiap aplikasi yang haus CPU memiliki intinya sendiri. Saat ini populer untuk streaming langsung gim Anda. Jadi itu dua inti untuk permainan, setidaknya satu lagi untuk utas enkoder, dan setidaknya satu lagi untuk sisa sistem. Itu setidaknya 4 core.
sumber
Saya khawatir jawabannya masih, seperti biasa, "itu tergantung pada apa yang Anda lakukan".
Ya, ada pengembalian yang semakin berkurang dengan menambahkan lebih banyak dan lebih banyak core, dan akan selalu ada jika Anda hanya menjalankan satu aplikasi pada satu waktu .
Bahkan dalam aplikasi multi-ulir yang dibuat dengan baik, banyak tugas yang di-ulir dilakukan untuk menunggu komponen paling lambat di dalam mesin - hard drive, jaringan - tanpa memengaruhi kinerja nyata bagi pengguna. Ini tidak dapat ditingkatkan dengan parallelisation yang lebih besar sehingga batas kecepatan teoretis tidak terjangkau untuk tujuan praktis.
Perlu dicatat bahwa ada beberapa aplikasi "besar" yang tidak multi-threaded (cukup periksa Task Manager OS Anda yang setara, itu harus dapat memberi tahu Anda berapa banyak milik setiap proses - Firefox saya saat ini menggunakan 31, misalnya ).
Tentu saja, menjalankan beberapa aplikasi yang tidak saling tergantung tidak dibatasi oleh batasan-batasan ini. Ketika Anda menambahkan lebih banyak core, Anda dapat menjalankan lebih banyak aplikasi secara bersamaan dengan sedikit penurunan dalam kinerja pemrosesan (hard drive, jaringan, dll kinerja tidak sebaik skala, namun). Dalam praktiknya, bahkan hal ini pun tunduk pada hasil yang semakin berkurang karena ada overhead yang tidak dapat dihindari untuk mengelola distribusi kerja antar core, jalur pipa komunikasi, dan sebagainya.
Sebagai contoh, ini posting Hardware Tom (dari 2009) upaya untuk melihat kinerja dari prosesor multi-core beberapa bawah aplikasi secara simultan - menjalankan permainan sepanjang sisi AVG scan (baik yang mungkin multi-threaded). Prosesor quad, tri- dan dual-core semuanya bekerja sama dengan game saja, tetapi menambahkan pemindaian AVG simultan dan kinerja (diukur dengan FPS rata-rata) turun masing-masing sebesar 22%, 40% dan 59%.
Jadi, sementara quad core tidak menawarkan peningkatan kinerja lebih dari sebuah dual core ketika menjalankan satu aplikasi intensif, segera setelah tugas intensif lain muncul itu akhirnya menjadi dua kali sebagai pemain. Sayangnya, saya tidak dapat menemukan banyak hal lain yang menyelidiki seberapa baik skala ini dengan lebih banyak core dan tugas yang lebih intensif.
Dan kemudian Anda harus memperhatikan fitur prosesor modern seperti Intel Turbo Boost / AMD Turbo Core. Fitur-fitur khusus ini memungkinkan prosesor multi-core yang diparkir inti-nya (memasukkannya ke mode yang lebih lambat, daya rendah, dan) dan menggunakan energi cadangan untuk meng-overclock inti yang tetap aktif - memungkinkan prosesor untuk mengoptimalkan dirinya sendiri untuk menyediakan sebanyak mungkin kekuatan pemrosesan mungkin untuk jumlah tugas yang disajikan.
sumber
Untuk menambahkan bahan bakar ke api, saya baca di sini bahwa Android sebenarnya diperlambat dengan memiliki lebih dari satu inti:
sumber
Tentu saja, itu tergantung pada apa yang Anda lakukan, tetapi ya, ada pengembalian yang semakin berkurang.
Aplikasi sederhana dan sehari-hari seperti pemrosesan kata atau penelusuran Web hanya mendapat sedikit manfaat dari memiliki lebih dari dua inti prosesor. Aplikasi komputasi dan permainan ilmiah cenderung memanfaatkan lebih baik empat (atau lebih) core dan / atau kemampuan hyperthreading karena mereka cenderung dirancang untuk memanfaatkan perangkat keras modern, tetapi manfaat lebih dari empat core terbatas.
Selain itu, tidak semuanya terikat dengan komputasi. Menambahkan inti prosesor tidak akan membantu jika beban kerja Anda terikat I / O. Jika Anda pernah menginstal SSD untuk mengganti hard drive mekanis, Anda mungkin akan tahu bahwa kinerja komputasi sehari-hari lebih sering terbatas daripada tidak oleh penyimpanan komputer Anda. Dalam lingkungan server yang sibuk di mana sejumlah besar core digunakan untuk memungkinkan sistem menangani sejumlah besar pengguna dan permintaan secara bersamaan, array disk khusus, SSD, dan sistem penyimpanan lainnya digunakan untuk memastikan kinerja maksimum di bawah beban.
sumber