5,672 bytes added,
23:00, 26 November 2015 == Try relax at cloud.sagemath.com ==
This tutorial shows how to get relax running at cloud.sagemath.com.
'''cloud.sagemath.com is optimal for'''
* fully functional linux and python environment
* online accessibility
* rapid installation of relax
* testing purposes
* teaching
'''cloud.sagemath.com is not the optimal for'''
* long-time calculations stretching over several days
* multiple CPU's (above 4 CPU's )
=== pricing ===
* The benefits are well explained here: http://www.sagemath.org/library-why.html
* The pricing is here: https://cloud.sagemath.com/policies/pricing.html
* For the FAQ of sagemath, visit: https://github.com/sagemathinc/smc/wiki/FAQ
* Miling list: https://groups.google.com/forum/?fromgroups#!forum/sage-cloud
'''The meanings are'''
* '''Member hosting:''' This lets you move a project to a members-only server, which has much less load. If you have 16 of these, you can move 16 projects. You can change which projects you move at any time, though it can take a little while to move a project (depending on load).
* '''Network access:'''' This makes it so your project has 100% access to the whole internet, so you can connect to any external website. Otherwise, there is a small whitelist of sites (e.g., pypi, github) that a project may connect to.
* ''' Idle timeout''' You can allocate time between projects so that if you just shut your browser and come back (or aren't active), the project will continue running your code instead of just shutting down. By default, projects top running after 1 hour of not being actively used through a web browser.
* '''CPU shares:''' This allows you to increase your priority relative to other users on the same computer. So if the system is loaded, your code will run a bit faster than other users.
== Sign-up and ssh to account ==
Do the following
* Go to https://cloud.sagemath.com/
* Sign-up for account. Note, you don't even need a "working e-mail", as no confirmation mail is send. It just works.
=== Establish file access over SSH ===
At your own computer, create a SSH-keypair.
<source lang="bash">
tlinnet@linmac:.ssh$ ssh-keygen
</source>
{{collapsible script
| type = Click here to see the input to ssh-keygen
| lang = bash
| script =
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/tlinnet/.ssh/id_rsa): id_sage
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_sage.
Your public key has been saved in id_sage.pub.
The key fingerprint is:
SHA256:SqvIflxxxxx/xxxxxxxxxxxxx/XXXX tlinnet@linmac
The key's randomart image is:
+---[RSA 2048]----+
xxxxx
+----[SHA256]-----+
}}
Then load your key and copy the content the public-key to clipboard
<source lang="bash">
tlinnet@linmac:~$ ssh-add $HOME/.ssh/id_sage
</source>
{{collapsible script
| type = Click here to see the input to ssh-keygen
| lang = bash
| script =
Enter passphrase for /Users/tlinnet/.ssh/id_sage:
Identity added: /Users/tlinnet/.ssh/id_sage (/Users/tlinnet/.ssh/id_sage)
}}
<source lang="bash">
tlinnet@linmac:~$ ssh-add -l
</source>
Then copy the content of the public key to clipboard
<source lang="bash">
cat $HOME/.ssh/id_sage.pub
# On a mac, one can copy directly to the the clipboard of the computer
cat $HOME/.ssh/id_sage.pub | pbcopy
# On linux
</source>
Then create a project at cloud.sagemath.com
* https://cloud.sagemath.com/projects
* Click at the project, and click then on the '''settings''' wrench.
* Under the info box '''Project control''', there is a button to '''>_ SSH into your project...'''
* Then click on the link to '''~/.ssh/authorized_keys, '''
* In the next window, paste in the line from before of '''cat $HOME/.ssh/id_sage.pub'''
* Save and close the tab of '''~/.ssh/authorized_keys, '''.
* Click again on the '''settings''' wrench.
* Again under the info box '''Project control''', there is a button to '''>_ SSH into your project...'''
* Here comes the '''USER@HOST''' info you need
It could look like this:
79688471c8704aa2b7b0be59d626e9cf@compute2-us.sagemath.com
From you own terminal at your computer, try
<source lang="bash">
ssh 79688471c8704aa2b7b0be59d626e9cf@compute2-us.sagemath.com
</source>
To make things easier, you can but this in your SSH config file
<source lang="bash">
bash
SAGEUSER=79688471c8704aa2b7b0be59d626e9cf
SAGEHOST=compute2-us.sagemath.com
cat <<EOF >> $HOME/.ssh/config
Host sage
User $SAGEUSER
HostName $SAGEHOST
Compression yes
ForwardX11 yes
Port 22
EOF
cat $HOME/.ssh/config
</source>
Then try the connection
<source lang="bash">
ssh sage
</source>
==Inspect cloud.sagemath.com ==
When ssh connected to your project, try some of the following commands:
<source lang="bash">
uptime
whoami
lscpu
htop -u `whoami`
tmux
</source>
==Upload files to the server==
We download the latest version of relax and upload from your personal computer to the server.<br>
NOTE, you should have a webbrowser open where you are logged in to the project. The IDLE time of 1 hour could have closed the connection.
{{#tag:source|
bash
v={{current version relax}}
CDIR=$HOME/Downloads/relax_test
mkdir -p $CDIR
cd $CDIR
curl http://download.gna.org/relax/relax-$v.GNU-Linux.x86_64.tar.bz2 -o relax-$v.GNU-Linux.x86_64.tar.bz2
|lang="bash"
}}
Then copy it to the server, using SSH and the config file prepared before with the hostname '''sage'''
{{#tag:source|
#First fast check
touch test.txt
scp test.txt sage:
ssh sage
ls
exit
# Upload of approx 100 MB file
scp relax-{{current version relax}}.GNU-Linux.x86_64.tar.bz2 sage:
ssh sage
ls
exit
# Or use rsync
rsync --progress -avzhe ssh $CDIR sage:
ssh sage
ls
exit
|lang="bash"
}}