J'ai R fonctionnant sur amazon EC2, en utilisant une version modifiée du bioconducteur AMI . Actuellement, j'utilise putty pour ssh dans mon serveur, en commençant R à partir de la ligne de commande, puis en copiant et en collant mon script à partir de notepad ++ dans ma session putty.
Le truc, c'est que je déteste couper et coller. Cela semble être l'âge de la pierre et j'ai parfois des problèmes de tampon étranges qui bousillent mon code. Je ne peux pas utiliser RStudio , car il ne prend pas en charge le multicœur , dont je dépend fortement.
Quelle est la façon la plus élégante de procéder?
/ Edit: Merci pour toutes les bonnes suggestions. Pour l'instant, je suis passé à l'utilisation de foreach avec le backend doRedis, qui fonctionne très bien sur mon Mac, mon PC et sur Amazon via RStudio. Ce changement a été assez facile une fois que j'ai appris à écrire une fonction qui émule "lapply" en utilisant "foreach". (De plus, doRedis est génial!)
Réponses:
Je peux penser à plusieurs façons. Je l'ai fait un peu et voici les moyens que j'ai trouvés les plus utiles:
la source
doRedis
je ne peux que refaire des trucs; une entrée énorme n'est pas la seule raison des calculs HPC.Le moyen le plus pratique consiste simplement à installer le serveur VNC et un environnement léger comme XFCE et à vous faire une session virtuelle que vous pouvez utiliser où vous le souhaitez (il persiste les déconnexions), c'est-à-dire quelque chose comme ceci:
Les avantages supplémentaires sont que vous pouvez utiliser votre presse-papiers local dans le bureau virtuel et voir les tracés R bien plus rapidement que via le transfert ou la copie de fichiers image X11.
Il faut un certain effort pour tout configurer correctement (X init, tunnel ssh), mais Internet regorge de tutoriels pour y parvenir.
la source
Je ne sais pas comment Amazon EC2 fonctionne, alors peut-être que mes solutions simples ne fonctionnent pas. Mais j'utilise normalement scp ou sftp (via WinSCP si je suis sous Windows) ou git.
la source
J'utiliserais rsync pour pousser les scripts et les fichiers de données vers le serveur, puis "nohup Rscript myscript.R> output.out &" pour exécuter les choses et une fois terminé, rsync pour extraire les résultats.
la source
screen
outmux
valent mieux quenohup
- ils détachent également le script pour qu'il ne soit pas tué par la déconnexion, mais permettent de rattacher la session et de recommencer, même à partir d'un autre ordinateur client.tmux
peut même être utilisé comme une sorte de gestionnaire de fenêtres en mode texte.VIM + tmux + VIM Slime. Vous obtenez le meilleur éditeur de texte et la possibilité d'envoyer du code de l'éditeur à la ligne de commande R (comme dans Rstudio).
la source
J'utilise R Studio sur EC2 tout le temps grâce aux AMI créées par Louis Aslett . Vous n'avez pas besoin de connaître SSH ou quoi que ce soit (autre que R, bien sûr). Vous avez juste besoin d'un compte EC2. Comme mentionné dans l'une des autres réponses, R Studio prend en charge l'informatique parallèle, via le package foreach par exemple. Cela permet vraiment d'exploiter la puissance de l'EC2. En utilisant une instance optimisée pour le calcul (32 cœurs), j'ai été en mesure de réduire considérablement le temps de formation pour mes modèles ML, presque gratuitement (quelques dollars par heure).
la source