Untuk perhitungan matematika yang rumit, apakah utas ekstra atau akses disk berkecepatan tinggi lebih penting?

8

Semester depan, saya berniat untuk mulai melakukan penelitian dalam kombinatorik. Saya telah menggunakan dan jatuh cinta pada komputer Mac dan Wolfram Mathematica 8, dan saya bermaksud menggunakannya untuk proyek ini dan di perguruan tinggi. Saya akan menjadi dua jurusan Fisika dan Matematika. Karena saya memiliki anggaran terbatas, saya bertanya-tanya mana yang akan diprioritaskan untuk aplikasi saya: Memiliki prosesor empat inti, bukan prosesor dua inti, atau memiliki SSD alih-alih hard drive?

Fingolfin
sumber
1
Saya mengambil kebebasan mengedit judul pertanyaan mungkin sedikit lebih langsung ke titik dan berpotensi menggoyahkan suara brengsek untuk ditutup berdasarkan tidak mengajukan pertanyaan substantif. Saya pribadi merasa ini adalah pertanyaan yang bagus untuk aplikasi spesifik ini.
Shinrai
3
Saya benar-benar akan mengatakan pertama-tama menggunakan RAM sebanyak mungkin.
liori
1
Saya setuju dengan menambahkan lebih banyak RAM. Saya memiliki sedikit pemahaman tentang kombinatorik tetapi mereka mungkin cocok untuk perhitungan berbasis GPU. jika dapat di-thread-massal maka kemungkinan akan berjalan jauh lebih cepat pada GPU menggunakan CUDA atau setara (banyak magnitude lebih cepat pada md5 cracking kemudian di atas kisaran CPU).
Silverfire
Saya ingin tahu mengapa ini semakin dekat - apa yang kalian anggap keberatan tentang pertanyaan?
Shinrai

Jawaban:

17

Untuk aplikasi yang akan Anda lakukan, 4 core lebih disukai daripada SSD.

Mathematica secara khusus mendukung prosesor mutli-core, dan berskala sangat baik. Lihat disini:

http://www.wolfram.com/technology/guide/MulticoreSupport/

Anda tidak akan mengharapkan banyak perbedaan dari drive SSD dalam aplikasi matematika dan fisika, yang tidak memproses gigabyte data dari disk.

bwall
sumber
+1 - Ini adalah salah satu dari sedikit contoh di mana lebih banyak core / jam yang lebih tinggi akan menghasilkan manfaat yang lebih besar daripada SSD. Itu juga jauh, JAUH lebih mudah untuk meng-upgrade penyimpanan di sebagian besar Mac daripada CPU.
Afrazier
Saya biasanya tidak suka pertanyaan seperti ini, tapi ini cukup faktual; kecepatan perhitungan semacam ini (kecuali kompleksitasnya sepele) akan mendapatkan dorongan besar dari utas pemrosesan tambahan.
Shinrai
1
Saya dihadapkan dengan keputusan serupa tahun lalu. Dapatkan i486DX33 dengan hard drive atau i486DX50 hanya dengan drive floppy. Untuk perhitungan matematis murni (seperti yang saya khawatirkan), DX50 dimenangkan, meskipun akses disk lebih lambat secara dramatis!
Brian Knoblauch
Saya akan sebagian tidak setuju dengan file besar yang diperlukan untuk mendapatkan keuntungan dari disk cepat. Selama lima belas tahun terakhir saya telah bekerja dengan serangkaian mesin analisis fisika dan partikel serta Monte Carlos; dan sementara tumpukan data yang diayak cukup besar ini hal yang sama-sama dimiliki oleh IO terikat adalah menggunakan banyak file terpisah ... seperti sepuluh file konfigurasi (termasuk mekanisme dan atau beberapa lapisan kegagalan atas standar), dan disk sisi sedang basis data geometri berbasis, tiga file log, sistem pos pemeriksaan semua di samping file input dan output yang besar.
dmckee --- ex-moderator kitten
1
+1 - Tapi saya juga merekomendasikan untuk memastikan sistem memiliki RAM yang cukup juga. Pastikan Anda memiliki 8GB, bukan 4 di sistem Anda, (Ini benar-benar hampir tidak cukup di bawah Lion) dan muncul untuk CPU yang lebih cepat kecuali Anda akan memproses GB pada GB data. (Survei pengeboran, simulasi bom nuklir, hal semacam itu) Jika Anda membutuhkan penyimpanan lebih banyak / lebih cepat nanti, Anda selalu dapat menggunakan kotak eksternal yang terhubung ke Thunderbolt. CPU tidak praktis untuk diubah kecuali Anda menggunakan Mac Pro.
SplinterReality
3

Dalam menentukan persyaratan komputer baru Anda, saya sarankan Anda mendapatkan rekomendasi profesor Anda untuk mengatasi ledakan kombinatorial . Anda pasti harus mengatasi beberapa masalah yang memiliki efek samping ini. Jika persyaratan penyimpanan antara Anda melebihi memori utama yang tersedia, sistem Anda akan mulai menukar memori disk ( meronta-ronta ), dan bahkan masalah sederhana akan membutuhkan "selamanya" untuk selesai.

