Keadaan Mac OS dalam Komputasi Ilmiah dan HPC

17

Kembali ke awal OS X, tampaknya ada banyak keriuhan, setidaknya di dunia Mac (saya tidak berada di dekat komputasi ilmiah pada saat itu) tentang Mac OS sebagai platform untuk komputasi ilmiah dan aplikasi HPC.

XGrid keluar dari kotak, Virginia Tech memiliki cluster komputasi berbasis Mac yang mewah, Stanford melakukan hal-hal keren, dll.

Namun baru-baru ini, semuanya menjadi sunyi. Situs Macresearch.org pada dasarnya adalah kota hantu yang dipenuhi dengan zombie spammer, XServe sudah mati, dan banyak sekali literatur pemasaran dan sejenisnya yang tampaknya berasal dari area prosesor pra-Intel. Tetapi XGrid masih ada, seluruh OS * nix yang mendasari ada di sana, dan platform tampaknya memiliki dukungan yang layak di antara Python, R, dan beberapa bahasa yang lebih baru.

Jadi, dari orang-orang yang tahu lebih banyak tentang ini daripada saya ... bagaimana tarif OS X? Apakah mereka komputer sisi klien yang layak untuk komputasi ilmiah? Menggunakannya sebagai server / cluster / dll. melalui XGrid atau sesuatu seperti itu hanya aplikasi baru?

Fomite
sumber
Bisakah pemilih bawah mengomentari mengapa Anda memilih?
Geoff Oxberry
Meh Ini tidak buruk pada penjualan subjektif yang baik, subjektif subjektif , tetapi masih tidak melakukan apa pun untuk saya. Sejauh yang saya ketahui jawabannya adalah: itu unix out of the box, tetapi terlalu mahal untuk tempat-tempat di mana UI tidak kritis.
dmckee
@ demckee: Ya, saya bisa melihat itu. Saya pikir banyak orang akan setuju dengan Anda. Bagi saya, masalahnya tidak langsung karena saya bosan dengan kegagalan perangkat keras, dan bahkan kemudian, saya masih menjalankan Linux di mesin virtual. Saya telah bertemu orang-orang yang menyukai alur kerja mereka sebagian besar OS X, jadi saya pikir itu adalah pertanyaan yang masuk akal untuk komunitas niche. Saya juga merasa seperti Ilmu Komputasi dapat menggunakan beberapa pertanyaan lagi, dan tanggapan dari berbagai perspektif akan sangat membantu dalam memberi orang gagasan tentang alat apa yang kami gunakan dalam komputasi ilmiah.
Geoff Oxberry
@ dmckee Dan saya akan menganggap bahwa jawaban yang valid - bahwa beberapa hal yang dipanggang Apple belum melahirkan alasan yang benar-benar bersemangat dan meyakinkan untuk menggunakan OS mereka.
Fomite
Pertanyaan itu juga merupakan upaya untuk mengeksplorasi beberapa jenis pertanyaan "melakukan komputasi ilmiah" yang mungkin membedakan pertanyaan perangkat keras dari ServerFault, menggunakan pertanyaan yang saya tertarik dan benar-benar tidak tahu jawabannya.
Fomite

Jawaban:

12

Saya tidak bisa berkomentar di sisi server.

Di sisi klien, pada satu pertemuan ilmu komputer yang saya kunjungi setiap tahun, proporsi pengguna Mac tampaknya telah meningkat. Saya beralih ke Mac karena saya bosan berurusan dengan laptop Dell yang dipasok oleh sekolah karena gagal. Saya beralih ke Mac untuk perangkat keras, terutama, karena Consumer Reports memberi nilai tinggi dalam hal daya tahan. Saya tidak berpikir bahwa Mac bagus untuk komputasi ilmiah kecuali Anda menjalankan Linux. Dukungan Linux untuk perangkat keras cenderung ketinggalan; biasanya, itu adalah kartu nirkabel yang tidak didukung (setiap kali mereka mengubahnya dalam model baru). Jika Anda bersedia menerima penalti sumber daya yang datang dengan menjalankan mesin virtual, ini merupakan opsi yang menarik (dan yang saya gunakan secara pribadi).

Mac mengharuskan Anda untuk menginstal banyak perpustakaan dan paket perangkat lunak sebelum Anda dapat melakukan komputasi ilmiah yang serius. Apa pun yang memiliki pemasang Mac mudah dikelola, jadi jika Anda melakukan sebagian besar pekerjaan pengembangan dengan Matlab, Mathematica, Maple, Python, dll., Mudah untuk menginstal dan menjalankan perangkat lunak itu pada OS X secara asli. Lebih sulit untuk melacak perangkat lunak numerik inti keras yang memiliki pemasang Mac (pikirkan hal-hal seperti PETSc atau CLAWPACK). Manajer paket seperti MacPorts dan Finkdapat membantu situasi jika Anda ingin menggunakan OS X saja. Anda juga harus mengkompilasi banyak paket dari sumber. Jika Anda ingin menjalankan kode di tempat lain, Anda harus berhati-hati terhadap masalah kompatibilitas. Karena Linux menikmati penggunaan luas dalam komputasi ilmiah, lebih mudah dari sudut pandang portabilitas untuk mengembangkan kode di Linux.

