Kapan membangun cluster di cloud lebih murah daripada membangun satu di lab saya untuk simulasi MD?

23

Sebuah cluster komputasi EC2 Amazon berharga sekitar $ 800 - $ 1000 (tergantung pada siklus tugas) per inti CPU fisik selama 3 tahun. Dalam putaran terakhir akuisisi perangkat keras kami, lab saya mengambil perangkat keras senilai 48 core yang sangat mirip dengan cluster Amazon dengan harga sekitar $ 300 per inti.

Apakah saya melewatkan sesuatu di sini? Apakah ada situasi di mana masuk akal secara ekonomi untuk membangun sebuah cluster di cloud untuk tugas-tugas CPU yang tinggi seperti simulasi dinamika molekul? Atau apakah aku selalu lebih baik hanya membangun dan mengasuh sendiri mesin dang?

(Saya harus menyebutkan bahwa lab saya tidak membayar listrik di ruang server kami (setidaknya tidak secara langsung), tetapi bahkan dengan manfaat ini Amazon masih tampak sangat mahal).

tel
sumber
2
Satu hal yang dapat saya katakan adalah bahwa Anda kehilangan beberapa biaya tenaga kerja untuk administrasi dan pemeliharaan cluster. Dalam pengaturan akademik, seseorang harus menjadi admin cluster dan melakukan semua pekerjaan kasar, seperti pembaruan dan peningkatan sistem OS, instalasi perangkat lunak baru, dukungan teknis ketika cluster turun, dan sebagainya. Tugas-tugas ini tanpa rasa terima kasih, dan tergantung pada keterampilan administrator, mungkin memerlukan banyak waktu. Cluster EC2 akan mengurangi jam kerja yang dibutuhkan untuk pemeliharaan kluster.
Geoff Oxberry
1
Yah, Anda jelas punya perangkat keras yang murah. Saya telah menghitung biaya selama 3 tahun untuk cluster 192-core di tempat kerja saya sebelumnya dan ternyata lebih dari $ 850 per core per tahun. Belum lagi semua masalah yang kami alami dengan sistem daya dan pendingin ...
Hristo Iliev
@ GeoffOxberry Anda membuat poin bagus tentang biaya tenaga kerja. Di lab saya adalah admin, jadi saya tidak memikirkan hal-hal seperti itu. Kadang-kadang membuat frustrasi, itu adalah kerja cinta. Jika saya memiliki uang tunai dan meletakkannya di suatu tempat, saya akan mengikuti petunjuk (jarang) di blog ini dan mencoba membangun Watson saya sendiri.
telepon
@HristoIliev Saya bahkan tidak berpikir itu murah. Jika Anda bersedia mengambil kluster "bekas ringan" dari Dell, Anda dapat menekan biayanya menjadi ~ $ 200 per inti. Bisakah Anda ceritakan lebih banyak tentang perangkat keras di tempat kerja Anda sebelumnya?
telepon
1
Ini adalah sistem yang dibuat khusus dengan 12 twin supermicro dual-socket Xeon chassis (24 node, 48 E5420s) dengan 16 GiB ECC RAM pada setiap node, satu mesin Nehalem socket tunggal dengan 2 Tesla M2090s, sebuah saklar InfiniBand 24-port, satu file server dengan 4 disk, dua UPS 10 kVA, dua AC. Kami mendapatkannya dalam beberapa fase selama periode proyek tiga tahun. Bukan yang terbesar dari yang terbesar tetapi masih ~ total EUR 100k (harga akademik terbaik di Bulgaria).
Hristo Iliev

Jawaban:

15

Keuntungan utama, menurut saya, menggunakan sumber daya berbasis Cloud adalah fleksibilitas, yaitu jika Anda memiliki beban kerja yang fluktuatif, Anda hanya membayar untuk apa yang Anda butuhkan.

Jika ini tidak terjadi dalam aplikasi Anda, yaitu Anda tahu Anda akan memiliki beban kerja yang dapat diukur dan konstan, maka Anda mungkin lebih baik membangun cluster sendiri. Di Cloud, Anda membayar untuk fleksibilitas, dan jika Anda tidak membutuhkan fleksibilitas, Anda akan membayar untuk sesuatu yang tidak Anda butuhkan.

Jika beban kerja Anda fleksibel tetapi agak intens dan bergantung pada fitur perangkat keras tertentu (lihat jawaban aeismail), Anda mungkin ingin mencoba berbagi cluster dengan orang lain di universitas Anda untuk mengamortisasi siklus idle. Universitas lama saya menjalankan kluster bersama dengan "Model Pemegang Saham" di mana setiap grup dijamin mendapat bagian dari daya komputasi yang sebanding dengan investasi mereka dalam perangkat keras dan siklus idle dapat digunakan oleh siapa saja. Satu-satunya kesulitan adalah memusatkan administrasi cluster.