Ketika saya harus mengatasi masalah dengan Mathematica dalam beberapa tahun terakhir, moto saya adalah, "Jika Anda mengalahkan, Anda mati."

Pensiunan Engineer
sumber
2

Saya menawarkan ini sebagai jawaban terpisah karena belum ada yang menyebutkan gajah di sofa:

CPU tidak praktis untuk diubah nanti di sebagian besar Mac (selain Mac Pro) tetapi penyimpanan eksternal yang cepat dapat ditambahkan nanti jika Anda memiliki kumpulan data yang sangat besar, yang tidak praktis untuk disimpan di drive internal.

Untuk apa pun yang tidak memerlukan data GB hingga TB tinggi, CPU akan lebih menguntungkan, dan jika Anda membutuhkan data GB / TB tinggi, SSD tidak akan memotongnya, dan Anda akan memerlukan kotak eksternal.

Rekomendasi saya: 8GB RAM dan CPU tercepat yang Anda mampu. Jika nanti Anda membutuhkan disk yang sangat cepat untuk memproses data TB, beli kotak eksternal dengan antarmuka Thunderbolt. (SSD terbesar tidak akan tahan terlalu banyak)

SplinterReality
sumber
1

Jika tugas Anda dapat diparalelkan (dan untuk matematika / fisika biasanya bisa) pergilah dengan beberapa core dan RAM sebanyak yang Anda mampu / butuhkan. Secara umum, situasinya adalah Anda membutuhkan banyak ruang disk untuk menyimpan data lama (diproses dengan berbagai metode) dan bagian perhitungan IO dapat diabaikan dibandingkan dengan bagian CPU. Saya mungkin akan mempertimbangkan untuk mendapatkan GPU yang baik yang dapat Anda programkan untuk kebutuhan komputasi yang serius; tapi ini mungkin berlebihan untuk pertanyaan Anda.

Untuk memuat 1GB data dari disk ke buffer (yang dapat masuk ke memori) membutuhkan waktu sekitar 10 detik dengan hard disk 7200rpm; dan itu adalah biaya satu kali untuk sebagian besar perhitungan. Jarang perhitungan matematika Anda yang rumit hanya membutuhkan waktu beberapa detik (dan jika benar - hambatannya adalah Anda menginterpretasikan hasil dan memberikan tugas baru untuk dijalankan - bukan kecepatan IO). Sama sekali tidak biasa untuk memiliki hambatan komputasi di mana data dimuat ke dalam memori, dan akan membutuhkan satu inti 2 hari untuk menyelesaikan tugas; tetapi 4 core bisa menyelesaikannya dalam setengah hari. Sekarang tidak memiliki cukup RAM dan harus membaca / menulis RAM ke disk akan menjadi sangat lambat (bahkan menggunakan drive SSD sebagai swap).

Sebagai panduan kasar; akses acak yang dibaca dari RAM menggunakan urutan 10 ns; dari SSD sepuluh ribu kali lebih lambat dari itu (100 mikro-s); dan hard disk kira-kira 100 kali lebih lambat dari itu (10 ms). Jadi Anda benar-benar tidak ingin melakukan akses acak membaca dari SSD atau hard disk. Juga untuk pembacaan berurutan dari disk (mis., Anda membaca file dengan seluruh dataset menjadi memori) hard disk tidak akan berkinerja buruk.

dr jimbob
sumber
-1

Jika Anda melihat MacBook Pro, saya akan menempatkan preferensi ukuran layar di atas segalanya. Dari apa yang saya lihat, ini secara efektif juga mendefinisikan jumlah core di mesin. Kemudian maks RAM (pihak ketiga, mungkin.) Kemudian lihat SSD. Saya akan meninggalkan perbedaan antara 2.0GHz dan 2.2GHz Core untuk model 15 "sampai akhir. Ini perbedaan yang relatif kecil dalam kinerja untuk perbedaan harga.

Juara Brett
sumber
Saya berasumsi untuk pekerjaan serius seperti ini OP melihat desktop, bukan laptop. Anda mendapatkan lebih banyak kekuatan pemrosesan untuk uang Anda (ya, bahkan dari Apple McOverpriced ...)
Shinrai
@ Shinrai Sulit untuk mengatakan tanpa informasi lebih lanjut tentang apa yang OP pertimbangkan, berapa kisaran harga, apakah OP sudah memiliki monitor, dll ... iMac adalah mesin yang cukup bagus untuk harga, termasuk display yang bagus, dan semua memiliki prosesor quad core. Tetapi komputer ini juga untuk digunakan di perguruan tinggi, yang saya pikir membuat laptop menarik untuk dibawa ke perpustakaan, bertemu dengan kelompok untuk mengerjakan proyek, dll. Seringkali bahkan pada laptop Anda dapat menggunakan GPU untuk mendapatkan tambahan (CEPAT ) core untuk tipe perhitungan tertentu (dengan pemrograman tambahan) dari dalam Mathematica.
Juara Brett