Saya telah mendengar secara anekdot dari teman-teman yang sangat berargumentasi bahwa pengaturan lingkungan pengembangan pada Mac adalah masalah besar, yang lain mengatakan itu tidak terlalu buruk. Jarak tempuh Anda mungkin beragam.

Geoff Oxberry
sumber
1
Saya memilih: Bagaimana menginstal sesuatu untuk komputasi ilmiah di Mac lebih rumit daripada di Linux? Tentu jika Anda memulai dari Linux CAE sebagian besar sudah dibangun tetapi untuk sebagian besar distro lain, Anda harus mengunduh paket dan / atau membangun dari sumber. Yang Anda mungkin masih ingin tetap men-tweak perpustakaan untuk kebutuhan spesifik Anda dan / atau kinerja maksimum. Yang sedang berkata, Mac OS akan mengalami kesulitan diadopsi dalam skala besar di universitas selama mereka tidak melisensikan OS independen dari perangkat keras (bukan yang seharusnya). Tidak yakin bagaimana Anda dapat membenarkan biaya tambahan ...
FrenchKheldar
4
FrenchKheldar: Ada banyak hal tambahan yang harus diinstal pada Mac (saya menulis ini di Macbook Pro) ketika membangun perangkat lunak - banyak perpustakaan dan alat - yang hanya apt-get atau yum diinstal pada sebuah kotak linux, untuk mengatakan tidak ada item yang lebih besar seperti kompiler yang lebih baru, python yang lebih baru, dll. Itu sebabnya ada port, dan homebrew, tetapi hal-hal ini masih tidak selalu menginstal dengan bersih, dan tidak semua paket berada di keduanya. Tergantung pada apa yang Anda inginkan di lingkungan dev Anda, itu bisa, dan pada kenyataannya, lebih sulit pada Mac. OTOH, Anda mendapatkan Xcode ...
2
Ini jauh lebih mudah untuk menginstal sesuatu dari manajer paket daripada untuk mengkompilasi kode yang sama dari awal. Paling-paling, ini sederhana ./configure && make && make install, tapi paling buruk, ini bisa menjadi labirin memilah skrip, bendera, dan lokasi perpustakaan. Instalasi PETSc 3.2 dari paket Debian membutuhkan waktu 5 detik (saya bahkan melakukan ini atas perintah beberapa pengembang); menginstalnya dari sumber di Linux mengambil sepanjang hari dengan berbagai opsi. Intinya adalah bahwa paket dan installer tidak selalu ada untuk Mac ketika mereka melakukannya untuk Linux (dan mereka membuat Linux lebih mudah digunakan).
Geoff Oxberry
Ada juga gangguan besar "hanya stabil" tergantung di udara dengan Mac, setidaknya saya harus bertarung dengannya beberapa kali. Sebuah contoh bagus yang secara pribadi saya miliki adalah bug GCC yang membuat aplikasi hanya crash & burn jika Anda memiliki pragma OpenMP pragma di dalam kode yang dipanggil dari pthread. Saya akhirnya hanya menggunakan & mendukung ICC karena sudah tersedia, karena itu hanya lebih mudah daripada mengubah GCC pada Mac itu. Ada banyak perpustakaan lain yang pernah saya lihat di Mac yang memiliki versi prasejarah (well, setidaknya beberapa tahun).
TC1
13

@ Geoff memberikan jawaban yang baik, tapi saya pikir layak memberikan perspektif alternatif.

Saya melakukan segalanya di Mac - di OS X, bukan Linux VM - termasuk banyak pengembangan kode ilmiah. Saya kebanyakan bekerja di Fortran dan Python. Bagi saya, kenyamanan

  • dapat melakukan semua pekerjaan saya dalam satu OS dan
  • hampir tidak pernah berurusan dengan kegagalan perangkat keras atau masalah driver

sebanding dengan biaya sakit kepala khusus Mac.

Tiga sakit kepala utama adalah:

  1. Kurangnya manajer paket standar-OS. Sekali waktu saya menggunakan Fink, tetapi akhirnya menyebabkan sakit kepala lebih banyak dan sekarang sudah usang. Saya sudah mendengar hal-hal baik tentang Macports dan Homebrew, tetapi pengalaman saya dengan Fink meyakinkan saya untuk hanya "menggulung sendiri".

  2. Beberapa perangkat lunak bawaan sangat ketinggalan zaman. Khususnya, Python dan gcc. Ini berarti bahwa Anda perlu menginstal versi terbaru Anda sendiri, yang dapat merepotkan.

  3. Apple tidak termasuk kompiler Fortran!

