Saya menjalankan R di amazon EC2, menggunakan versi modifikasi biokonduktor AMI . Saat ini, saya menggunakan dempul untuk ssh ke server saya, mulai R dari baris perintah, dan kemudian menyalin dan menempelkan skrip saya dari notepad ++ ke sesi dempul saya.
Masalahnya, saya benci memotong dan menempel. Rasanya batu zaman dan saya kadang-kadang mendapatkan masalah buffering aneh yang mengacaukan kode saya. Saya tidak dapat menggunakan RStudio , karena tidak mendukung multicore , yang sangat saya andalkan.
Apa cara yang lebih elegan untuk melakukan ini?
/ Sunting: Terima kasih atas semua saran yang bagus. Untuk saat ini, saya telah beralih menggunakan foreach dengan backend doRedis, yang bekerja sangat baik di Mac, PC saya, dan di amazon melalui RStudio. Pergantian ini cukup mudah setelah saya belajar menulis fungsi yang mengemulasi "lapply" menggunakan "foreach." (Juga, doRedis luar biasa!)
Jawaban:
Saya bisa memikirkan beberapa cara. Saya sudah melakukan ini cukup banyak dan inilah cara yang menurut saya paling berguna:
sumber
doRedis
hanya bisa melakukan hal-hal redis; input besar bukan satu-satunya alasan perhitungan HPC.Cara yang paling nyaman adalah hanya dengan menginstal VNC server dan beberapa lingkungan ringan seperti XFCE dan menjadikan diri Anda sebuah sesi virtual yang dapat Anda gunakan dari mana pun Anda inginkan (itu tetap terputus), yaitu sesuatu seperti ini:
Barang tambahan adalah Anda dapat menggunakan clipboard lokal di desktop virtual dan melihat plot R jauh lebih cepat daripada melalui penerusan X11 atau menyalin file gambar.
Dibutuhkan beberapa upaya untuk mengatur semuanya dengan benar (X init, ssh tunnel), tetapi internet penuh dengan tutorial tentang hal itu.
sumber
Saya tidak tahu bagaimana Amazon EC2 bekerja, jadi mungkin solusi sederhana saya tidak berfungsi. Tapi saya biasanya menggunakan scp atau sftp (melalui WinSCP jika saya menggunakan Windows) atau git.
sumber
Saya akan menggunakan rsync untuk mendorong skrip dan file data ke server, lalu "nohup Rscript myscript.R> output.out &" untuk menjalankan sesuatu dan ketika selesai, rsync untuk menarik hasilnya.
sumber
screen
atautmux
lebih baik daripadanohup
- mereka juga melepaskan skrip sehingga tidak akan terbunuh oleh logout, tetapi memungkinkan untuk memasang kembali sesi dan memulai kembali, bahkan dari komputer klien lainnya.tmux
bahkan dapat digunakan sebagai semacam window manager mode teks.VIM + tmux + VIM Slime. Anda mendapatkan editor teks terbaik dan kemampuan untuk mengirim kode dari editor ke baris perintah R (seperti di Rstudio).
sumber
Saya menggunakan R Studio di EC2 sepanjang waktu berkat AMI yang dibuat oleh Louis Aslett . Anda tidak harus tahu SSH atau apa pun (selain R, tentu saja). Anda hanya perlu akun EC2. Seperti disebutkan dalam salah satu jawaban lain, R Studio memang mendukung komputasi paralel, misalnya melalui paket foreach . Ini benar-benar memungkinkan memanfaatkan kekuatan EC2. Dengan menggunakan instance yang dioptimalkan oleh komputasi (32 core), saya dapat secara signifikan mengurangi waktu pelatihan untuk model ML saya dengan hampir tanpa biaya (beberapa dolar per jam).
sumber