Pedro
sumber
3
Tepat, kuncinya adalah 'kuantitatif dan konstan'. Biasanya beban kerja bervariasi secara signifikan, dan sangat mungkin bagi pengguna yang kurang memanfaatkan untuk membuat biaya yang jauh lebih tinggi dari $ 300 / inti. Juga, dalam menyiapkan cloud compute, mudah untuk meningkatkan ke lebih banyak instance jika diperlukan sementara (seminggu sebelum konferensi?).
Phil H
1
+1 untuk ini. Penggunaan kluster saya beralih dari 0 ke kasus "Kamu melakukan apa !?" Saya tidak mampu membayar yang kedua ada di sekitar kapan pun saya membutuhkannya.
Fomite
7

Ada beberapa hal yang perlu dikhawatirkan saat melakukan komputasi awan dengan simulasi MD. Misalnya, Anda perlu khawatir tentang tata letak fisik prosesor di server farm di mana pekerjaan ini akan berjalan. Alasannya adalah bahwa, tergantung pada ukuran simulasi Anda, dan jenis perhitungan yang Anda jalankan (misalnya, sistem dengan elektrostatik), Anda mungkin sangat bergantung pada FFT — dan mendorong elektron ke berbagai prosesor dalam kelompok raksasa. dapat menjadi bagian yang sangat memakan waktu dari total waktu komputasi.

Selain itu, untuk sesuatu yang intensif data seperti MD, Anda harus memastikan bahwa Anda memiliki unggahan dan unduh koneksi yang cepat ke server, serta batasan yang masuk akal pada penyimpanan data. Jika tidak, banyak penghematan biaya bisa terhapus dalam hilangnya produktivitas dan biaya penyimpanan.

Untuk apa nilainya, lembaga kami baru saja membeli sekitar ~ 240 core untuk cluster lokal kami dengan biaya di bawah € 500 per inti. Biaya itu termasuk hosting dan administrasi, plus layanan, di kampus kami selama empat tahun. Atas dasar tahunan yang tampaknya sangat murah. Saya pikir itu mungkin yang terbaik dari kedua dunia — akses lokal, tetapi dikelola secara profesional tanpa memerlukan tim TI kami sendiri.

aeismail
sumber
5

Saya tidak punya pengalaman langsung dengan layanan cloud seperti Amazon EC2, tetapi biaya aktual per inti kemungkinan jauh lebih besar daripada yang Anda sebutkan: itu adalah biaya pembelian awal, listrik, pendinginan, ruang di gedung, perangkat keras pengganti. Ditambah biaya administrasi: menyiapkan OS dan layanan cluster, menjaga OS tetap up to date, mengatasi masalah antrian, dll. Saya sama sekali tidak akan terkejut jika jumlah semua ini dua kali lipat dari biaya pembelian awal. Tentu saja Anda mendapatkan fleksibilitas.

Bagi saya, model ini turun ke skala: Jika Anda memiliki cluster yang benar-benar besar (1000 core atau lebih) maka Anda dapat mengamortisasi waktu kerja, perbaikan, administrasi sistem karena ada cukup yang harus dilakukan untuk membuat profesional tetap sibuk. Jika Anda memiliki sekelompok kecil di mana tidak ada gunanya orang yang berdedikasi melakukannya, maka kemungkinan Anda membuat seseorang melakukannya yang pekerjaan pertamanya adalah melakukan sains, dan dalam hal ini waktu orang ini dihabiskan dengan buruk untuk pekerjaan administrasi seperti itu. Di sinilah layanan-permintaan seperti server cloud bersinar.

Wolfgang Bangerth
sumber
Di lab saya, listrik, pendingin, dan ruang untuk kluster kami semua dibayarkan dari potongan universitas kami mengambil dari hibah kami untuk biaya fasilitas. Potongan ini sama apakah kita menjalankan cluster atau tidak. Apakah Anda tahu jika ada situasi serupa di sebagian besar universitas, atau sebagian besar lab terjebak membayar untuk pendinginan dll langsung dari saku?
telepon
1
Saya percaya sebagian besar laboratorium memiliki pengaturan yang sama dengan Anda, tetapi toh akan salah jika mengabaikan biaya ini. Seseorang harus memikul mereka, bahkan jika itu bukan Anda secara pribadi. Mungkin ada baiknya meminta departemen / universitas untuk mendapatkan bagian yang lebih besar dari biaya tidak langsung yang dikembalikan kepada Anda jika Anda setuju untuk membangun cluster Anda secara virtual di cloud daripada secara fisik di kampus.
Wolfgang Bangerth
4