Bagi saya, Apple semakin memperhatikan pengguna daya berbasis Unix mereka. Sementara itu, Linux terus membaik. Akhirnya saya mungkin akan didorong kembali ke Linux. Tapi saya akan menyimpan Macbook saya sampai orang lain belajar cara membuat baterai yang layak.

David Ketcheson
sumber
1
Lingkungan komputasi ilmiah saya di Mac saya (kompiler, perpustakaan) disediakan hingga 99% oleh MacPorts. Itu tidak sempurna, tetapi mengalahkan instalasi manual dengan mudah. Tentu saja itu sangat tergantung pada seberapa banyak Anda perlu menginstal untuk menyelesaikan pekerjaan Anda.
khinsen
9

Saya berpendapat bahwa Mac adalah lingkungan yang lebih baik bagi para ilmuwan komputasi daripada untuk ilmu komputasi . Saya tidak ingin menggunakan Mac dalam lingkungan komputasi komoditas; perangkat kerasnya, secara relatif, terlalu mahal untuk itu. Mungkin menyusahkan untuk memperbaiki lingkungan perangkat lunak agar sesuai dengan kondisi yang diperlukan untuk paket tertentu, tetapi biasanya setelah Anda mengetahuinya pertama kali, ini jauh lebih mudah untuk dipelihara daripada instalasi Windows yang sebanding. (Dan, tergantung pada manajer paket, ini bisa semudah Linux. MacPorts memang cukup baik sebagai manajer untuk OS X!)

Namun, sebagai platform kerja untuk ilmuwan komputasi yang sibuk, saya percaya bahwa Mac menawarkan bonus tambahan untuk dapat bekerja dan memelihara dalam lingkungan komputasi tunggal, daripada harus memelihara kotak Linux untuk pekerjaan "serius", dan masih perlu memiliki mesin lain ketika kolega yang bekerja di disiplin lain mengirimi saya (misalnya) file Office yang perlu markup, atau saya harus mengisi formulir Universitas yang hanya tersedia sebagai templat RTF yang tidak akan diformat dengan benar menggunakan LibreOffice dan akan menjadi sakit di leher untuk membuat ulang di LaTeX. (Pada pekerjaan sebelumnya, pemilik Linux juga harus memiliki mesin non-Linux, karena untuk mengakses lingkungan perusahaan lebih atau kurang menuntutnya. Pemilik Mac tidak benar-benar membutuhkan mesin kedua.)

Selain itu, ada sejumlah program khusus Mac (seperti TextMate , Scrivener , Papers , Things , OmniFocus , atau BibDesk ) yang membuat Mac menjadi lingkungan yang jauh lebih menyenangkan untuk melakukan pekerjaan daripada di PC atau Linux. Saya menemukan diri saya menghabiskan lebih banyak waktu berfokus pada menyelesaikan sesuatu, daripada pada apa yang harus saya lakukan untuk mendapatkan lingkungan perangkat lunak untuk melakukan apa yang saya inginkan (atau butuhkan!) Untuk dilakukan.

aeismail
sumber
5

Penggunaan OS X di HPC dan komputasi ilmiah rendah dan itu harus dilakukan banyak dengan pro dan kontra OS X wrt the alternative (Linux)

OS X Pro:

  • UI yang dipoles; masih * nix
  • Aplikasi Desktop / Desain seperti MS Office, program Adobe yang didukung dengan baik
  • Multimedia sangat didukung
  • Beberapa orang menyukai ekosistem Apple (iPhone, iTunes dll.)

OS X Cons:

  • Berjalan pada perangkat keras yang mahal dan tidak semua orang menyukai Macbook, khususnya yang terbiasa dengan Thinkpads (keyboard + trackpoint)
  • Tidak dapat memutakhirkan perangkat keras (mis. Jika Anda ingin mencoba kartu NVIDIA terbaru dengan aplikasi CUDA Anda) di desktop / cluster
  • GUI kembung yang tidak dapat dikustomisasi (di Linux Anda dapat menggunakan window manager minimalis)
  • Paket mgmt di Macports / Fink tidak sebanding dengan distribusi Linux (Debian). Sebagian besar paket bahkan tidak dipelihara secara aktif atau menjadi yatim piatu
  • Beberapa alat / program yang bermanfaat secara tradisional tidak berjalan atau masih tidak berjalan di OS X. Misalnya ...

    1. Sun Studio masih tidak berfungsi
    2. Valgrind hanya mulai berfungsi baru-baru ini dan tidak semua fitur didukung
    3. Kompiler Intel juga telah tersedia dalam beberapa tahun terakhir
    4. Apple bahkan tidak mengemas kompiler Fortran dan Anda harus bergantung pada pihak ke-3 (kebanyakan individu) untuk membuat binari yang hanya berfungsi pada versi OS X tertentu (yang dimiliki individu tersebut). Dukungan jarang atau tidak ada dalam kasus seperti itu
    5. Aplikasi ilmiah komersial (ABAQUS, ANSYS, FLUENT, dan banyak lagi di industri seperti minyak / keuangan / engg dll.) Tidak berjalan (secara native) di OS X

