The ROBIN API

By Vegard Søyseth

vegardds@ifi.uio.no

 

Technical support:

robin-engineer@ifi.uio.no

ROBIN API

  • Background
  • Why an API?
  • Demos

The background

The local "Deep Learning Workstations"

The aim:

  • Real time applications
  • Weird software
  • Small scale training 
  • Local control

The local "Deep Learning Workstations"

The challenge(s) with the "Deep learning workstations"

Everybody was root which kinda works, but what about:

  • Security
  • Storage
  • Backup
  • User managment

The solution

It solves:

  • Security
  • Storage
  • Backup
  • User management
  • Networking
  • Systematical logging

The solution?

It doesn't solve:

  • "Weird" software 

So why have a ROBIN API?!

To access the workstations you need to go through the login cluster

ssh <username>@login.ifi.uio.no

If you want GUI applications:

ssh -Y <username>@login.ifi.uio.no

If you want port forwarding:

ssh -L <port>:<username>@login.ifi.uio.no:<port>
alias computing='/projects/robin/robin-engineer/workstation-status'

If you like the terminal like me, then add this to your .bashrc file:

If you want to do your own SQL 

sqlite3 /projects/robin/robin-engineer/robin_ml_logging/logs.db

SQL example: 

SELECT * 
FROM logs 
ORDER BY time_created ASC LIMIT 10;

In the web browser

Using curl or wget

curl https://api.robin.uiocloud.no/ws/md

curl:

wget --output-document=torre.jpg "https://api.robin.uiocloud.no/um/snapshot?printer=torre"

wget:

In conclusion:

In conclusion:

The aim for the ROBIN API is to increase the availability of ROBINS services

You can use the API in:

  • The terminal
  • Scripts
  • In a web browser

If you want to contribute:

One last thing...

[vegardds@dunder ~]$ nvidia-smi
Wed Feb  3 23:35:52 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.32.03    Driver Version: 460.32.03    CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce RTX 3090    Off  | 00000000:01:00.0 Off |                  N/A |
| 30%   33C    P8    18W / 350W |    301MiB / 24267MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      4195      G   /usr/libexec/Xorg                  18MiB |
|    0   N/A  N/A      4265      G   /usr/bin/gnome-shell               53MiB |
|    0   N/A  N/A      5294      G   /usr/libexec/Xorg                 197MiB |
|    0   N/A  N/A      5504      G   /usr/bin/gnome-shell               28MiB |
+-----------------------------------------------------------------------------+

Links:

ROBIN API

By Vegard Søyseth

ROBIN API

Showreel with welcome message to Masters students

  • 270