Open main menu

Sshah

Joined 21 March 2019

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
= Octave on Public Clouds =
+
* Octave on Public Clouds
 
 
This description is for installing the latest released stable version of Octave and running it on instances on public clouds such as Amazon AWS. The user interacts with a desktop client which connects to the servers running octave over a secure internet connection.
 
 
 
Users often want to preserve code portability between desktop and the servers. Moreover, users may want to preserve the desktop interaction experience.
 
 
 
On Amazon AWS EC2, spot instances (and preemptible VMs on GC) permit use of powerful machines for short periods of time. Many octave computations run much faster on multicore machines. In addition, embarrassing parallelism can be easily exploited using octave packages such as parallel.
 
 
Because of network latency over the internet, user interaction that relies on sub milli-second response latency of a desktop does not work well.
 
 
 
This requires some changes to the standard desktop user interaction model, relying more on the faster local client response.  Jupyter notebook is an example of such an interface.
 
 
 
 
 
 
== AWS EC2 ==
 
 
 
 
 
=== Ubuntu ===
 
 
 
Installation of octave from source on Ubuntu LTS images published by Ubuntu is described first.
 
 
 
On AWS EC2, choose the official Ubuntu AMI for EC2 for your region.  See [https://cloud-images.ubuntu.com/locator/ec2/ Ubuntu cloud image locator]
 
 
 
 
 
=== Installing on Ubuntu LTS 16.04 LTS ===
 
 
 
sudo apt update
 
sudo apt install build-essential
 
 
 
 
=== Installing on Ubuntu LTS 18.04 LTS ===
 
 
 
== Connecting to the cloud instance ==
 
 
 
= Mac OS =
 
 
 
When you launch the EC2 instance, you can secure access to your instance using a ssh protocol on port 22.  You may want to limit the port 22 outbound access on the instance firewall to your IP address. 
 
 
 
 
 
If you are using X-11 for plotting in octave (gnuplot xterm), you will need to do X-11 forwarding using ssh -Y .  You will also need Xquartz installed on your machine and issue
 
 
 
  xhost + <your instance public IPV4 address> 
 
 
 
For qt graphics, you do not need the X-11 forwarding. 
 
 
 
 
 
== Octave Kernel in Jupyter Notebook Server ==
 
 
 
 
 
Because of network latency between the remote cloud server and the local client, response to user keystrokes is delayed. Running an octave kernel in Jupyter notebook avoids this because the local browser responds to keystrokes during editing.
 
 
 
This description only addresses single user Jupyter notebook server not the multi-user Jupyter Hub server.
 

Please note that all contributions to Octave may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Octave:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)