Linux (Debian) Kelebihan:

  • Manajemen paket kelas pertama yaitu, pemasangan kompiler, perpustakaan paling numerik / ilmiah dll. Adalah perintah
  • Tidak seperti Fink / Macports paket lebih baik didukung (di Debian Anda memiliki pilihan untuk menggunakan pendarahan / versi pengujian / stabil)
  • Sebagian besar cluster menjalankan beberapa versi Debian / Red Hat sehingga kurang repot dalam porting kode

Linux (Debian) Cons:

  • Tidak ada UI standar
  • Linux pada desktop / laptop mungkin memerlukan beberapa penyesuaian untuk mendapatkan semuanya (menangguhkan / melanjutkan, akselerasi video 3D, suara dll.) Berfungsi tetapi ini telah banyak meningkat dalam beberapa tahun terakhir

Jika tidak ada sebagian besar pengecualian, sebagian besar pengguna dan administrator sistem cluster merasa OS X lebih mudah untuk produktivitas desktop dan BUKAN untuk komputasi ilmiah (kompilasi, penggunaan, pengembangan barang).

OTOH sebagian besar pengguna Linux menemukan yang terakhir lebih mudah dari yang sebelumnya dan ini tercermin dalam seluruh ekosistem komputasi HPC / ilmiah.

stali
sumber
Tambahkan ke daftar alat bermanfaat Anda yang tidak berfungsi di OS X: gprof.
David Ketcheson
Referensi ThinkPad membuat saya tertawa. Saat ini kami adalah rumah tangga Apple / Lenovo yang terpisah, dan saya tetapi dia tidak menyukai trackpad :)
Fomite
@ Davidvideteson, itu karena OS X memiliki Instrumen (sebelumnya Shark).
Aron Ahmadia
3

Saya telah menggunakan apa-apa selain Mac pada desktop (dan laptop) selama bertahun-tahun, melakukan komputasi ilmiah dan pengembangan perangkat lunak ilmiah di antara hal-hal lainnya. Seperti yang telah ditunjukkan oleh orang lain, kualitas perangkat keras, kualitas tinggi dari banyak perangkat lunak spesifik Mac, dan kemampuan untuk menangani Word dan Excel bila perlu, menjadikan Mac platform yang sangat baik untuk penggunaan sehari-hari.

Saya juga telah menjalankan cluster komputasi berbasis Mac sebagai percobaan untuk sementara waktu. Ini adalah eksperimen yang tidak ingin saya lakukan lagi. Dibandingkan dengan Linux cluster, saya tidak melihat kelebihan yang signifikan, selain kemudahan instalasi perangkat lunak jika Anda memiliki Mac di desktop (hanya menginstal hal yang sama). Kerugiannya jelas, sebagian besar kurangnya dukungan GUI multi-pengguna yang tepat. Pada Mac, satu mesin sama dengan satu layar dan paling banyak satu pengguna yang masuk. Itu membuat alat berbasis GUI sulit digunakan. Dibandingkan dengan itu, bahkan X-windows biasa di Linux sangat menyenangkan untuk digunakan, dan kemudian ada VNC dan NoMachine NX untuk melakukan yang lebih baik lagi.

Ya, saya tahu Mac mendukung X windows, tetapi sebagian besar program GUI untuk Mac menggunakan antarmuka asli.

khinsen
sumber
Terima kasih atas wawasan menjalankan cluster berbasis Mac. Apa jenis alat GUI yang Anda temukan kurang?
Fomite
Anda bisa mendapatkan sebagian besar alat GUI untuk sains dengan menginstal perangkat lunak berbasis X-window melalui MacPorts, tapi itu banyak pekerjaan. Di sisi lain, Anda tidak memiliki peluang untuk mendapatkan perangkat lunak berpemilik (mis. Mathematica) untuk bekerja dari jarak jauh, kecuali jika Anda menerima batasan mendasar Mac GUI dari satu pengguna = satu mesin = satu layar. Semakin Anda menginginkan perangkat lunak spesifik Mac, semakin Anda cacat oleh masalah GUI.
khinsen