Sebagai tambahan untuk beberapa jawaban yang sudah sangat bagus, ada faktor lain yang perlu dipertimbangkan:

  • Apa pun biayanya, bagaimana Anda akan membayarnya?

Saya telah menemukan sejumlah hibah non-sepele yang tidak akan dalam keadaan apa pun membayar biaya perangkat keras, tetapi akan membayar waktu komputasi pada sesuatu seperti EC2. Jadi dalam beberapa keadaan pendanaan, sementara Anda mungkin dapat mendanai sekelompok "testbed" kecil dengan dana tidak terstruktur atau paket startup lab, untuk proyek-proyek skala besar mungkin merupakan satu-satunya cara untuk mendanai biaya komputasi Anda.

Pertimbangkan NIH:

ADP / Layanan Komputer: Layanan yang Anda sertakan di sini harus berupa riset layanan komputer khusus - seperti memesan waktu komputasi pada superkomputer atau mendapatkan perangkat lunak khusus untuk membantu menjalankan statistik Anda. Bagian ini tidak boleh termasuk komputer kantor desktop standar Anda, laptop, atau dukungan teknis standar yang disediakan oleh institusi Anda. Jenis-jenis biaya itu harus keluar dari biaya F&A.

Meskipun mungkin untuk meletakkan mesin cluster di bawah tajuk peralatan $ 5.000 +, dan Anda dapat membuat argumen yang bagus untuk itu, saya telah menemukan kedua pengulas yang gelisah tentang hal itu, dan universitas yang ragu-ragu tentang biaya berkelanjutan untuk mempertahankan sistem.

Beberapa hibah bahkan lebih ketat. Satu hibah yang saat ini saya baca adalah sebagai berikut:

Dana juga tidak dapat digunakan untuk perangkat keras komputer

Sering kali lebih mudah untuk mendapatkan cluster yang dibayar dengan biaya langsung jika berbasis EC2 atau salah satu dari banyak analog daripada membeli perangkat keras, terutama jika lembaga Anda pelit dengan biaya tidak langsung. Ini mungkin tidak berlaku untuk Anda, tetapi untuk beberapa orang.

Fomite
sumber
Saya pikir itu bukan argumen yang bagus. Saya hanya akrab dengan sistem pendanaan di AS tetapi di sana jika Anda memasukkan sejumlah uang ke dalam kategori "Peralatan" Anda dapat menggunakannya untuk membeli sebuah cluster. Tentu saja, jika kategori itu kosong, maka Anda telah meminta set dolar yang salah. Peralatan sebenarnya memiliki keuntungan yang bagus karena jika itu adalah satu peralatan yang di atas harga pembelian $ 5k, Anda tidak perlu membayar sama sekali (setidaknya di universitas kami).
Wolfgang Bangerth
@WolfgangBangerth Lihat edit saya untuk detail - meletakkannya di bawah kategori "Peralatan" mungkin tidak diijinkan.
Fomite
Ya, jika ini adalah kondisinya maka tidak ada yang bisa Anda lakukan. Tetapi saya telah menemukan bahwa jika Anda memiliki kasus yang bagus mengapa Anda meminta uang peralatan dalam bentuk hibah maka pengulas biasanya mengikutinya - itu biasanya bukan sebagian besar dari jumlah keseluruhan. Tentu saja, jika uang itu belum dianggarkan untuk memulai, tidak ada yang bisa Anda lakukan setelah fakta.
Wolfgang Bangerth
0

Sudah banyak jawaban tuhan. Saya hanya ingin menambahkan dua poin kecil.

1.) Saya tahu bahwa IBM menawarkan sesuatu yang serupa. Jadi tergantung pada aplikasi Anda, mungkin ada baiknya membandingkan berbagai penawaran. Tidak hanya berkenaan dengan biaya tetapi juga peralatan.

2.) Tentu saja sebagian besar lab terlalu kecil untuk dapat berinvestasi ke dalam cluster mereka sendiri. Dengan demikian pertanyaannya adalah apakah tidak mungkin untuk mengumpulkan beberapa laboratorium bersama dan berinvestasi dalam kelompok yang dibagi antara laboratorium yang berbeda. Ini selain efek berbagi biaya yang jelas juga keuntungan dari distribusi beban yang lebih merata.

Azrael3000
sumber